Local Rank Tracking API
Track your rankings across your entire city, block by block.
Local Pack tells you rank at one search location. But proximity is the strongest local ranking signal — your rank changes from block to block across the city. The dashboard era built heatmaps for humans to stare at. We built an async API for agents. One call maps your business across a grid (5x5 by default, or 3x3, 7x7 or 9x9 — 9 to 81 points) and returns ARP, ATRP and SoLV scores and a rank matrix. 2 credits per point: 50 credits for the default 5x5, up to 162 for a 9x9.
POST /v1/geogrid/scan · 18-162 credits (async)
Top 3
22
In pack
39
Out
10
These prompts map your geographic rank position.
Connect Local SEO Data as an MCP server once (60 seconds, below). Then your agent runs geographic rank scans on demand. Replace bracketed business names with your own.
Scan a 9x9 geogrid for [plumber in Austin, TX] keyword plumber. Show me Average Grid Rank and flag which quadrants we dominate vs need work.
Run a 7x7 geogrid scan for [Joe's Pizza, Brooklyn, NY] for keyword pizza. Compare to last month's snapshot. Show me if our average rank improved or slipped.
Scan a 5x5 geogrid for [my business] AND my top 2 competitors in [City, State]. Which business dominates the center, which has better geographic spread.
Pull geogrid scans across all 8 locations of [restaurant chain] for the keyword [cuisine] near me. Rank each location's Average Grid Rank. Which franchises need optimization.
What you get back
Completed scan from GET /v1/geogrid/status/{job_id} for a pizza restaurant in Brooklyn, 5x5 grid.
{
"status": "success",
"credits_used": 0,
"data": {
"job_id": "geo_V1StGXR8Z5",
"status": "complete",
"business_name": "Joe's Pizza",
"keyword": "pizza",
"grid_size": "5x5",
"radius_miles": 3,
"center": { "lat": 40.6892, "lng": -73.9857 },
"average_rank": 3.7,
"atrp": 3.7,
"solv": 52,
"found_in": 25,
"failed_points": 0,
"total_points": 25,
"grid": [
[4, 2, 1, 3, 5],
[3, 1, 1, 2, 4],
[2, 1, 2, 1, 3],
[6, 4, 3, 4, 6],
[8, 6, 5, 7, 9]
],
"grid_points": [
{ "row": 0, "col": 0, "lat": 40.7327, "lng": -74.0429, "rank": 4, "status": "ok" },
{ "row": 0, "col": 1, "lat": 40.7327, "lng": -74.0143, "rank": 2, "status": "ok" }
],
"zoom": 14,
"credits_refunded": 0,
"cached": false
}
}The complete geographic rank picture, structured for action
AGR: composite rank score across all grid points
average_rank is your average where you were found, atrp counts not-found points as 21, and solv is the share of points where you're top 3. Lower ranks are better. Compare month-to-month to spot geographic rank trends.
2D grid of ranks with GPS coordinates for each point
See which neighborhoods you dominate (rank 1-3) and where you're invisible (rank 10+). Use for hyperlocal targeting and competitive mapping.
found_in count: how many grid points showed your business
Out of 9 to 81 grid points, how many listed your business in the top 20 on Google Maps. High coverage = geographic authority in that market.
5x5 (25 points), 7x7 (49 points), 9x9 (81 points)
2 credits per point: 18 credits for a 3x3, 50 for the default 5x5, up to 162 for a 9x9. Larger grids give street-level precision. Pair with Local Pack API for single-location rank tracking.
What agencies and consultants build with this
Service area mapping for local businesses
Agencies pull a 7x7 or 9x9 geogrid for each client location. Agent flags neighborhoods where the business ranks strong (target expansion/marketing) and weak (competitive threat). Use for site selection and seasonal expansion.
→ For agenciesFranchise multi-location audits
Franchisees and corporate ops run geogrid scans across all locations monthly. Compare Average Grid Rank across franchises. Identify underperforming locations early, benchmark top performers, allocate support.
→ For franchisesCompetitive geographic intelligence
Pull geogrid scans for your top 3 competitors. See which quadrants they dominate. If competitor A owns the north side and you own the south, each business has carved a territory. If competitor A owns everywhere, that's a gap. Use for targeting and market analysis.
→ Competitor Gap APIHyperlocal marketing and site selection
Before opening a new location, scan the geogrid for your category keyword. Identify neighborhoods with weak competition and high rank potential. Use rank density data to negotiate real estate or direct paid spend.
→ For consultantsWhy not use Local Falcon, GMB Crush, or GeoRanker?
Local Falcon ($79–$499/mo), GMB Crush, GeoRanker, and Local Viking built businesses on geogrid rank tracking. They built dashboards for humans. We built an async API for agents. For bulk audits, multi-location franchises, or automated monthly tracking, you need an endpoint that returns JSON, not a browser login.
| Approach | Cost per scan | Grid sizes | Async/bulk | Agent-ready |
|---|---|---|---|---|
| Manual: Google Maps from each location | 2–4 hours labor per grid | One point only | No | No |
| Local Falcon (dashboard) | Unlimited in subscription | 5x5 to 21x21 | Limited; manual exports | API limited, mostly UI |
| GMB Crush / GeoRanker | Flat monthly fee $49–$199 | Fixed grids | Dashboard-only | No direct API |
| Local Viking (geogrid) | Subscription + per-scan | 5x5 to 21x21 | Limited async | REST API, no MCP |
| BrightLocal (rank tracking) | $39–$149/mo (bundles) | Single-point only | Scheduled crawls | CSV export only |
| Local SEO Data Geogrid API | $0.09–0.81 per scan | 3x3, 5x5, 7x7, 9x9 (9–81 points) | Native async, bulk-ready | Native MCP + REST, agent-first |
Use it from your agent
Two integration surfaces: MCP for clients that speak MCP, REST API for everything else.
Direct MCP integration
Drop-in support in Claude Desktop, OpenClaw, Hermes Agent, and any MCP-aware client.
Add to your client's MCP config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"localseodata": {
"url": "https://mcp.localseodata.com",
"headers": {
"Authorization": "Bearer sk_live_..."
}
}
}
}REST API
For Perplexity Computer, ChatGPT Custom GPTs, custom agents, and any platform that calls REST endpoints directly.
Base URL:
api.localseodata.comSee the docs for endpoint reference and auth.
Your first call in three lines
Core parameters: business (business name), location (city/state), keyword (rank for what), and grid_size (3x3, 5x5, 7x7, 9x9; default 5x5, 2 credits per point). Pass place_id and center instead of a name and city for exact, repeatable tracking. The endpoint is async — you POST and get a job ID, then poll for results. Typical time is 25–40 seconds at any grid size.
curl -X POST https://api.localseodata.com/v1/geogrid/scan \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"business": "Joe'"'"'s Pizza",
"location": "Brooklyn, NY",
"keyword": "pizza",
"grid_size": "5x5",
"radius_miles": 3
}'$0.25–0.81 per scan
Pay-as-you-go starts at $5. Monthly plans from $19. 2 credits per grid point; 5x5 is the default. Points that can't be checked are refunded. Funds never expire.
Common questions
What is the Local Rank Tracking API (Geogrid)?+
How does this differ from Local Pack API?+
POST /v1/serp/local-pack) returns the 3-pack for one keyword-location pair — fast (2-4s), costs 1 credit. Local Rank Tracking API (POST /v1/geogrid/scan) maps rank across 9–81 grid points in the same city — slower (25-40s), costs 18-162 credits. Use Local Pack for point-in-time rank checks and multi-location rank tracking. Use Geogrid for service-area visualization, competitive mapping, and understanding which neighborhoods you dominate.What is Average Grid Rank (AGR)?+
average_rank. If you rank #1 at 18 points and #10 at 7 points, it is 3.5. Lower is better. atrp also counts the points where you weren't found (as 21), and solv is the share of points where you're top 3. Compare AGR month-to-month to spot trends: rising AGR = losing geographic authority, falling AGR = gaining it. It's a single number that rolls up your geographic dominance.How is the grid centered and what does radius_miles do?+
Is this endpoint synchronous or asynchronous?+
poll_url it returns (GET /v1/geogrid/status/{job_id}, free) until data.status is "complete". This design lets agents queue multiple scans in parallel without blocking. A scan usually takes 25–40 seconds at any grid size.What grid sizes are available?+
grid_size for anything but the default. Larger grids give more precise street-level data and cost more. For service-area overview, 5x5 is sufficient. For competitive mapping or site-selection analysis, 7x7 or 9x9 is better.Where does this geogrid data come from?+
How does this compare to Local Falcon, GMB Crush, GeoRanker, and Local Viking?+
Can I use this for businesses I don't own?+
How does my agent use this?+
claude_desktop_config.json and your Claude agent calls this endpoint directly from a prompt. REST: your agent (ChatGPT, Perplexity, custom Python) makes HTTPS POST to api.localseodata.com with Bearer token auth. You don't write integration code — you write the prompt: 'Map our pizza restaurant across a 9x9 grid in Brooklyn for the keyword pizza. Show me where we dominate and where competitors are strong.'What changed in 2026 that made this category exist?+
Often used in the same agent prompt
Local Pack API
3-pack rank for one location. 1 credit, 2–4s response.
POST /v1/business/profileGoogle Business Profile API
Hours, categories, photos, attributes, verification.
POST /v1/audit/localLocal Audit API
Composite: rankings + reviews + citations + profile.
POST /v1/mapsLocal Finder API
Extended local results with GPS coordinates.
Map your first service area in 8 seconds.
100 free credits on signup. Your first geogrid scan happens through Claude, not curl.