serpapi_google_serp_organic $0.01875 per call

Google organic search results for a query. Live Google organic results for a keyword — position, title, URL, snippet, by location (SerpApi · Google Keyword Data)

For AI agents: call serpapi_google_serp_organic
POST https://toll402.dev/v1/p/serpapi.google.serp.organic
{
 "engine": "google",
 "q": "coffee",
 "gl": "us",
 "hl": "en",
 "start": 0
}
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": {
  "engine": {
   "type": "string",
   "description": "the engine selector — must be this literal string",
   "examples": [
    "google"
   ]
  },
  "q": {
   "type": "string",
   "description": "the search query; Google search operators work here",
   "examples": [
    "coffee"
   ]
  },
  "location": {
   "type": "string",
   "description": "city-level origin of the search, e.g. \"Austin, Texas, United States\". Mutually exclusive with uule and with lat/lon"
  },
  "uule": {
   "type": "string",
   "description": "Google's encoded location, as an alternative to `location`"
  },
  "lat": {
   "type": "number",
   "description": "latitude; requires lon and a matching gl"
  },
  "lon": {
   "type": "number",
   "description": "longitude; requires lat"
  },
  "radius": {
   "type": "integer",
   "description": "metres around lat/lon; 1-199 on desktop, 1-1000 on mobile"
  },
  "google_domain": {
   "type": "string",
   "description": "default google.com; e.g. google.co.uk"
  },
  "gl": {
   "type": "string",
   "description": "country code for the search, e.g. us, uk",
   "examples": [
    "us"
   ]
  },
  "hl": {
   "type": "string",
   "description": "interface language code, e.g. en",
   "examples": [
    "en"
   ]
  },
  "cr": {
   "type": "string",
   "description": "restrict to countries, e.g. countryUS; multiple joined by |"
  },
  "lr": {
   "type": "string",
   "description": "restrict to languages, e.g. lang_en; multiple joined by |"
  },
  "device": {
   "type": "string",
   "description": "desktop (default) | tablet | mobile"
  },
  "start": {
   "type": "integer",
   "description": "result offset for pagination — 0, 10, 20 … This is how you page; see the note about `num`",
   "examples": [
    0
   ]
  },
  "tbm": {
   "type": "string",
   "description": "switches the Google vertical: isch (images), vid, nws, shop, lcl, pts"
  },
  "tbs": {
   "type": "string",
   "description": "advanced Google filters, e.g. date range"
  },
  "safe": {
   "type": "string",
   "description": "active | off"
  },
  "nfpr": {
   "type": "string",
   "description": "1 disables Google's auto-correction to a different spelling"
  },
  "filter": {
   "type": "string",
   "description": "0 turns off Google's similar-results and omitted-results filters"
  }
 },
 "additionalProperties": true,
 "required": [
  "engine",
  "q"
 ],
 "description": "Answers arrive in `organic_results`; the same response may also carry `knowledge_graph`, `local_results`, `related_questions`, `related_searches` and `pagination`. `num` IS NOT DOCUMENTED for this engine — Google dropped it upstream and SerpApi's google parameter list does not include it. Page with `start`, not `num`; sending `num` is not a supported way to widen a page."
}

MCP

{"mcpServers":{"toll402":{"command":"npx","args":["-y","toll402-mcp"],"env":{"TOLL402_WALLET_KEY":"0x..."}}}}

All tools · OpenAPI