Getting started with AccuSERP
GuideFrom API token to your first parsed Google results page in four requests.
AccuSERP runs searches asynchronously. You queue a keyword, we fetch and parse the Google results page, and you collect the result when it is ready. This guide walks through that flow once, by hand. The full parameter reference is in the API docs.
1. Get your API token
Tokens live on the AccuSERP dashboard in your account. Send the token as a bearer header on every request:
Authorization: Bearer your-auth-tokenA missing or invalid token gets a 401 response.
2. Pick a locale
GET /v1/engines lists the supported engines and their locales. A locale such as en-us bundles Google's country domain, language and TLD:
curl https://api.accuserp.com/v1/engines \
-H "Authorization: Bearer $ACCUSERP_API_TOKEN"Need a combination that is not in the list? Pass gl, hl and tld together instead. To pin the search to a place, add geo (a free-form location such as New York, NY, USA), a latitude/longitude pair, or a uule string. Use one location strategy per request.
3. Queue a keyword
POST /v1/keywords takes form-encoded fields. Give it a callback URL and we POST you a notification when the result is ready, which beats polling: it is cheaper for both sides and not throttled.
curl -X POST https://api.accuserp.com/v1/keywords \
-H "Authorization: Bearer $ACCUSERP_API_TOKEN" \
--data-urlencode "keyword=specialty coffee roasters" \
--data-urlencode "locale=en-us" \
--data-urlencode "geo=Austin, TX, USA" \
--data-urlencode "callback=https://your-server.example.com/accuserp?secret=s3cr3t"The response echoes your parameters, the request id, and a cost object with the exact charge in credits. A plain page costs 10 credits.
Callback URLs must be HTTPS on port 443 or 80 and resolve to a public host. Payloads are not signed, so put a shared secret in the URL, as above, and check it on every incoming POST.
4. Collect the result
When the search completes, your callback receives a form-encoded POST with the id, the status and a json_callback URL. Fetch the parsed result with that id:
curl "https://api.accuserp.com/v1/results?id=<id>" \
-H "Authorization: Bearer $ACCUSERP_API_TOKEN"The JSON contains serp (organic results keyed by position), ads, shopping, People Also Ask, related searches and metadata about the search. Add format=html to get the raw page instead, if the keyword was queued with save_html=true.
Results are stored for two days as JSON and three hours as HTML, so save what you need on your side.
Options worth knowing
| Option | What it does | Cost |
|---|---|---|
num_pages=1..10 | Scrape several result pages in one request | 10 credits per page |
mobile=true | Search as a mobile device | Included |
udm=1 | Google Places | Included |
priority=true | Jump ahead of the standard queue | + 5 credits per page |
js_rendering=true | Render the page in a full browser, with AI Overviews and pixel coordinates per element | + 10 credits per page |
Keep an eye on the X-RateLimit-Remaining header. When it reaches zero you get a 429 with a Retry-After header; GET /v1/status shows your limits and remaining credits without counting against them.
Make AccuSERP your data provider
Get your API token, queue a keyword, and have parsed Google results in your callback within minutes.