litescrape_google_serp_maps $0.001 per call
Search Google Maps. Search Google Maps with q and type=search to get up to 20 places in local_results, or look up one exact place by place_id, data_cid or data to get place_results (Litescrape · Google Keyword Data)
For AI agents: call litescrape_google_serp_maps
POST https://toll402.dev/v1/p/litescrape.google.serp.maps
{
"q": "coffee shops in Austin, TX",
"type": "search",
"place_id": "ChIJT2h1HKZZwokR0kgzEtsa03k",
"ll": "@30.2672,-97.7431,14z",
"location": "Austin, Texas, United States",
"hl": "en",
"gl": "us",
"google_domain": "google.com"
}Answers 402 with x402 payment requirements; pay with any x402 client (@x402/fetch, x402 for Python, toll402-client, toll402-mcp) or send a prepaid-credits key as x-toll402-key (https://toll402.dev/credits). Paid per call via x402 (USDC on Base) or with a prepaid-credits key (x-toll402-key, card at /credits); charged only on success. Start at /llms.txt or connect the MCP server:
npx -y toll402-mcp · remote https://toll402.dev/mcp.Input schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Search query, such as coffee shops in Austin, TX. Required when type=search. A search needs one of q, place_id, data_cid or data.",
"examples": [
"coffee shops in Austin, TX"
]
},
"type": {
"type": "string",
"description": "search returns a list of places in local_results; place returns one exact place in place_results. Required when searching by q or by filter data, and type=place is required with an exact-place data sequence. Can be omitted with place_id or ",
"enum": [
"search",
"place"
],
"examples": [
"search"
]
},
"place_id": {
"type": "string",
"description": "Google Place ID for an exact-place lookup. Mutually exclusive with data_cid and an exact-place data sequence.",
"examples": [
"ChIJT2h1HKZZwokR0kgzEtsa03k"
]
},
"data_cid": {
"type": "string",
"description": "Decimal Google CID for an exact-place lookup. Mutually exclusive with place_id and an exact-place data sequence."
},
"data": {
"type": "string",
"description": "Google Maps protobuf sequence copied from a Maps URL, beginning with ! and at most 8,192 characters. A sequence that identifies one place requires type=place and is mutually exclusive with place_id and data_cid."
},
"ll": {
"type": "string",
"description": "Map viewport as @latitude,longitude,zoomz or @latitude,longitude,radiusm, for example @30.2672,-97.7431,14z. Already includes its scale, so do not add z or m. Mutually exclusive with location and lat/lon.",
"examples": [
"@30.2672,-97.7431,14z"
]
},
"location": {
"type": "string",
"description": "Human-readable location to center the map on, such as Austin, Texas. Requires z or m. Mutually exclusive with ll and lat/lon.",
"examples": [
"Austin, Texas, United States"
]
},
"lat": {
"type": "number",
"description": "Latitude of the map center. Supply with lon and either z or m. Mutually exclusive with ll and location."
},
"lon": {
"type": "number",
"description": "Longitude of the map center. Supply with lat and either z or m. Mutually exclusive with ll and location."
},
"z": {
"type": "number",
"description": "Zoom level from 3 through 30. Use with location or lat/lon. Mutually exclusive with m."
},
"m": {
"type": "number",
"description": "Map radius in meters, from 1 through 15,028,132. Use with location or lat/lon. Mutually exclusive with z."
},
"nearby": {
"type": "boolean",
"description": "Set to true to remove near me wording from the query so the supplied viewport is used. Requires ll, location or lat/lon.",
"default": false
},
"hl": {
"type": "string",
"description": "Language code such as en, en-GB, or de.",
"default": "en",
"examples": [
"en"
]
},
"gl": {
"type": "string",
"description": "Two-letter country code used to localize results. Defaults to us.",
"default": "us",
"examples": [
"us"
]
},
"google_domain": {
"type": "string",
"description": "Google domain used for the request.",
"default": "google.com",
"examples": [
"google.com"
]
},
"start": {
"type": "integer",
"description": "Result offset in steps of 20: 0, 20, 40 and so on. Prefer following pagination.next from the previous response.",
"default": 0
},
"min_price": {
"type": "integer",
"description": "Minimum Google price level, a non-negative integer. Must not exceed max_price."
},
"max_price": {
"type": "integer",
"description": "Maximum Google price level, a non-negative integer. Must be at least min_price."
},
"min_rating": {
"type": "number",
"description": "Minimum star rating. Google treats it as a relevance preference, so lower-rated or unrated places may still appear."
},
"open_state": {
"type": "string",
"description": "now returns places open now; 24h returns places open 24 hours. Cannot be combined with open_on_day or open_at_hour.",
"enum": [
"now",
"24h"
]
},
"open_on_day": {
"type": "string",
"description": "Return places open on this weekday, optionally at open_at_hour. Cannot be combined with open_state.",
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri",
"sat",
"sun"
]
},
"open_at_hour": {
"type": "integer",
"description": "Hour from 0 through 23 at which the place must be open. Requires open_on_day. Cannot be combined with open_state."
},
"timeout": {
"type": "number",
"description": "Optional budget for the entire request in seconds, measured from gateway receipt until the response is ready to send. Includes admission, queueing and settlement. Must be greater than 0 and at most 90. On expiry, the call is not billed and "
}
},
"additionalProperties": true
}
MCP
{"mcpServers":{"toll402":{"command":"npx","args":["-y","toll402-mcp"],"env":{"TOLL402_WALLET_KEY":"0x..."}}}}