SerpAPI simplicity. DataForSEO pricing. Built for local.

Clean REST endpoints. JSON responses. Local-SEO-specific data you'd otherwise stitch together from 5 different APIs. Pay-as-you-go starting at $0.005/search.

curl -X POST https://api.localseodata.com/v1/serp/local-pack \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "keyword": "plumber",
    "location": "Orchard Park, NY"
  }'

// Response (200 OK)
{
  "status": "success",
  "credits_used": 1,
  "data": {
    "keyword": "plumber",
    "location": "Orchard Park, NY",
    "results": [
      {
        "position": 1,
        "name": "Roto-Rooter Plumbing",
        "rating": 4.7,
        "reviews": 312,
        "phone": "(716) 555-0123",
        "address": "123 Main St, Orchard Park, NY"
      },
      {
        "position": 2,
        "name": "OP Plumbing & Heating",
        "rating": 4.5,
        "reviews": 187,
        "phone": "(716) 555-0456",
        "address": "456 Union Rd, Orchard Park, NY"
      }
    ]
  }
}

Geogrid Rank Scans

Map local pack rankings across a geographic grid. Returns a rank matrix, average grid rank, and optional vs_previous deltas.

curl -X POST https://api.localseodata.com/v1/geogrid/scan \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "business": "Joe'\''s Pizza",
    "location": "Brooklyn, NY",
    "keyword": "pizza",
    "radius_miles": 3,
    "grid_size": "5x5"
  }'

// Response (200 OK)
{
  "status": "success",
  "credits_used": 5,
  "data": {
    "grid_size": "5x5",
    "average_grid_rank": 3.2,
    "grid": [
      [{"lat": 40.695, "lng": -73.985, "rank": 4}, {"lat": 40.695, "lng": -73.978, "rank": 2}, ...],
      [{"lat": 40.688, "lng": -73.985, "rank": 3}, {"lat": 40.688, "lng": -73.978, "rank": 1}, ...],
      ...
    ]
  }
}

What you can build

Rank Tracker Dashboard

Combine geogrid scans with local pack data to build a visual rank tracking dashboard for any number of locations.

White-Label Client Reports

Pull audits, citations, and review data into branded PDF or web reports. No attribution required.

Claude-Powered Audit Bot

Wire up the MCP server so Claude can run full local SEO audits, interpret geogrids, and generate recommendations.

One call, complete data

What you'd need 5 SerpAPI calls to assemble comes back in one response from our composite /v1/audit/local endpoint. Pre-combined, structured, and ready to use.

With SerpAPI

  • 5 separate API calls
  • Parse and combine yourself
  • ~$0.05 total
  • + your engineering time

With LocalSEOData

  • 1 API call
  • Pre-combined response
  • $0.25 per audit
  • Ship in minutes, not hours

Simple, fast, predictable

Base URL

https://api.localseodata.com/v1

Auth

Bearer token in header

Format

All POST with JSON body, all JSON responses

Rate Limits

10-100 req/sec depending on plan

No queue systems, no POST-then-GET, no priority tiers, no billing multipliers. Just call the endpoint and get your data.

SDKs and integrations

Python SDK

pip install localseodata

Node.js SDK

npm install localseodata

MCP Server

Claude / AI agent integration

Open Source Dashboard

Fork and deploy

50 free credits. First response in under 60 seconds.