Every search below runs live through a residential exit and comes back parsed — the same call your integration makes. Nothing here is cached.
Everything above runs through the same public API. With your API key, one HTTPS call returns the parsed SERP as JSON — no browser, no scraping.
Call the fleet directly — serpapi.exalive.ai round-robins across the
serving fleet (no gateway in the path). The tier is the port:
Ultra Fast: POST http://serpapi.exalive.ai:60005/api/serp
Standard: POST http://serpapi.exalive.ai:60006/api/serp
Header: X-API-Key: sk-your-token
Body: application/json
resolve_urls.curl -X POST http://serpapi.exalive.ai:60005/api/serp \
-H "X-API-Key: sk-your-token" \
-H "Content-Type: application/json" \
-d '{"keyword":"best running shoes","gl":"us","num":10}'
Standard tier (port 60006) with every link on the page and full URLs resolved:
curl -X POST http://serpapi.exalive.ai:60006/api/serp \
-H "X-API-Key: sk-your-token" \
-H "Content-Type: application/json" \
-d '{"keyword":"best web hosting","gl":"us","all_links":true,"resolve_urls":true}'
| Field | Type | Default | Description |
|---|---|---|---|
keyword | string | — | Required. The search query. |
gl | string | us | Country (geo) code, e.g. us, gb, de. |
hl | string | en | Interface language. |
num | int | 10 | Number of results. |
all_links | bool | false | Return every destination on the page (organic, sitelinks, videos, ads), each tagged with a type. |
resolve_urls | bool | false | Standard tier only. Follow Google's redirect wrapper to recover the full URL path instead of only the domain. |
format | string | json | Set to html to get the raw Google HTML instead of parsed JSON. |
JSON with organic (position, title, url, snippet),
people_also_ask, related_searches, optional
all_links, and a meta block with timing. It's exactly what
the JSON tab above shows. Authenticate with your own key; an invalid or missing
key returns 401.