Skip to main content

Google SERP Tracking API

Access and manage SERP project data with authenticated API requests, using the current endpoint reference for your integration.

What it is

The Google SERP Tracking API lets you access and manage Keyword.com ranking data programmatically. Use it to connect ranking data to dashboards, client portals, reporting pipelines, and internal tools.


Why it matters

The API helps you automate work that would otherwise require repeated exports or manual updates. You can:

  • Retrieve project and keyword data for reporting.

  • Review ranking history and movement.

  • Manage tracked keywords from your own tools.

  • Request on-demand ranking refreshes when needed.


What you can work with

Available endpoints cover projects, groups, keywords, ranking data, history, and reporting-related information. The fields and operations depend on the endpoint you use.
​

Use the SERP API reference for request schemas, supported fields, and examples. Check the specific endpoint before assuming a value shown in the dashboard is available in its response.


Where to find your API token

  1. Open the account menu.

  2. Select Account Settings.

  3. Find API Token on the Account page.

  4. Use the copy control when you need the token for your integration.

API-token controls with the token hidden; personal account details are excluded.

Important: Keep the token private. Anyone with an account token may be able to read or change account data. Do not include a real token in screenshots, shared reports, client-side code, or public repositories.


Make an authenticated request

The API base URL is https://app.keyword.com/api/v2. Send the token in an Authorization: Bearer header .

For example, this read request lists active projects:

curl https://app.keyword.com/api/v2/groups/active \   --header 'Authorization: Bearer YOUR_API_TOKEN'

Replace YOUR_API_TOKEN in your own secure environment. Responses use JSON. Follow the endpoint’s pagination settings when retrieving a list .

The reference also describes project-scoped authentication for integrations that should access a specific project. Use the access level appropriate to the integration.


Keyword updates and allowances

New keywords are queued for ranking updates according to the plan. Requesting data from the API does not itself create a new ranking check .

Use the relevant refresh endpoint when you need an on-demand update. Plan allowances and tracking limits still apply. Keep write requests focused and check the endpoint’s accepted batch size and validation rules before sending a large change.


Adding keywords in bulk

Send keyword additions to POST /api/v2/groups/{project_name}/keywords, using the request schema in the SERP API reference.

An entry already tracked with the same project, keyword text, URL, Google region, language, location, device, Maps business, and include-subdomains setting updates the existing keyword instead of creating a duplicate. Matching is case-insensitive. Its tags are replaced by the tags supplied in the request.

Already-tracked matching entries do not use the new-keyword allowance or trigger an extra ranking scan. New keywords and restored deleted keywords still count toward the applicable limits. If the new additions exceed the remaining allowance, the request is rejected.

Large requests can time out. Use manageable batches and check the result before retrying a failed request; avoid repeatedly submitting the same bulk change.


Refresh selected keywords by ID

Use POST /api/v2/keywords/refresh with a non-empty data.keyword_ids list to refresh specific tracked keywords. For example, replace the example ID with an active keyword ID from your account:

{"data":{"keyword_ids":[123456]}}

Important: An empty request body refreshes every active keyword on the account. Send the intended keyword IDs explicitly.

Each matched keyword uses one on-demand refresh from the account’s refresh allowance, which resets with the plan’s daily or weekly cycle, not AI Visibility credits. The request requires keyword write permission. Inactive IDs or IDs outside the account are skipped.

If the request exceeds the remaining refresh allowance, the API returns 403 with code 10003 and queues no refreshes.


Handle limits and errors

Check the current rate-limit guidance for the endpoint in the API reference.

  • 401: Check the token and authentication header.

  • 403: Check access permissions.

  • 404: Check the resource identifier.

  • 422: Review the validation message and request fields.

  • 429: Slow down and retry with exponential backoff.

Avoid immediately repeating failed requests in a tight loop. Cache data where appropriate and log errors without recording the token.


Best practices

  • Begin with a read request and validate the response before building write automation.

  • Keep tokens in a secure server-side secret store.

  • Use pagination and avoid repeatedly fetching unchanged data.

  • Use stable project and keyword identifiers in your integration.

  • Review the endpoint documentation when adding a new operation.

Did this answer your question?