Most rank tracking API roundups still answer one question: where do I rank on Google? In 2026 that is half the job.
The best rank tracking API depends on which rank you mean. For Google positions, DataForSEO is the cheapest per check, SerpApi is the simplest to start, and SE Ranking adds history and AI visibility in one plan. For rank inside ChatGPT, Perplexity, and AI Overviews, you need an AI answer API, because those answers change from run to run and have to be measured as a rate.
I checked every price below on the vendor's own pricing page in October 2026, and I ran the code in this post against a live SERP API. The two roundups that rank for this keyword skip per-check pricing, and one of them ranks its own product first.
One disclosure: MentionsAPI, which publishes this blog, sells an AI answer API. It appears in the AI section with its real pricing, next to its competitors.
What is a rank tracking API?
A rank tracking API returns where a domain ranks for a keyword as structured JSON, so you can store, chart, and alert on rankings inside your own product. You send a keyword, location, language, and device, and get back the ranked results or your position. Newer APIs also return AI Overview sources, and a separate class reports rank inside AI chat answers.
There are really three kinds, and mixing them up is the most common buying mistake:
- Raw SERP APIs return the whole results page, and you compute rank yourself.
- Rank trackers with an API run the schedule and keep history, and the API exports it.
- AI answer APIs query ChatGPT, Perplexity, Gemini, and others, and report mentions and citations.
The best rank tracking APIs for Google
DataForSEO, SerpApi, SE Ranking, Bright Data, and Serper cover most Google rank tracking needs in 2026. They differ mainly in price per check, speed, and how much of the work they do for you. The table compares them on the vendor's published pricing, and the notes below cover where each one wins and where it costs you engineering time.
| API | Type | Published price | AI Overview data |
|---|---|---|---|
| DataForSEO SERP API | Raw SERP | $0.0006/SERP standard, $0.002 live | Yes, at 2x base price |
| SerpApi | Raw SERP | Free 250/mo; $75 for 5,000 | Yes, separate AI Overview engine |
| SE Ranking API | Rank tracker + data | From $50 per 250K credits | Yes, with AI visibility |
| Bright Data SERP API | Raw SERP at scale | Per 1,000 successful requests | Check per engine |
| Serper | Fast Google SERP | 2,500 free queries to start | Not listed |
DataForSEO is the cheapest per check. Its Google Organic SERP pricing is $0.0006 per SERP in the standard queue, $0.0012 in priority, and $0.002 live.
The catch is that you build everything around it: scheduling, storage, and the rank calculation. And the AI Overview block costs one extra base price, so tracking both doubles the bill.
SerpApi is the easiest to start. Its pricing page lists a free plan of 250 searches a month, then $75 for 5,000 and $150 for 15,000, and cached searches do not count.
It also has a Google AI Overview engine, though it needs a page token from a search that expires within a minute. Per check, it costs more than DataForSEO at every tier.
SE Ranking is the pick if you want history without building it. Its API page includes API access in every plan, starting at $129 a month, plus pay-as-you-go from $50 for 250,000 credits.
The Project API runs rank tracking and AI visibility tracking for ChatGPT, Gemini, AI Mode, and AI Overviews. Perplexity is not named there, so confirm it if you need it.
Bright Data is built for scale. Its SERP API bills per 1,000 successful requests and does not bill failed ones by default, which matters when you are scraping hard-to-reach locations.
One exception is worth knowing: if you set custom headers or cookies on a zone, Bright Data bills every request, failed or not.
Serper is the fast, light option for Google results, with 2,500 free queries and no card to start. It does not list AI Overview data, so pair it with something else if you need that.
How much does a rank tracking API cost per 1,000 checks?
A Google rank check costs from about $0.60 per 1,000 on DataForSEO's standard queue to $15 per 1,000 on SerpApi's Developer plan. Live, instant results cost more than queued ones, and adding AI Overview data doubles the DataForSEO price. AI answer checks cost more again, because each one queries several chat engines instead of fetching one page.
Put that in client terms. Tracking 500 keywords daily is about 15,000 checks a month, which is roughly $9 on DataForSEO's standard queue or exactly SerpApi's $150 Production plan.
Neither number includes your own servers, storage, or the time to build the charts. Factor that in before you assume the raw API is the cheaper road.
Queue versus live is the other lever. A standard-queue task is posted now and collected later, which is fine for a nightly job that feeds a morning report.
Live mode answers in the same request, and you pay for that speed. Reserve it for tools where a user is waiting on the screen.
Why AI answer rank is a rate, not a position
AI answers change so often that a single position means almost nothing. A Semrush study found that 0% of keywords kept the same AI Overview URLs over a month, and only 6.7% of desktop URLs cited in week one were still there in week four. Track how often your brand appears across many runs and ignore where it sat once.
That Semrush analysis covered 1,500 desktop and 1,500 mobile keywords through October 2024, so treat the exact figures as historical. Google changed the cited URLs on about 56% of days, Semrush reported.
Chat engines are no steadier. A SparkToro and Gumshoe study found less than a 1-in-100 chance that an AI tool returns the same brand list twice for the same prompt, Search Engine Journal reported in January 2026.
I saw it myself while testing the code below. Same keyword, calls a few minutes apart:
In my first calls, ahrefs.com ranked fifth for "ai visibility api" and appeared among the AI Overview's cited sources. Minutes later it ranked sixth and the AI Overview no longer cited it. My request was identical both times.
Track Google as a position and AI as a percentage. A single AI rank is a coin flip you happened to record.The rule for AI rank
APIs that track rank in AI answers
To track rank inside ChatGPT, Perplexity, Gemini, and AI Overviews, use an AI answer API. MentionsAPI, DataForSEO's LLM Mentions API, and SE Ranking's AI visibility tracking all return this data through an API. They differ in which engines they cover, whether they read live chat interfaces or official model APIs, and whether you pay per task or in credits.
| API | Engines named | Returns | Published price |
|---|---|---|---|
| MentionsAPI | ChatGPT, Claude, Gemini, Perplexity, AI Overviews, AI Mode, Copilot | Mentioned, rank, citations per engine | 150 credits per 4-engine check; 300 free |
| DataForSEO LLM Mentions | LLM answers (per docs) | Brand and keyword mentions | $0.10 per task + $0.001 per row |
| SE Ranking AI visibility | ChatGPT, Gemini, AI Mode, AI Overviews | Project-level AI visibility | Within plan credits |
DataForSEO's AI Optimization pricing also lists an LLM Scraper API at $0.0012 per result page and an LLM Responses API from $0.0002 per task plus the model cost.
On MentionsAPI, a fresh quick check across ChatGPT, Claude, Gemini, and Perplexity costs 150 credits, and a repeat of a recently asked query costs 5. Plans start at $5 a month for 1,000 credits.
So per check, AI answer APIs cost far more than a Google SERP call. That is the real tradeoff: one call asks several chat engines a question and parses every answer it gets back.
Engine coverage is worth paying for. Between September and November 2025, ChatGPT referrals grew 52% year over year while Gemini referrals grew 388%, per Similarweb figures compiled by Digiday. An API that only watches one chat engine is already measuring a shrinking slice.
How to track Google and AI rank in one pipeline
Run the same keyword list through a SERP API for Google rank and an AI answer API for mention rate, and write both to one table keyed by keyword and date. The SERP call returns a position and whether the AI Overview cites you. The AI call returns mention and rank per chat engine, which you average across weekly runs into a rate.
Here is the Google side, which I ran live against DataForSEO while writing this post:
import os
import requests
LOGIN, PASSWORD = os.environ["DFS_LOGIN"], os.environ["DFS_PASSWORD"]
def google_rank(keyword, domain):
"""Organic Google rank plus whether the AI Overview cites the domain, in one SERP call."""
r = requests.post(
"https://api.dataforseo.com/v3/serp/google/organic/live/advanced",
auth=(LOGIN, PASSWORD),
json=[{
"keyword": keyword,
"location_code": 2840,
"language_code": "en",
"load_async_ai_overview": True,
}],
timeout=90,
)
r.raise_for_status()
items = r.json()["tasks"][0]["result"][0]["items"] or []
rank, in_ai_overview = None, False
for item in items:
if item["type"] == "organic" and rank is None and domain in item.get("domain", ""):
rank = item["rank_group"]
if item["type"] == "ai_overview":
refs = item.get("references") or []
in_ai_overview = any(domain in (ref.get("domain") or "") for ref in refs)
return rank, in_ai_overviewThe load_async_ai_overview flag matters. Without it, my test returned an AI Overview with an empty references list, and with it the same keyword came back with three cited domains.
Pick your rank field on purpose too. DataForSEO returns rank_group, the position among results of the same type, and rank_absolute, the position among every element on the page, including AI Overviews.
On a results page with an AI Overview and other features at the top, those two numbers can differ by several places. Most SEO reports use rank_group, so match whatever your clients already see.
Running it for our own domain on "ai visibility api" returned None for the organic rank: we are not in Google's top 10 for that term yet. A good rank tracker tells you that plainly.
And the AI side, using an AI answer API that covers several engines in one request:
def ai_rank(keyword, brand, api_key):
"""Mention and rank per AI engine for one prompt."""
r = requests.post(
"https://api.mentionsapi.com/v1/check",
headers={"Authorization": f"Bearer {api_key}"},
json={"mode": "quick", "query": keyword, "brand": brand},
timeout=120,
)
r.raise_for_status()
return {
engine: (p.get("mentioned"), p.get("rank"))
for engine, p in r.json()["providers"].items()
}Schedule the Google side daily and the AI side weekly. Our Python tracker tutorial shows the storage, alerting, and GitHub Actions schedule for the AI half.
How to choose a rank tracking API
Choose on four things: what you are tracking, how fast you need results, how much you want to build, and your monthly volume. Building a product on cheap raw data points to DataForSEO. Wanting history without building it points to SE Ranking. Prototyping fast points to SerpApi's free tier, and tracking AI answers needs an AI answer API alongside any of them.
Before you sign anything, run the same 20 keywords through your two finalists on the same day, in the same location. Then compare the positions they return.
- Price sensitive and happy to build: DataForSEO standard queue.
- Need results in seconds for a live tool: a live endpoint, DataForSEO live or SerpApi.
- Need history and reports without engineering: SE Ranking.
- Scraping many hard locations at volume: Bright Data.
- Need ChatGPT, Perplexity, and Claude coverage: an AI answer API such as MentionsAPI.
If you would rather build the AI tracker than buy one, our guide to building a rank tracking tool for AI answers walks through the architecture.
Mistakes that make rank tracking data wrong
Most bad rank data starts with a setup choice. The vendor returns exactly what you asked for, and the request quietly asked for the wrong thing. These are the mistakes I see most often when teams wire up a rank tracking API, roughly in order of how much damage they do.
- Leaving location and device unset, so the API tracks a default market you do not sell in.
- Reading one AI answer as a rank instead of averaging many runs into a rate.
- Skipping the async AI Overview flag and logging empty citation lists as real absences.
- Comparing ranks from two vendors that define position differently.
- Paying for live results on a nightly job that could use the cheaper queue.
- Tracking only Google while buyers ask ChatGPT and Perplexity the same question.
Frequently asked questions
What is a rank tracking API?
What is the cheapest rank tracking API?
Can a rank tracking API track rankings in ChatGPT?
Is there a free rank tracking API?
How often should I call a rank tracking API?
Should I use a SERP API or a rank tracker with an API?
Pick one API for each kind of rank
The simplest stack that works in 2026 is one rank tracking API for Google positions and one AI answer API for mention rate, sharing a keyword list. Start with DataForSEO or SerpApi's free tier for Google, test an AI answer API on 20 prompts, and chart both on the same weekly report before you scale either one.
Then add AI Overview citations to the Google side, because they sit between the two worlds and move faster than either.