Google Keyword Rank Tracker — Serpstat Alternative
Pricing
from $40.00 / 1,000 seo observations
Google Keyword Rank Tracker — Serpstat Alternative
Track current Google keyword rankings and compare target domains in the same SERP. Export positions, top domains, related queries, and source evidence; optionally cluster keywords by shared ranking domains.
Pricing
from $40.00 / 1,000 seo observations
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
21 days ago
Last modified
Categories
Share
What is Google Keyword Rank Tracker — Serpstat Alternative?
Google Keyword Rank Tracker — Serpstat Alternative checks the current Google results for your keywords and returns one dataset row per keyword. In rank mode each row returns where your target domain ranks, the rank and URL of up to five competitor domains in the same results page, the top ranking domains, People Also Ask questions, and the exact search location, language, device and source URL. In clustering mode it groups keywords by the domains they share in the top results. SEO consultants, in-house search marketers, content strategists and AI agents use it for a current rank snapshot or a SERP-evidence keyword grouping.
Why SEO teams use it
- You and your competitors in one SERP.
targetRank,targetUrlandcompetitorRankscome from the same results page, so the comparison is like for like. - SERP context per keyword.
topDomainsandpeopleAlsoAskshow who owns the page and what searchers ask next. - Fixed search context.
locationName,languageCodeanddeviceare recorded on every row with asourceUrlyou can open. - Evidence-based clustering.
keyword_clusteringgroups phrases whose top results share domains, usingclusterSimilarityThreshold. - Bounded runs.
maxKeywordscaps each run, which also caps the number of billed observations.
Best fit for this Actor
- Best fit for a current position check of one domain against a few direct competitors across a focused keyword list.
- Use
rank_snapshotwhen the decision is about one site, andkeyword_clusteringwhen the decision is which phrases can share a page. - Designed for current snapshots with the search context saved; persistent project history comes from scheduling runs and keeping the datasets.
- When you want deeper domain-level metrics before choosing keywords, start with SEO Competitor Analyzer — Semrush Alternative and then pass the chosen phrases into
keywordshere.
How it compares with Serpstat
| Decision | This Actor | Serpstat | Good fit |
|---|---|---|---|
| Scope | Current rank snapshot and SERP-overlap clustering for a keyword list | A broad SEO platform with projects, history, backlinks and audits | This Actor for a machine-readable snapshot inside a workflow |
| Billing | Pay per event per keyword observation | Plan tiers | Compare on your check frequency |
| Output | Dataset rows with source URL and collection time | Dashboards and exports | This Actor when the next step is a pipeline or an agent |
Serpstat is a trademark of its owner. This independent Actor is not affiliated with or endorsed by Serpstat.
Example workflow: a monthly rank check for an SEO client
An SEO consultant starts with twelve priority keywords for a client in the SEO-tools space. She runs rank_snapshot with the client's targetDomain, two rivals in competitorDomains, locationName: "United States" and device: "desktop". The dataset returns targetRank, competitorRanks, topDomains and peopleAlsoAsk for each keyword. She exports the rows into her report, compares positions with last month's dataset, and turns the People Also Ask questions into content ideas for the pages that slipped. She schedules the same input monthly, then runs keyword_clustering on new phrases before briefing writers.
Input
{"mode": "rank_snapshot","keywords": ["technical seo audit", "seo audit checklist", "seo competitor analysis"],"targetDomain": "example.com","competitorDomains": ["moz.com", "semrush.com"],"locationName": "United States","languageCode": "en","device": "desktop","maxKeywords": 3}
Group keywords by shared SERP domains:
{"mode": "keyword_clustering","keywords": ["technical seo audit", "seo audit checklist", "website seo audit"],"locationName": "United States","languageCode": "en","device": "desktop","maxKeywords": 3,"clusterSimilarityThreshold": 0.3}
| Field | Type | What it controls |
|---|---|---|
mode | string | rank_snapshot or keyword_clustering. Default rank_snapshot. |
keywords | array of strings | Google search phrases; blanks and duplicates are removed. Required. |
targetDomain | string | Domain whose position is checked in rank mode, such as example.com. |
competitorDomains | array of strings | Up to five domains compared in the same results. |
locationName | string | Google location such as United States, London, England or Austin, Texas. Default United States. |
languageCode | string | Google language code such as en, de or es. Default en. |
device | string | desktop or mobile. Default desktop. |
maxKeywords | integer | Unique phrases processed, 1 to 20. Default 5. |
clusterSimilarityThreshold | number | Shared-domain similarity needed to group phrases, 0.1 to 0.9. Default 0.3. |
Output
One row per keyword. A real rank_snapshot row (location token in the source URL shortened):
{"operation": "rank_snapshot","keyword": "seo competitor analysis","targetDomain": "example.com","targetFound": false,"targetRank": null,"targetRankAbsolute": null,"targetUrl": null,"competitorRanks": [{ "domain": "semrush.com", "rank": 8, "url": "https://www.semrush.com/blog/competitive-analysis/" },{ "domain": "moz.com", "rank": 3, "url": "https://moz.com/seo-competitor-analysis" }],"clusterId": null,"clusterKeywords": null,"clusterSize": null,"maxClusterOverlap": null,"topDomains": ["spyfu.com", "seranking.com", "moz.com", "siteimprove.com", "seobility.net", "searchengineland.com", "semrush.com"],"relatedQueries": [],"peopleAlsoAsk": ["What is SEO competitor analysis?","What is the best tool for competitor analysis in SEO?","How to find your SEO competitors?"],"searchEngine": "google.com","locationName": "United States","locationCode": 2840,"languageCode": "en","device": "desktop","serpDepth": 10,"sourceUrl": "https://www.google.com/search?q=seo%20competitor%20analysis&hl=en&gl=US&ie=UTF-8","collectedAt": "2026-09-06T21:11:49.301Z","warnings": []}
| Field | What it contains |
|---|---|
operation, keyword | Mode and the phrase observed |
targetDomain, targetFound, targetRank, targetRankAbsolute, targetUrl | Your domain's position and ranking URL when it appears in the inspected results |
competitorRanks | Each competitor's domain, rank and URL in the same results |
clusterId, clusterKeywords, clusterSize, maxClusterOverlap | Cluster assignment and overlap in clustering mode |
topDomains | Domains in the inspected top results |
relatedQueries, peopleAlsoAsk | Related searches and People Also Ask questions from the page |
searchEngine, locationName, locationCode, languageCode, device, serpDepth | The search context |
sourceUrl, collectedAt | The search URL and collection time |
warnings | Row-level notes |
OUTPUT and RUN_SUMMARY in the key-value store report the run outcome, such as COMPLETE, PARTIAL or VALID_EMPTY.
Pricing
This Actor uses Pay per event with Apify platform usage included in the event price. You pay one SEO observation event for each keyword row saved and one Actor Start event per run. The live Pricing tab on this page shows the current event prices.
Worked example in words: a rank snapshot of twelve keywords saves twelve rows, so it costs twelve SEO observation events plus one start event. maxKeywords caps each run at up to twenty observations.
Use with AI agents (MCP)
Connect the Actor to an MCP client through Apify MCP and ask:
Check example.com and two competitors for these five keywords in the United States on desktop. Return each domain's current rank and URL, the top domains, and People Also Ask questions, with the source URL and collection time.
Agent checklist:
- Set
mode,keywords,targetDomain,competitorDomainsand the search context, withmaxKeywordsmatching the request. - Read rows with
get-dataset-items; reporttargetRankandcompetitorRanksper keyword. - Cite
sourceUrlandcollectedAtas provenance, and readOUTPUTfor the run outcome. - Cost scope: one SEO observation event per keyword, capped by
maxKeywords.
API example
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~serpstat-alternative/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "rank_snapshot", "keywords": ["technical seo audit"], "targetDomain": "example.com", "competitorDomains": ["moz.com"], "maxKeywords": 1}'
Related SEO tools
| Your next step | Use | Why |
|---|---|---|
| When you want domain metrics before picking keywords | SEO Competitor Analyzer — Semrush Alternative | Domain overview, keywords and competitors |
| When you track positions for longer keyword lists | Keyword Rank Tracker — Google SERP Positions | Rank tracking across more phrases |
Best results
| Starting situation | Helpful action | Expected outcome |
|---|---|---|
| Comparing runs over time | Keep locationName, languageCode and device the same | Like-for-like positions |
| A local business | Set locationName to the city, such as Austin, Texas | Results for that market |
| Mobile visibility | device: "mobile" | Positions from a mobile profile |
| Planning content pages | keyword_clustering with three or more related phrases | Phrases grouped by shared top domains |
| Tighter or looser groups | Raise or lower clusterSimilarityThreshold | Fewer, stricter clusters or broader ones |
| Content ideas | Read peopleAlsoAsk on each row | Questions searchers ask next |
Each row covers the top ten organic results, so a targetFound of false tells you the domain sits outside that window for the keyword.
Builder's note
I kept one row per keyword with the search context and source URL on it, so every position can be traced back to the exact results page it came from. I built clustering on shared top domains because two phrases that surface the same sites usually serve the same intent, and that evidence is easier to defend in a content brief than a list of similar-sounding words.
FAQ
Does it keep rank history?
Each run is a current snapshot. Schedule the same input and keep the datasets to build history.
How many competitors can I compare?
Up to five domains in competitorDomains.
Does it change anything on Google or my site?
No. It is read-only and writes observations to the run dataset.
Responsible use
Use this Actor for public search research, and follow applicable laws and your organization's data policies. Google results vary by time, location, language and device, so each row records its context and collection time rather than a universal rank.