APIEndpoint 39 of 40Ranking / Local Search / Geogrid

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 5x5, 7x7, or 9x9 grid — 25 to 81 points — returns an Average Grid Rank score and a rank matrix. 50-162 credits per scan depending on grid size. We run this infrastructure in-house.

POST /v1/geogrid/scan · 50-162 credits (async)

POST /v1/geogrid/scanasync · 98 credits
Local ranks · 7×7 gridplumber · Austin TX · avg 4.2
3
2
1
1
2
4
7
2
1
1
1
2
3
5
1
1
1
2
3
5
8
1
1
2
3
5
9
12
2
3
4
6
10
4
6
9
12
7
11

Top 3

22

In pack

39

Out

10

▌ Ask your agent

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.

Service area mapping

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.

Monthly location tracking

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.

Multi-location competitive grid

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.

Franchise service area audit

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.

Real response

What you get back

Live response from POST /v1/geogrid/scan for a pizza restaurant in Brooklyn, 5x5 grid.

response · application/json~12–15s · 50 credits
{
  "status": "success",
  "credits_used": 50,
  "data": {
    "business": "Joe's Pizza",
    "keyword": "pizza",
    "grid_size": "5x5",
    "radius_miles": 3,
    "center": { "lat": 40.6892, "lng": -73.9857 },
    "average_grid_rank": 3.2,
    "found_in": 24,
    "grid": [
      [
        { "lat": 40.710, "lng": -74.006, "rank": 4 },
        { "lat": 40.710, "lng": -73.996, "rank": 2 },
        { "lat": 40.710, "lng": -73.986, "rank": 1 },
        { "lat": 40.710, "lng": -73.976, "rank": 3 },
        { "lat": 40.710, "lng": -73.966, "rank": 5 }
      ],
      [
        { "lat": 40.700, "lng": -74.006, "rank": 3 },
        { "lat": 40.700, "lng": -73.996, "rank": 1 },
        { "lat": 40.700, "lng": -73.986, "rank": 1 },
        { "lat": 40.700, "lng": -73.976, "rank": 2 },
        { "lat": 40.700, "lng": -73.966, "rank": 4 }
      ],
      [
        { "lat": 40.690, "lng": -74.006, "rank": 2 },
        { "lat": 40.690, "lng": -73.996, "rank": 1 },
        { "lat": 40.690, "lng": -73.986, "rank": 2 },
        { "lat": 40.690, "lng": -73.976, "rank": 1 },
        { "lat": 40.690, "lng": -73.966, "rank": 3 }
      ],
      [
        { "lat": 40.680, "lng": -74.006, "rank": 6 },
        { "lat": 40.680, "lng": -73.996, "rank": 4 },
        { "lat": 40.680, "lng": -73.986, "rank": 3 },
        { "lat": 40.680, "lng": -73.976, "rank": 4 },
        { "lat": 40.680, "lng": -73.966, "rank": 6 }
      ],
      [
        { "lat": 40.670, "lng": -74.006, "rank": 8 },
        { "lat": 40.670, "lng": -73.996, "rank": 6 },
        { "lat": 40.670, "lng": -73.986, "rank": 5 },
        { "lat": 40.670, "lng": -73.976, "rank": 7 },
        { "lat": 40.670, "lng": -73.966, "rank": 9 }
      ]
    ]
  }
}
Returns

The complete geographic rank picture, structured for action

Average Grid Rank

AGR: composite rank score across all grid points

Single number showing average rank across your service area. Lower is better. Compare month-to-month to spot geographic rank trends.

Rank matrix

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.

Coverage

found_in count: how many grid points showed your business

Out of 25 (5x5) or 81 (9x9) grid points, how many returned your business in the local pack. High coverage = geographic authority in that market.

Grid options

5x5 (25 points), 7x7 (49 points), 9x9 (81 points)

Smaller grids cost 50-98 credits, larger grids give street-level precision. Pair with Local Pack API for single-location rank tracking.

Built for

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 agencies

Franchise 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 franchises

Competitive 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 API

Hyperlocal 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 consultants
vs. the alternatives

Why 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.

ApproachCost per scanGrid sizesAsync/bulkAgent-ready
Manual: Google Maps from each location2–4 hours labor per gridOne point onlyNoNo
Local Falcon (dashboard)Unlimited in subscription5x5 to 21x21Limited; manual exportsAPI limited, mostly UI
GMB Crush / GeoRankerFlat monthly fee $49–$199Fixed gridsDashboard-onlyNo direct API
Local Viking (geogrid)Subscription + per-scan5x5 to 21x21Limited asyncREST API, no MCP
BrightLocal (rank tracking)$39–$149/mo (bundles)Single-point onlyScheduled crawlsCSV export only
Local SEO Data Geogrid API$0.25–0.81 per scan5x5, 7x7, 9x9 (25–81 points)Native async, bulk-readyNative MCP + REST, agent-first
Connect in 60 seconds

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.com

See the docs for endpoint reference and auth.

Quickstart

Your first call in three lines

Core parameters: `business` (business name), `location` (city/state), `keyword` (rank for what), and `grid_size` (5x5, 7x7, 9x9; default 5x5). The endpoint is async — you POST and get a job ID, then poll for results. Typical response time is 8–20 seconds depending on grid size.

terminal · curl
POST /v1/geogrid/scan
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
  }'
Pricing for this endpoint

$0.25–0.81 per scan

Pay-as-you-go starts at $5. Monthly plans from $19. Grid size and radius determine cost. Funds never expire.

5x5 grid (25 points)
50
credits per scan
7x7 grid (49 points)
98
credits per scan
9x9 grid (81 points)
162
credits per scan
FAQ

Common questions

What is the Local Rank Tracking API (Geogrid)?+
A REST endpoint that maps your business's local pack ranking across multiple geographic points in a city. You specify a business, location (city/state), and keyword. The endpoint returns your Average Grid Rank (AGR) and a 2D grid showing your rank at each point. A 5x5 grid covers 25 points, 7x7 covers 49, 9x9 covers 81 — all with GPS coordinates. This is the data layer underneath service-area mapping, franchise audits, and hyperlocal marketing strategies. The endpoint is async — POST starts a scan, then poll for results. Cost is 50-162 credits depending on grid size.
How does this differ from Local Pack API?+
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 25–81 grid points in the same city — slower (8-20s), costs 50-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)?+
Your average rank across all grid points in the scan. If you rank #1 at 18 points and #10 at 7 points, your AGR is around 3.2. Lower is better. 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?+
You specify a center location (e.g., 'Brooklyn, NY'). The endpoint calculates the geographic centroid and spreads grid points outward based on radius_miles. Default is 3 miles; you can adjust to 1-20 miles depending on your service area. A 5x5 grid with 3-mile radius covers roughly 6x6 miles. A 9x9 grid with 5-mile radius covers roughly 10x10 miles.
Is this endpoint synchronous or asynchronous?+
Async. You POST the request and get back a job ID immediately. Then poll GET /v1/geogrid/scan/{job_id} until status is 'completed'. This design lets agents queue multiple scans in parallel without blocking. Typical response time is 8–20 seconds depending on grid size and server load.
What grid sizes are available?+
Three standard grids: 5x5 (25 points, 50 credits), 7x7 (49 points, 98 credits), 9x9 (81 points, 162 credits). Larger grids give more precise street-level data but cost more and take longer. 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?+
We operate geogrid scanning infrastructure in-house — not via DataForSEO. Each grid point triggers a live local pack query from our collection infrastructure. Results reflect real Google rankings at call time. Data freshness is real-time (seconds), but because the scan is async and parallelized, the full grid takes 8-20 seconds to complete.
How does this compare to Local Falcon, GMB Crush, GeoRanker, and Local Viking?+
Those are dashboard-era tools ($79–$499/mo). Local Falcon and Local Viking offer 5x5 to 21x21 grids via browser UI, with limited API. GMB Crush and GeoRanker offer fixed grids for a flat fee. We built an async API that returns raw JSON rank data. Cost: we charge per scan ($0.25–0.81), they charge per seat or subscription. Use-case: they're best for humans reading dashboards; we're best for agents running bulk scans, multi-location franchises, or monthly automated tracking.
Can I use this for businesses I don't own?+
Yes — competitor mapping, market research, prospect audits. Specify any business name and location. You don't need verification or ownership. This is what makes competitive mapping and service-area research actually work.
How does my agent use this?+
Two paths. MCP: add Local SEO Data to your 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?+
Two things. First: MCP (Model Context Protocol) became standard, letting agents call specialized APIs without custom integration code. Second: geogrid tracking moved from dashboard visualization to agent-driven data workflows. Local Falcon built a business on heatmaps for humans. The moment AI agents became practical, the right shape of the product flipped to 'async endpoint your agent polls' instead of 'login to a dashboard.' We operate the infrastructure you used to need a $199/mo tool for.

Map your first service area in 8 seconds.

50 free credits on signup. Your first geogrid scan happens through Claude, not curl.

▌ MADE FOR THE NEW LOCAL SEO STACK