litescrape_google_serp_organic $0.001 per call
Search Google. Returns a Google results page as JSON: organic results plus every other result group Google served, such as ads, AI Overview, knowledge graph, and local results (Litescrape · Google Keyword Data)
For AI agents: call litescrape_google_serp_organic
POST https://toll402.dev/v1/p/litescrape.google.serp.organic
{
"q": "coffee shops in Austin",
"ludocid": "1234567890123456789",
"kgmid": "/m/0k8z",
"location": "Austin, Texas, United States",
"lat": 30.2672,
"lon": -97.7431,
"google_domain": "google.com",
"gl": "us",
"hl": "en",
"cr": "countryUS",
"lr": "lang_en",
"device": "desktop",
"start": 10,
"as_qdr": "m3",
"as_sitesearch": "example.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": {
"fast_mode": {
"type": "boolean",
"description": "Set true to return only organic_results, search_metadata, and search_parameters, skipping AI Overview and all other result groups. Only lowercase true or false are accepted.",
"default": false
},
"q": {
"type": "string",
"description": "Search query, up to 2,048 characters. Required unless ludocid or kgmid is supplied.",
"examples": [
"coffee shops in Austin"
]
},
"ludocid": {
"type": "string",
"description": "Decimal Google CID for a local entity search. Can replace q.",
"examples": [
"1234567890123456789"
]
},
"kgmid": {
"type": "string",
"description": "Google Knowledge Graph machine ID, such as /m/0k8z. Can replace q.",
"examples": [
"/m/0k8z"
]
},
"location": {
"type": "string",
"description": "Human-readable search location, up to 512 characters. Use only one of location, uule, or lat and lon.",
"examples": [
"Austin, Texas, United States"
]
},
"uule": {
"type": "string",
"description": "Pre-encoded Google location token, up to 2,048 characters. Use only one of location, uule, or lat and lon."
},
"lat": {
"type": "number",
"description": "Latitude between -90 and 90. Supply with lon; conflicts with location and uule.",
"examples": [
30.2672
]
},
"lon": {
"type": "number",
"description": "Longitude between -180 and 180. Supply with lat; conflicts with location and uule.",
"examples": [
-97.7431
]
},
"radius": {
"type": "number",
"description": "Search radius in meters around location or lat and lon, which it requires. 1 to 199 on desktop, 1 to 1,000 on tablet or mobile."
},
"lsig": {
"type": "string",
"description": "Opaque Google local or Knowledge Graph signature, up to 4,096 characters."
},
"si": {
"type": "string",
"description": "Opaque cached Google search context, up to 4,096 characters."
},
"ibp": {
"type": "string",
"description": "Google layout or expansion control, up to 4,096 characters."
},
"uds": {
"type": "string",
"description": "Opaque Google filter token, up to 4,096 characters."
},
"color_scheme": {
"type": "string",
"description": "Google's light or dark result presentation.",
"enum": [
"light",
"dark"
]
},
"google_domain": {
"type": "string",
"description": "A Google domain from Google's supported list, such as google.com or google.co.uk.",
"default": "google.com",
"examples": [
"google.com"
]
},
"gl": {
"type": "string",
"description": "Lowercase two-letter country code used to localize results.",
"examples": [
"us"
]
},
"hl": {
"type": "string",
"description": "Google interface and result language, such as en, en-US, or de. Defaults to en.",
"default": "en",
"examples": [
"en"
]
},
"cr": {
"type": "string",
"description": "Country restriction: one or more countryXX values joined with |, such as countryUS.",
"examples": [
"countryUS"
]
},
"lr": {
"type": "string",
"description": "Language restriction: one or more lang_xx values joined with |, such as lang_en.",
"examples": [
"lang_en"
]
},
"device": {
"type": "string",
"description": "Google returns its real layout for the selected device: desktop, tablet, or mobile.",
"default": "desktop",
"enum": [
"desktop",
"tablet",
"mobile"
],
"examples": [
"desktop"
]
},
"tbs": {
"type": "string",
"description": "Google search-filter string, such as qdr:w, up to 4,096 characters."
},
"safe": {
"type": "string",
"description": "Google adult-content filtering: active or off.",
"enum": [
"active",
"off"
]
},
"nfpr": {
"type": "string",
"description": "Set 1 to disable Google spelling auto-correction, or 0 to allow it.",
"enum": [
"0",
"1"
]
},
"filter": {
"type": "string",
"description": "Google similar-results filtering: 0 or 1.",
"enum": [
"0",
"1"
]
},
"pws": {
"type": "string",
"description": "Google personalization flag: 0 or 1. 0 asks for non-personalized results.",
"enum": [
"0",
"1"
]
},
"peek_pws": {
"type": "string",
"description": "Google personalization companion flag: 0 or 1, forwarded to Google unchanged.",
"enum": [
"0",
"1"
]
},
"tbm": {
"type": "string",
"description": "Google vertical: lcl, vid, nws, shop, or pts. Google Images (isch) is rejected with 400 unsupported_search_vertical.",
"enum": [
"lcl",
"vid",
"nws",
"shop",
"pts"
]
},
"start": {
"type": "integer",
"description": "Result offset for pagination. Defaults to 0.",
"default": 0,
"examples": [
10
]
},
"num": {
"type": "integer",
"description": "Requested result count, 1 to 10. A best-effort hint: Google may return fewer rows, and results are never padded."
},
"as_dt": {
"type": "string",
"description": "Include (i) or exclude (e) the as_sitesearch host. Requires as_sitesearch.",
"enum": [
"i",
"e"
]
},
"as_epq": {
"type": "string",
"description": "Exact phrase the results must contain, up to 2,048 characters."
},
"as_eq": {
"type": "string",
"description": "Words the results must not contain, up to 2,048 characters."
},
"as_lq": {
"type": "string",
"description": "Return pages that link to this complete HTTP(S) URL."
},
"as_nlo": {
"type": "integer",
"description": "Lower bound of a number range. Supply with as_nhi."
},
"as_nhi": {
"type": "integer",
"description": "Upper bound of a number range. Supply with as_nlo."
},
"as_oq": {
"type": "string",
"description": "Additional terms of which any may match, up to 2,048 characters."
},
"as_q": {
"type": "string",
"description": "Additional terms that must all match, up to 2,048 characters."
},
"as_qdr": {
"type": "string",
"description": "Date range: d, w, m, or y with an optional positive count, such as m3 for the past three months.",
"examples": [
"m3"
]
},
"as_rq": {
"type": "string",
"description": "Return pages related to this complete HTTP(S) URL."
},
"as_sitesearch": {
"type": "string",
"description": "Hostname to include or exclude, such as example.com. A hostname, not a URL.",
"examples": [
"example.com"
]
},
"oq": {
"type": "string",
"description": "Original query text from a Google URL, up to 2,048 characters; forwarded unchanged."
},
"gs_lp": {
"type": "string",
"description": "Opaque Google autocomplete-session value from a Google URL, up to 4,096 characters; forwarded unchanged."
},
"sclient": {
"type": "string",
"description": "Google client label such as gws-wiz-serp: up to 64 letters, digits, dots, underscores, or hyphens."
},
"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..."}}}}