Developers / Search API

Google Maps Search API

One search. Up to 20 businesses. Receive structured JSON in the same response, with no job polling or webhook setup.

Code Examples

For the complete contract, see the API documentation.

curl https://gmapscrawl.com/api/v1/search \
  -H "Authorization: Bearer $GMSCRAPER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: seattle-coffee-search-001" \
  -d '{"q":"coffee shops in Seattle","page":1,"extra":false}'

Illustrative empty response. A live search returns available businesses. Keep keys server-side and reuse the idempotency key when retrying an unchanged request.

Response

Illustrative JSON
{
  "data": {
    "total": 0,
    "params": {
      "q": "coffee shops in Seattle",
      "page": 1,
      "hl": "en",
      "extra": false
    },
    "businesses": []
  },
  "request_id": "req_example",
  "schema_version": "2026-09-01"
}

Search returns JSON in the same response; no job polling is required. After a timeout, retry the unchanged body with the same Idempotency-Key. Test credentials return simulated data without using your live allowance.

Small responses, straightforward pricing

Each accepted search page uses one API request, including an empty page. Free includes 20 monthly requests. Basic includes 1,000 for $15/month; Professional includes 5,000 for $65/month. Paid overage rates and higher-volume plans are shown on the pricing page.

Search by keyword and location

Send q and optionally page (1–10), ll, hl, gl, and extra. Each page returns at most 20 businesses. Set extra to true to request available email and social contact enrichment; this can take longer. Missing data stays explicit.

A test key returns simulated, non-billable results. Live requests are subject to capacity, plan limits, and source availability. On a timeout, retry the same body with the same Idempotency-Key.

Read the API docs