Rank Tracking API: Organic SERP APIs vs Google Maps Grid APIs

blog Adrian Crismaru

See where you rank on Google Maps across your area. First scan free, no signup.

Check my ranking
A laptop with JSON code connected by a cable to a map grid of location pins, showing a rank tracking API pulling Google Maps grid data

A rank tracking API gives your code the positions a rank tracker would show you in a dashboard: for each keyword, location and date, where your site or business appears in Google. You call it from a script, a reporting tool or an AI assistant, and you store the history yourself or read it from the vendor.

The first decision is which kind you need. Organic rank tracking needs one search per keyword per location. Google Maps rank tracking needs a grid of searches, because your Maps position changes every few streets. That one difference decides your cost, your vendor and how much code you write.

What you'll learn

  • The three kinds of rank tracking API, and which one fits your job
  • Why a Google Maps rank is a grid, with a live 9-point test
  • APIs from 11 vendors compared, with prices checked on the vendors' own pages on November 4, 2026
  • Real cost math for the same workload, free options, MCP servers for Claude and ChatGPT, and Python code

What a rank tracking API returns

Every rank tracking API answers the same question, "where does this result appear for this search?", but they hand you different amounts of work. A typical response holds the keyword, the search location, the device, the date, your position (or none if you are outside the depth checked) and often the competitors above you and the SERP features on the page.

There are three families, and most "best API" lists mix them up:

  • Raw SERP APIs (DataForSEO, SerpApi, Serper, Bright Data). You send a search, you get the parsed results page as JSON. You find your own position in it, you schedule the checks and you keep the history. Cheapest per search, most code.
  • Rank tracker platform APIs (SE Ranking, AccuRanker, Semrush, seoClarity). You set up tracked keywords in the vendor's tool, it checks them on schedule, and the API reads positions and history back out. Least code, priced per tracked keyword.
  • Google Maps grid APIs (GTrack, Local Falcon, Semrush Map Rank Tracker, BrightLocal). You give a business, a keyword and a grid; the API runs a search from every grid point and returns your rank at each one, plus averages. Usually priced per grid point.

A fourth source is free and first-party: the Google Search Console API reports your average position from real impressions, across all searches, rather than your rank from one place.

SERP API vs rank tracking API: which one you need

A SERP API returns a page of results. A rank tracking API returns your position over time. People use "SERP tracking API" for both, so check what the vendor actually sells before you compare prices.

Question Raw SERP API Rank tracker API Google Maps grid API
What you get backThe whole results page, parsedYour position and history for tracked keywordsYour Maps rank at every grid point, plus average rank
Who schedules checksYouThe vendorThe vendor, or you through the API
Who stores historyYouThe vendorThe vendor
Billing unitPer search or per page of 10 resultsPer tracked keyword (plan size)Per grid point per keyword
Best forBuilding your own tool or productAgency dashboards, BI exportsLocal businesses and local SEO agencies

If you are building a product, a raw SERP API is the raw material. If you want your rankings in Looker Studio, a spreadsheet or an AI assistant, a rank tracker API saves you the scheduler, the parser and the database. If your customers find you on Google Maps, you need grid data, and only some APIs give it to you ready-made.

Google Maps rank tracking API: why one rank is a grid

Google lists distance as one of its three main local ranking factors: "how far each business is from the customer who's searching" (How Google determines local ranking). So a business does not have one Google Maps rank. It has a different rank at every spot a customer searches from.

We tested this while writing this post. We searched "pizza" on Google Maps through DataForSEO's Maps SERP API from 9 points, a 3x3 grid spaced half a mile apart around Times Square, and tracked one well-known pizzeria that ranked third in the search from the centre point:

Grid row West Centre East
North12Not in top 2019
Middle12312
South141419

Rank 3 at one point, 12 to 19 or nowhere half a mile or so away, and another pizzeria in first place at every one of the 9 points. One check from the centre point would have reported "rank 3" and hidden the other 8 results. The 9 Live searches cost under $0.02.

That is why a Google Maps rank tracking API is priced per point. A 5x5 grid is 25 searches per keyword, a 7x7 grid is 49 and a 9x9 grid is 81, on every run. Our guide to reading heatmap grid patterns explains what the shapes mean, and geo location rank tracking compares grids with city and ZIP code tracking.

The Maps grid APIs we checked:

API API access from Billing MCP server Notes
GTrack (ours)Business, $59.99/mo (36,000 credits); Pro $99.99 (81,000)1 credit per grid point per keyword; Local Pack scans 2Yes, ChatGPT and ClaudeRead and Write scopes; Write enabled on request. No API on Free, Starter or Advanced
Local FalconData retrieval API from Starter $24.99/mo (7,500 credits); separate on-demand API $199/mo plus $0.0032 per request1 credit per data pointYes, included on every planScans can also target Apple Maps, ChatGPT, Gemini, AI Overviews and AI Mode
Semrush Map Rank Tracker APIAny Semrush user per the API docs (Semrush's KB says to ask your account manager); scans need Local credits (Local Base $30/mo per location, 375 credits)Local scan credits, no API unitsSemrush MCP exists; Map Rank Tracker coverage not statedDefault grid 5x5 at 1.5 km radius; 1 to 100 keywords per campaign
BrightLocal (Local Search Grid)Paid plan, from Track $41/mo for 1 locationAccount credits; per-point cost not publishedYes ("BrightLocal Anywhere"), Grow plan onlyUp to 5 keywords per grid report, ranks up to position 100
DataForSEO Maps SERP API (build your own)Pay as you go, $50 minimum top-up$0.0006 per search (Standard queue), $0.002 (Live)Yes, officialNo grid product: you generate points, store results and draw maps

Prices are list prices billed monthly, in USD, from each vendor's pricing page or docs on November 4, 2026 (Local Falcon, Semrush Map Rank Tracker API, BrightLocal, DataForSEO Maps). To be straight about our own product: Local Falcon gives API access on a cheaper plan than GTrack does. GTrack's per-point price is about half of Local Falcon's on Business and well under half on Pro, which the cost section shows.

Rank tracker API options for organic keywords

For organic Google rankings, these are the APIs that came up most in the top results for "rank tracker API", checked on the same day. Any of these SEO rank API options can feed a dashboard. The raw SERP APIs leave the scheduling and history to you; the rank tracker APIs do it for you.

API Type Entry price Cost per 1,000 MCP
DataForSEORaw SERP API$1 trial credit, then $50 minimum top-up; funds don't expire$0.60 per 1,000 pages of 10 results (Standard), $2.00 (Live)Yes
SerpApiRaw SERP APIFree: 250 searches/mo; Starter $25/mo for 1,000$25 (Starter) down to $3.75 (Cloud 1M) and about $1.96 on the largest Cloud planYes
SerperRaw SERP API2,500 free queries; $50 for 50,000 credits (valid 6 months)$1.00 down to $0.30None found
Bright Data SERP APIRaw SERP APIFree: 5,000 requests/mo; pay as you go$1.50 per 1,000 requests (pay as you go)Yes
SE RankingRank tracker API + data APIAPI on every plan (Core and up)Rank tracking uses plan keyword limitsYes, included
AccuRankerRank tracker APIRead API from Expert, $849/mo for 10,000 keywordsUnlimited API calls within the planYes, read-only
Semrush Position TrackingRank tracker APIAPI units on top of a subscription (Semrush's own pages disagree on which plans)100 API units per keyword per positions reportYes, read-only Projects methods
seoClarityRank tracker API (enterprise)Custom quote, minimum 2,000 keyword queries"Starts at $0.15 per keyword" for daily data (undated page)AI search MCP; rank data not stated

Sources: DataForSEO, SerpApi, Serper, Bright Data, SE Ranking, AccuRanker, Semrush, seoClarity. SE Ranking and Semrush showed us euro prices from our location, so we left their plan prices out rather than convert them.

Two things to read in the small print. First, whether you pay for failed searches: SerpApi, Serper and Bright Data say only successful requests are billed (Bright Data bills every request if you send custom headers or cookies), and so does SE Ranking for its credit-billed Data API. Second, how depth is billed, which changed in 2025.

What a rank tracking API costs since Google dropped num=100

Until September 2025, a tracker could ask Google for 100 results in one request with the &num=100 parameter. Google stopped honouring it around September 11, 2025, and said: "The use of this URL parameter is not something that we formally support" (Search Engine Roundtable). Now Google returns about 10 results per page, so checking the top 100 takes about 10 requests.

Vendors passed that on in different ways. DataForSEO bills organic searches "for every 10 search engine results" since September 19, 2025, so depth 100 costs ten times depth 10: $0.006 instead of $0.0006 in the Standard queue (DataForSEO depth FAQ). AccuRanker moved to tracking the top 20 by default. Google Maps searches were not affected the same way: DataForSEO still bills a Maps search per 100 results.

Scraping got harder again in October 2026. Search Engine Roundtable reported third-party rank tracking breaking because Google is blocking scrapers more aggressively, and Nozzle reported "poisoned" results served to rank trackers (report, updated October 27, 2026). If you build on a raw SERP API, check for odd results and gaps in your data, and watch your vendor's status notices.

Organic math. Tracking 100 keywords daily for a month is 3,000 checks. Top 10 only, on DataForSEO's Standard queue: 3,000 x $0.0006 = $1.80. Top 100: $18. On SerpApi, top 100 means about 10 searches per check, so 30,000 searches, which is the Big Data plan ($275 a month).

Google Maps grid math. We priced the same three workloads at each vendor's per-point rate. The figures below are our calculations from list prices, monthly billing, on November 4, 2026.

Workload (7x7 grid = 49 points) Points a month GTrack Local Falcon DataForSEO, build your own
1 business, 10 keywords, weekly (4 runs)1,960Business $59.99 (API plan)Starter $24.99$1.18 Standard / $3.92 Live
1 business, 10 keywords, daily (30 runs)14,700Business $59.99Basic $49.99$8.82 / $29.40
Agency: 50 locations, 5 keywords, weekly49,000Pro $99.99 (81,000 credits)Premium $199.99 (63,150 credits)$29.40 / $98

Per point, that is about $0.0017 on GTrack Business and $0.0012 on Pro, against about $0.0032 to $0.0033 on Local Falcon's monthly plans and $0.0006 to $0.002 on DataForSEO. Raw searches are the cheapest line, but the DataForSEO column leaves out your time: the grid generator, the scheduler, retries, storage, heatmaps and client reports. For one developer tracking a few businesses, building your own is a fine weekend project. For an agency billing clients, the hours spent building and maintaining that code cost more than the searches.

Whatever you choose, trim the grid. Points over water or outside your service area cost the same as useful ones. GTrack does not bill disabled pins, and our guide to how often to track Google Maps rankings covers schedule choices. For the daily vs weekly trade-off on organic keywords, see daily rank tracking.

Free Google rank API options

Google has no API that tells you your rank for any keyword from any location. The closest free Google rank API is the Search Console API, and it is worth setting up whatever else you buy.

The Search Analytics endpoint returns clicks, impressions, CTR and average position by query, page, country, device and date. Google publishes usage quotas, not a price: 1,200 queries per minute per site and up to 25,000 rows per request (Search Console API limits). Its limits as a rank tracker:

  • Position is an average. It is the topmost position your link held, averaged over every search where you appeared (Google's definition). It cannot tell you your rank in a given neighbourhood.
  • Country is the finest location. No city, ZIP code or coordinates.
  • No Google Maps data. Your rank in the Maps app is not in it.
  • Only your own site, only queries you got impressions for, about 2 to 3 days late, and some queries are hidden for privacy.

For free raw searches, SerpApi gives 250 a month, Serper 2,500 once and Bright Data 5,000 a month. That covers a test, not ongoing tracking. On the Maps side, GTrack runs your first scan with no account, and its $0 plan gives 200 credits a month in the dashboard, but not API access. Our roundup of free rank trackers covers the dashboard options.

SEO MCP servers: rank data inside Claude and ChatGPT

MCP (Model Context Protocol) lets an AI assistant call an API for you. Instead of writing code, you ask Claude or ChatGPT "how did my average rank for 'dentist near me' change this month?" and it calls the vendor's tools and answers with your data. In November 2026, most rank tracker API vendors we checked run an SEO MCP server; we found none for Serper.

The differences are in what the MCP can do and which plan unlocks it. AccuRanker's and Semrush's are read-only. SE Ranking and Local Falcon include theirs on every plan. BrightLocal's needs its Grow plan. GTrack's needs the Business or Pro plan, the same as its API.

GTrack's MCP connects to ChatGPT (as a custom connector in Developer mode) and to Claude (Settings, then Connectors, then Add custom connector), with a server URL that contains your API key (setup guide). When we connected it to Claude on November 4, 2026, it listed 21 tools:

  • Scans: list_scans, get_scan_status, initiate_scan_with_polling, initiate_scan_no_polling, generate_grid
  • Businesses and schedules: get_tracked_businesses, get_tracked_business_history, get_scheduled_scans, get_scheduled_scan_history, plus creating and deleting share links for scheduled scan reports
  • Reports and AI visibility: list_ai_reports, get_ai_report and eight AI Tracker tools for campaigns, runs, results and prompts

GTrack also tracks organic keywords in its SERP Tracker, but that list has no SERP Tracker tools: the API and MCP cover Google Maps and AI visibility. A list_scans call returns rows like this (values replaced):

{
  "_id": "3f1c…",
  "keyword": "dentist near me",
  "placeId": "ChIJ…",
  "businessName": "Example Dental",
  "gridSize": 7,
  "createdAt": "2026-11-02T16:43:59.373Z",
  "status": "COMPLETED",
  "averageRanking": 6.26,
  "scanType": "maps",
  "reportUrl": "https://…/scan-report/3f1c…"
}

Prompts that work well: "show my last 3 scans", "list my tracked businesses", "compare this month's scheduled scan history for 'emergency plumber' with last month". Starting new scans from the assistant needs a key with the Write scope, which GTrack Support enables on request. Two habits: create a separate API key for MCP, as the guide recommends, and treat the MCP URL like a password, because the key is in it.

Rank tracking API in Python: two examples

Read your GTrack data. Create a key in GTrack under your profile name, then API Management (Business and Pro plans; the key is shown only once). Send it in the x-api-key header. This is the documented tracked-businesses endpoint (API key guide):

import os
import requests

r = requests.get(
    "https://gtrack-api.wiremo.co/api/tracked-businesses",
    headers={"x-api-key": os.environ["GTRACK_API_KEY"],
             "Content-Type": "application/json"},
    timeout=30,
)
if r.status_code == 429:
    print("Rate limit hit. X-RateLimit-Reset:", r.headers.get("X-RateLimit-Reset"))
r.raise_for_status()
print(r.json())

Limits are set per plan, per hour, for read and write requests separately. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers, and a 429 means wait for the reset. The full endpoint list, with cURL, Python, Node, PHP and React samples, is in the documentation linked from the API Management screen.

Build a small Maps grid yourself. This is the code behind the Times Square test above, using DataForSEO's Maps SERP API. It builds a square grid around a point and finds one business by its Google place ID at each point:

import math, os
import requests

AUTH = (os.environ["DATAFORSEO_LOGIN"], os.environ["DATAFORSEO_PASSWORD"])
URL = "https://api.dataforseo.com/v3/serp/google/maps/live/advanced"

def grid(lat, lng, size=7, spacing_miles=0.5):
    half = size // 2
    dlat = spacing_miles / 69.0
    dlng = spacing_miles / (69.0 * math.cos(math.radians(lat)))
    return [(round(lat + r * dlat, 7), round(lng + c * dlng, 7))
            for r in range(-half, half + 1) for c in range(-half, half + 1)]

def rank_at(keyword, lat, lng, place_id):
    task = [{"keyword": keyword, "location_coordinate": f"{lat},{lng},15z",
             "language_code": "en", "depth": 20}]
    r = requests.post(URL, auth=AUTH, json=task, timeout=120)
    r.raise_for_status()
    task = r.json()["tasks"][0]
    if task.get("status_code") != 20000:
        raise RuntimeError(f"{lat},{lng}: {task.get('status_message')}")
    items = (task.get("result") or [{}])[0].get("items") or []
    for item in items:
        if item.get("place_id") == place_id:
            return item["rank_group"]
    return None  # not in the top 20 at this point

for lat, lng in grid(40.7580, -73.9855, size=3):
    print(lat, lng, rank_at("pizza", lat, lng, "YOUR_PLACE_ID"))

Each point is one Live request at $0.002. For real tracking, send tasks to the cheaper Standard queue and collect results later, save every run with its date, and retry points that return errors. That missing layer is what a Maps grid API sells you.

How to choose a keyword ranking API

Before you sign up, run through these questions:

  1. Organic, Maps or both? If customers find you on Google Maps, insist on grid data. A single "local rank" from one address hides most of the picture, as the 9-point test shows.
  2. Do you want raw results or tracked history? Raw SERP APIs are cheaper per search and cost you engineering time. Rank tracker and grid APIs store history and handle scheduling.
  3. How deep do you need to see? Top 10 or 20 is enough for most decisions. Top 100 costs about ten times more on per-page billing.
  4. Location targeting: country, city, ZIP code or exact coordinates? For local work you need coordinates.
  5. Device: desktop and mobile organic results differ, so check that you can set the device per keyword. GTrack's grid scans have no device setting; its SERP Tracker has one.
  6. Write access: can the API create scans and keywords, or only read them? AccuRanker's write API is on Enterprise only, and GTrack's Write scope is enabled by support.
  7. Billing rules: are failed requests billed, do credits expire, is there a minimum top-up?
  8. MCP: if your team works in Claude or ChatGPT, check that the vendor's MCP covers the data you need and is on your plan.
  9. Reliability in 2026: ask how the vendor handled the num=100 change and the October 2026 blocking.

For a dashboard view of the same choices, our local rank tracker comparison covers the tools behind these APIs, and tracking Google Maps rankings accurately covers grid settings.

Try the grid before you code against it

Free: your first Google Maps grid scan with no account, then the $0 plan with 200 credits a month and 5x5 grids in the dashboard.

API and MCP: Business ($59.99 a month, 36,000 credits) and Pro ($99.99, 81,000 credits), with white-label reports.

Run a free Google Maps scan

Frequently Asked Questions

What is a rank tracking API?

It is an API that returns search positions to your code instead of a dashboard: for a keyword, location and date, where a site or business appears in Google. Raw SERP APIs return the whole results page and leave tracking to you; rank tracker APIs return the positions and history of keywords the vendor tracks for you; Google Maps grid APIs return a rank at every point of a grid around a business.

Is there a free rank tracking API?

The Google Search Console API has no published price, only usage quotas, and reports your average position by query, page, country and device. It is not location-specific and has no Google Maps data. For raw searches, SerpApi's free plan gives 250 a month and Bright Data's free tier 5,000 requests a month, enough for testing.

What is the difference between a SERP API and a rank tracking API?

A SERP API returns one results page as data; you find your position, schedule the checks and store the history. A rank tracking API does that for you and returns positions over time for your tracked keywords. SERP APIs are cheaper per search; rank tracking APIs save you the code and storage.

Does GTrack have an API?

Yes, on the Business ($59.99 a month) and Pro ($99.99) plans. The same key works with the GTrack MCP server for ChatGPT and Claude. Keys have Read access to scan results and business data; Write access, which starts new scans, is enabled by GTrack Support on request. The API covers Google Maps grid scans, scheduled scans, reports and the AI Tracker. GTrack's SERP Tracker for organic keywords, included on every paid plan, is used in the dashboard, not through the API.

How much does a rank tracking API cost?

Raw SERP APIs cost $0.30 to $25 per 1,000 searches at list prices on November 4, 2026. Tracking 100 keywords daily in the top 10 is about $1.80 a month on DataForSEO's Standard queue, and $18 for the top 100. Rank tracker platform APIs are priced by tracked keywords: AccuRanker's read API starts at $849 a month for 10,000 keywords. Google Maps grid APIs are priced per grid point, covered in the next answer.

How much does a Google Maps rank tracking API cost?

It is priced per grid point per keyword, so a 7x7 grid is 49 points every run. At list prices on November 4, 2026, that is about $0.0017 a point on GTrack Business, $0.0012 on GTrack Pro, about $0.0032 to $0.0033 on Local Falcon's monthly plans and $0.0006 to $0.002 on DataForSEO's raw Maps API, where you build the grid and reports yourself.

Written by

Adrian Crismaru

Adrian Crismaru is the founder and CEO of Wiremo, a company that builds tools for Local SEO professionals and small businesses. With over 15 years of experience in SaaS and digital marketing, Adrian has founded and sold multiple successful projects, including HideIPVPN, CactusVPN, and Wiremo.