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
Open the account menu.
Select Account Settings.
Find API Token on the Account page.
Use the copy control when you need the token for your integration.
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.
