Find where a url/domain ranks for a keyword across Google result pages.
const url = 'https://api.serp.cheap/v1/rank';const options = { method: 'POST', headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'}, body: '{"url":"example","q":"example","query":"example","gl":"br","hl":"example","tbs":"qdr:h","pages":1,"match_type":"domain"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.serp.cheap/v1/rank \ --header 'Content-Type: application/json' \ --header 'x-api-key: <x-api-key>' \ --data '{ "url": "example", "q": "example", "query": "example", "gl": "br", "hl": "example", "tbs": "qdr:h", "pages": 1, "match_type": "domain" }'Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
The domain or full URL to locate in the results.
The keyword to rank for (alias of query).
How many result pages to scan (each ~10 results). Billed per page.
Domain = any result on the registrable domain; exact = the identical URL.
Responses
Section titled “ Responses ”The ranking outcome (found/rank/matches). 200 with partial=true if some pages failed.
object
Absolute rank of the best match, or null if not found.
object
Absolute 1-based rank across scanned pages.
Every organic result across the scanned pages (absolute position).
object
object
Scraped page content as markdown (present when scrape was requested and succeeded).
Screenshot (1920x1080 by default), 48h presigned URL (present when scrape.screenshot was requested).
Why this page couldn’t be scraped (not billed). Mutually exclusive with content.
True when one or more pages failed to fetch.
object
Example
{ "match_type": "domain"}A typed error.
object
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.
Example generated
{ "error": "example", "message": "example", "details": "example", "retry_after_ms": 1, "required": 1, "balance": 1}A typed error.
object
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.
Example generated
{ "error": "example", "message": "example", "details": "example", "retry_after_ms": 1, "required": 1, "balance": 1}A typed error.
object
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.
Example generated
{ "error": "example", "message": "example", "details": "example", "retry_after_ms": 1, "required": 1, "balance": 1}A typed error.
object
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.
Example generated
{ "error": "example", "message": "example", "details": "example", "retry_after_ms": 1, "required": 1, "balance": 1}A typed error.
object
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.
Example generated
{ "error": "example", "message": "example", "details": "example", "retry_after_ms": 1, "required": 1, "balance": 1}A typed error.
object
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.
Example generated
{ "error": "example", "message": "example", "details": "example", "retry_after_ms": 1, "required": 1, "balance": 1}A typed error.
object
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.
Example generated
{ "error": "example", "message": "example", "details": "example", "retry_after_ms": 1, "required": 1, "balance": 1}A typed error.
object
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.
Example generated
{ "error": "example", "message": "example", "details": "example", "retry_after_ms": 1, "required": 1, "balance": 1}A typed error.
object
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.
Example generated
{ "error": "example", "message": "example", "details": "example", "retry_after_ms": 1, "required": 1, "balance": 1}