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..."}}}}

All tools · OpenAPI