Google Local
Google Local: Phone numbers, addresses, hours, GPS coordinates and more in code friendly JSON format. Structured JSON, USD 0.05 per call in USDC — no API key, no account, no subscription, no minimum. Not affiliated with, endorsed by or an official channel of any of the services the results come from. All trademarks and copyright remain the property of their respective owners.
Answeringour last check, 2026-10-26
1 of 1checks answered this week
254 msmedian answer time
$0.05listed price per call
$0.05price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://serp402.com/api/v1/google-local
| Category | Code and developer |
|---|---|
| Provider host | serp402.com |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 0 from 0 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-26 | valid payment request | 402 | $0.05 | 254 ms |
Example input (from the provider)
{
"body": {
"location": "Austin, Texas, United States",
"q": "pizza"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": true,
"properties": {
"device": {
"description": "device to use to get the results. It can be set to desktop (default) to use a regular browser, tablet to use a tablet browser (currently using iPads), or\u2026",
"type": "string"
},
"gl": {
"description": "country to use for the Google Local search. It's a two-letter country code. (e.g., us for the United States, uk for United Kingdom, or fr for France) Head to\u2026",
"type": "string"
},
"google_domain": {
"description": "Google domain to use. It defaults to google.com . Head to the Google domains for a full list of supported Google domains.",
"type": "string"
},
"hl": {
"description": "language to use for the Google Local search. It's a two or three-letter language code. (e.g., en for English, es for Spanish, or fr for French), optionally\u2026",
"type": "string"
},
"location": {
"description": "from where you want the search to originate. If several locations match the location requested, we'll pick the most popular one. Head to the /locations.json\u2026",
"type": "string"
},
"ludocid": {
"description": "Google CID (customer identifier) of a place. This parameter can be found in Google Local API and Google Search API local results under the name of place_id ,\u2026",
"type": "string"
},
"q": {
"type": "string"
},
"start": {
"description": "result offset. It skips the given number of results. It's used for pagination. The value depends on the number of results returned which can either be 10 or\u2026",
"type": "string"
},
"tbs": {
"description": "(to be searched) parameter defines advanced search parameters that aren't possible in the regular query field.",
"type": "string"
},
"uule": {
"description": "Parameter is the Google encoded location you want to use for the search. uule and location parameters can't be used together. For consistent results with\u2026",
"type": "string"
}
},
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"additionalProperties": true,
"description": "Google Local results as structured JSON. The shape follows the source, so fields differ between endpoints; identifiers and routing belonging to the collection layer are stripped.",
"properties": {
"attribution": {
"description": "Where the data comes from and what was done to it. Keep it with the results if you pass them on.",
"type": "object"
},
"endpoint": {
"description": "Which endpoint answered.",
"type": "string"
},
"meta": {
"description": "How long the call took.",
"type": "object"
},
"paid": {
"description": "The settled transaction and network.",
"type": "object"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}