Google Keyword Rank Tracker — Serpstat Alternative avatar

Google Keyword Rank Tracker — Serpstat Alternative

Pricing

from $40.00 / 1,000 seo observations

Go to Apify Store
Google Keyword Rank Tracker — Serpstat Alternative

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

12 days ago

Last modified

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, targetUrl and competitorRanks come from the same results page, so the comparison is like for like.
  • SERP context per keyword. topDomains and peopleAlsoAsk show who owns the page and what searchers ask next.
  • Fixed search context. locationName, languageCode and device are recorded on every row with a sourceUrl you can open.
  • Evidence-based clustering. keyword_clustering groups phrases whose top results share domains, using clusterSimilarityThreshold.
  • Bounded runs. maxKeywords caps 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_snapshot when the decision is about one site, and keyword_clustering when 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 keywords here.

How it compares with Serpstat

DecisionThis ActorSerpstatGood fit
ScopeCurrent rank snapshot and SERP-overlap clustering for a keyword listA broad SEO platform with projects, history, backlinks and auditsThis Actor for a machine-readable snapshot inside a workflow
BillingPay per event per keyword observationPlan tiersCompare on your check frequency
OutputDataset rows with source URL and collection timeDashboards and exportsThis 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
}
FieldTypeWhat it controls
modestringrank_snapshot or keyword_clustering. Default rank_snapshot.
keywordsarray of stringsGoogle search phrases; blanks and duplicates are removed. Required.
targetDomainstringDomain whose position is checked in rank mode, such as example.com.
competitorDomainsarray of stringsUp to five domains compared in the same results.
locationNamestringGoogle location such as United States, London, England or Austin, Texas. Default United States.
languageCodestringGoogle language code such as en, de or es. Default en.
devicestringdesktop or mobile. Default desktop.
maxKeywordsintegerUnique phrases processed, 1 to 20. Default 5.
clusterSimilarityThresholdnumberShared-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": []
}
FieldWhat it contains
operation, keywordMode and the phrase observed
targetDomain, targetFound, targetRank, targetRankAbsolute, targetUrlYour domain's position and ranking URL when it appears in the inspected results
competitorRanksEach competitor's domain, rank and URL in the same results
clusterId, clusterKeywords, clusterSize, maxClusterOverlapCluster assignment and overlap in clustering mode
topDomainsDomains in the inspected top results
relatedQueries, peopleAlsoAskRelated searches and People Also Ask questions from the page
searchEngine, locationName, locationCode, languageCode, device, serpDepthThe search context
sourceUrl, collectedAtThe search URL and collection time
warningsRow-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:

  1. Set mode, keywords, targetDomain, competitorDomains and the search context, with maxKeywords matching the request.
  2. Read rows with get-dataset-items; report targetRank and competitorRanks per keyword.
  3. Cite sourceUrl and collectedAt as provenance, and read OUTPUT for the run outcome.
  4. 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}'
Your next stepUseWhy
When you want domain metrics before picking keywordsSEO Competitor Analyzer — Semrush AlternativeDomain overview, keywords and competitors
When you track positions for longer keyword listsKeyword Rank Tracker — Google SERP PositionsRank tracking across more phrases

Best results

Starting situationHelpful actionExpected outcome
Comparing runs over timeKeep locationName, languageCode and device the sameLike-for-like positions
A local businessSet locationName to the city, such as Austin, TexasResults for that market
Mobile visibilitydevice: "mobile"Positions from a mobile profile
Planning content pageskeyword_clustering with three or more related phrasesPhrases grouped by shared top domains
Tighter or looser groupsRaise or lower clusterSimilarityThresholdFewer, stricter clusters or broader ones
Content ideasRead peopleAlsoAsk on each rowQuestions 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.