Skip to content

API overview

SerpResult has two public endpoints, both synchronous. GET /v1/query runs one search; POST /v1/bulk runs up to 50 in one request. Both answer JSON and are authenticated with a secret key.

https://api.serpresult.com

All requests go over HTTPS. Placeholder host until the launch domain is registered.

Terminal window
curl "https://api.serpresult.com/v1/query?query=serp+api&geo=us&num=3" \
-H "Authorization: Bearer sk_live_your_key"

The Quickstart has this call in Node and Python and walks through the response.

The optional source parameter (?source=zapier on GET /v1/query, a top-level or per-row source field on POST /v1/bulk) labels the search for your own attribution. It is stored with the query, cut to 32 characters. When you leave it out, API-key calls record api. It never changes the results or the cost, and is not returned in the response.

One credit per search. A provider failure (502, 504) is charged; a fault on our side (500) and a rejected request are not. Bulk charges one credit per row that was dispatched.

Quickstart

First call in under a minute. Quickstart

Rate limits

Per-credential limits and the headers that report them. Rate limits

Errors

The envelope and every code with its status. Errors

Targets & geo

What each of the six targets supports, the 193 countries, locale defaults. Targets & geo

Endpoints

GET /v1/query and POST /v1/bulk, generated from the OpenAPI document. Endpoints

The API serves its own OpenAPI 3.1 document at GET /openapi.json, no authentication needed. The endpoint pages here are generated from the same source.