Skip to content

Fetch and extract a single arbitrary URL (content + optional screenshot).

POST
/v1/scrape
curl --request POST \
--url https://api.serp.cheap/v1/scrape \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '{ "url": "https://example.com", "render_js": false, "screenshot": false, "wait_for": "example", "wait_ms": 1, "screenshot_width": 1920, "screenshot_height": 1080 }'
Media type application/json
object
url
required

The page URL to fetch and extract.

string format: uri
<= 2048 characters
render_js
boolean
screenshot
boolean
wait_for
string
<= 200 characters
wait_ms
integer
<= 5000
screenshot_width
integer
default: 1920 >= 320 <= 1920
screenshot_height
integer
default: 1080 >= 320 <= 1920

Extracted page.

Media type application/json
object
url
required
string
status
integer
title
string
content

Extracted page content as markdown.

string
content_text
string
screenshot_url

48h presigned URL, present when a screenshot was requested.

string
stats
object
balance
integer
cost
integer
Example generated
{
"url": "example",
"status": 1,
"title": "example",
"content": "example",
"content_text": "example",
"screenshot_url": "example",
"stats": {
"balance": 1,
"cost": 1
}
}

A typed error.

Media type application/json
object
error
required

Machine code: invalid_request, missing_api_key, unknown_api_key, inactive_api_key, account_blocked, insufficient_credits, rate_limited, request_in_progress, too_many_concurrent_requests, service_temporarily_unavailable, result_timeout.

string
message
string
details
retry_after_ms
integer
required
integer
balance
integer
Example generated
{
"error": "example",
"message": "example",
"details": "example",
"retry_after_ms": 1,
"required": 1,
"balance": 1
}

A typed error.

Media type application/json
object
error
required

Machine code: invalid_request, missing_api_key, unknown_api_key, inactive_api_key, account_blocked, insufficient_credits, rate_limited, request_in_progress, too_many_concurrent_requests, service_temporarily_unavailable, result_timeout.

string
message
string
details
retry_after_ms
integer
required
integer
balance
integer
Example generated
{
"error": "example",
"message": "example",
"details": "example",
"retry_after_ms": 1,
"required": 1,
"balance": 1
}

A typed error.

Media type application/json
object
error
required

Machine code: invalid_request, missing_api_key, unknown_api_key, inactive_api_key, account_blocked, insufficient_credits, rate_limited, request_in_progress, too_many_concurrent_requests, service_temporarily_unavailable, result_timeout.

string
message
string
details
retry_after_ms
integer
required
integer
balance
integer
Example generated
{
"error": "example",
"message": "example",
"details": "example",
"retry_after_ms": 1,
"required": 1,
"balance": 1
}

A typed error.

Media type application/json
object
error
required

Machine code: invalid_request, missing_api_key, unknown_api_key, inactive_api_key, account_blocked, insufficient_credits, rate_limited, request_in_progress, too_many_concurrent_requests, service_temporarily_unavailable, result_timeout.

string
message
string
details
retry_after_ms
integer
required
integer
balance
integer
Example generated
{
"error": "example",
"message": "example",
"details": "example",
"retry_after_ms": 1,
"required": 1,
"balance": 1
}

A typed error.

Media type application/json
object
error
required

Machine code: invalid_request, missing_api_key, unknown_api_key, inactive_api_key, account_blocked, insufficient_credits, rate_limited, request_in_progress, too_many_concurrent_requests, service_temporarily_unavailable, result_timeout.

string
message
string
details
retry_after_ms
integer
required
integer
balance
integer
Example generated
{
"error": "example",
"message": "example",
"details": "example",
"retry_after_ms": 1,
"required": 1,
"balance": 1
}

A typed error.

Media type application/json
object
error
required

Machine code: invalid_request, missing_api_key, unknown_api_key, inactive_api_key, account_blocked, insufficient_credits, rate_limited, request_in_progress, too_many_concurrent_requests, service_temporarily_unavailable, result_timeout.

string
message
string
details
retry_after_ms
integer
required
integer
balance
integer
Example generated
{
"error": "example",
"message": "example",
"details": "example",
"retry_after_ms": 1,
"required": 1,
"balance": 1
}