Google Rank Tracker: SERP Keyword Positions
Pricing
from $3.00 / 1,000 keyword checks
Google Rank Tracker: SERP Keyword Positions
Track where your website ranks on Google for up to 1,000 keywords: position, ranking URL and change since the last run, plus up to 10 competitors, AI Overview citations and featured snippets. Any country, city, language, desktop or mobile, top 10 to top 100. Pay per keyword.
Pricing
from $3.00 / 1,000 keyword checks
Rating
0.0
(0)
Developer
VNCNT Labs
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 hours ago
Last modified
Categories
Share
Track where your website ranks on Google for up to 1,000 keywords per run. For each keyword you get your position, the ranking URL, and, from the second run on, the previous position, the change and a status (up, down, same, new, lost). Add up to 10 competitors and they are checked in the same searches at no extra cost. Every check also tells you whether Google showed an AI Overview and whether your site (and each competitor) is cited in it, plus featured snippets and the other SERP features on the page.
Any of 70+ countries, any city or region, any language, desktop or mobile, from the top 10 to the top 100. Schedule it daily or weekly and you have a rank tracker without a monthly subscription: you pay per keyword checked.
Built for:
- SEO agencies and freelancers: client rank reports by country, city and device, with competitor positions and visibility counts.
- Site owners, ecommerce and SaaS teams: watch your money keywords, get only the changes, catch drops early.
- AI-search watchers: see which keywords show AI Overviews and who gets cited.
What you get
Row (type) | What's in it | Charged |
|---|---|---|
ranking | one per keyword: position (organic rank, null if not in the checked depth), url, title, previousPosition, change (+3 = moved up 3), status, absolutePosition (counting every block on the page), rankingUrls and otherPositions (if several of your pages rank), competitors (position, change, status, URL, AI Overview citation for each), competitorsAhead, aiOverview, citedInAiOverview, aiOverviewUrls, aiOverviewSources, featuredSnippet, serpFeatures, topResults (top 3), totalResults, googleUrl, country, location, device, depthChecked, checkedAt | keyword-check (+ options below) |
domain-summary | one per tracked domain: keywords ranked, top 3 / top 10 / top 20 counts, average position, improved, declined, new and lost rankings | free |
serp-result | optional: the top N organic results per keyword (position, domain, URL, title, snippet, yours/competitor flags) | free |
Input examples
Top 30 (the default) on desktop in the US, with two competitors:
{ "domain": "example.com", "competitors": ["competitor-one.com", "competitor-two.com"],"keywords": ["best crm for small business", "crm software", "free crm"] }
Local mobile rankings in a city, top 20, scheduled daily, only changes in the dataset:
{ "domain": "acme-plumbing.com", "keywords": ["plumber near me", "emergency plumber", "water heater repair"],"location": "Austin,Texas,United States", "device": "mobile", "depth": 20, "outputChangesOnly": true,"monitorId": "acme-austin-mobile" }
UK edition, top 30, fast mode for a quick check:
{ "domain": "example.co.uk", "keywords": ["running shoes", "trail running shoes"], "country": "United Kingdom","depth": 30, "fastMode": true }
Tips
- History is kept per domain + location + language + device in your Apify account (key-value store
google-rank-tracker-history), or per Tracker name if you set one. The first run records positions; later runs add changes. - Output only changed keywords keeps scheduled datasets small. Every keyword is still checked (and charged); the run summary and the visibility rows cover all of them.
- Depth defaults to the top 30, which usually finishes in 1 to 4 minutes. Set
"depth": 100for the full top 100. - Fast mode answers in about 30 seconds. The standard queue usually takes 1 to 5 minutes for the top 20 or 30, and can take 15 minutes or more for the top 100, which is fine for scheduled tracking.
- City or region uses Google's location names:
City,Region,Country, e.g.Paris,Ile-de-France,France. If you leave the country off, the selected country is added. - Subdomains count as your site (
blog.example.commatchesexample.com). The best position is reported; other ranking pages are listed inotherPositions. - Search operators such as
site:are not supported.
Output example (one keyword)
{"type": "ranking", "keyword": "best running shoes", "domain": "runrepeat.com","position": 1, "previousPosition": 2, "change": 1, "status": "up","url": "https://runrepeat.com/guides/best-running-shoes", "title": "7 Best Running Shoes in 2026","absolutePosition": 2, "rankingUrls": 1, "otherPositions": [],"competitors": [{ "domain": "nike.com", "position": 6, "previousPosition": 6, "change": 0, "status": "same","url": "https://www.nike.com/w/mens-best-running-shoes-37v7jz76m50znik1zy7ok", "citedInAiOverview": false }],"competitorsAhead": 0, "competitorSummary": "nike.com: 6","aiOverview": true, "citedInAiOverview": true, "aiOverviewUrls": ["https://runrepeat.com/guides/best-running-shoes"],"featuredSnippet": false, "serpFeatures": ["ai_overview", "organic", "perspectives", "related_searches"],"country": "United States", "location": null, "language": "en", "device": "desktop","depthChecked": 100, "checkedAt": "2026-10-17T13:00:00Z", "chargedEvents": ["keyword-check", "extra-positions", "..."]}
The dataset has four views: Overview, Rankings (all fields), Visibility by domain and Top results per keyword. Export to CSV, Excel or JSON, or connect it to Google Sheets, Looker Studio, Slack or Zapier through Apify integrations.
Pricing (pay per event)
| Event | When it is charged |
|---|---|
| Actor start | once per run |
keyword-check | one keyword checked in the top 20 (your domain and all competitors) |
extra-positions | each further 10 positions checked beyond the top 20 (top 100 = 8) |
fast-mode | only with fast mode on: per 10 positions checked |
ai-overview | only with AI Overview checks on, and only for keywords where Google showed an AI Overview |
You are not charged for:
- keywords with no Google results, and failed checks;
- positions Google didn't have (a keyword with only 30 results is charged for the top 30 even if you asked for 100);
- competitors (any number up to 10), visibility rows, top-result rows and skipped inputs;
- anything beyond your run's maximum charge. The run stops cleanly and lists what it didn't process.
A keyword where your site isn't in the checked positions is still a completed check and is charged (position: null, status not_ranked or lost).
Apify free plan: 25 keywords and the top 30 per run. Any paid Apify plan unlocks up to 1,000 keywords and the top 100.
Use from AI agents (MCP)
AI assistants such as Claude, ChatGPT and Cursor can run this Actor through Apify's MCP server (https://mcp.apify.com). The agent can look up the Actor, read its input schema, run it and read the results. Runs use your own Apify account and are charged at the prices on this page.
- Actor name:
vncntlabs/google-rank-tracker - Server URL with only this tool:
https://mcp.apify.com?tools=vncntlabs/google-rank-tracker. The defaulthttps://mcp.apify.comalso works; the agent can then search Apify Store and call the Actor by name. - Claude (desktop app or claude.ai): Settings > Connectors > Add custom connector, paste the server URL, then sign in to Apify.
- ChatGPT: turn on Developer mode, then Settings > Apps & Connectors > Create, paste the server URL and choose OAuth.
- Cursor: run
/add-plugin apifyin Cursor chat and connect the Apify MCP server under Cursor Settings > Tools & MCPs, or add the server tomcp.json:
{ "mcpServers": { "apify": { "url": "https://mcp.apify.com?tools=vncntlabs/google-rank-tracker" } } }
Example prompt: "Use the Apify Actor vncntlabs/google-rank-tracker to check where example.com ranks on Google in the United States for "crm software" and "free crm", with competitor-one.com as a competitor."
To cap the cost of an agent's run, it can pass maxTotalChargeUsd in the run options.
FAQ
How accurate are the positions? Each check is a fresh Google search for the exact country, city, language and device, read by DataForSEO. Google personalises and changes results through the day, so think of it as a consistent measurement to compare over time. googleUrl opens the same search.
What does position count? Organic results only (ads, maps packs and other blocks are not counted). absolutePosition counts every block on the page.
Do I need an API key or a subscription? No. Results come through DataForSEO's licensed SERP API, included in the price.
Can I get search volumes too? Run the same keyword list through Keyword Search Volume, or use Domain SEO Data for a domain's ranked keywords and traffic estimates.
Is this an official Google API? No. This Actor uses DataForSEO's licensed API and is not affiliated with or endorsed by Google.