Can an AI agent use SerpApi?

As of 12 Oct 2026, an AI agent can't use SerpApi on its own: reCAPTCHA picture puzzle on sign-up.

Level 1 · Needs a personAgents can't get in on their own.
  • Find: Some docs for agents: llms.txt and an MCP server.
  • Access: Can't sign up.
  • Use: Work not reached.
  • Pay: Payment not reached.
  • Leave: Leaving not reached.

To reach L2 · Gets in: let an agent sign up on its own.

With an account set up by a person: not measured yet.

What the levels mean

Driven 12 Oct 2026Same level in 2 drives in a rowRules of 15 Oct 2026Claim this page

Written and checked by our agents from this drive's record. How we write.

Who gets in

  • Agents on a serverStopped by a CAPTCHA on the sign-up form.
  • Signed agentsThe sign-up page opens. The CAPTCHA on the form stops them too.
  • Agents in a person's browserNot measured yet.

Sign-up page checked 12 Oct 2026. Signed agents: the ones Cloudflare verifies. Where agents come from

What an agent can do in SerpApi.

On its own

  • Read all the documentation in plain text/Markdown
  • Look up standardized location names for cities (no account needed)
  • Read the parameter guide for each search type through the MCP connector (no account needed)

What it can't, and why

  • Create an accountA picture-identification puzzle appears
  • Run any searchNeeds a key from an account, which could not be created
  • Pay for a planPaying requires logging into an account first, and sign-up failed
1 more
  • Delete an accountNo account was ever created, and there's no documented way to delete one
Needs a person

Can an AI agent sign up for SerpApi on its own?

No. Sign-up: needs a human. Web form only (or GitHub/Google OAuth). After submit a reCAPTCHA picture puzzle ('Select all squares with bicycles') appeared. No documented API or CLI sign-up.

Official server · 3 of 13 calls worked

Does SerpApi have an MCP server, and can an agent connect to it?

Yes. SerpApi has an official MCP server. The server lists 3 tools.

A new agent can't get in on its own: in the drive of 12 Oct 2026, our agent stopped at sign up (it needs a person). Through the MCP server, 3 of our agent's 13 attempts worked.

What the drive found

API–OpenAPIMCP · officialCLISDKllms.txt–Webhooks–Sandbox

Not reached in this drive: the API key, deleting the account and paying. Every checkpoint, in detail

For the team behind SerpApi.

Where agents stop in SerpApi today, and the fixes that get them further, highest impact first.

Stops at sign up

The fixes, highest impact first

  1. Let verified agents sign up without a puzzleStep-by-step guide
  2. Allow agents on /search in robots.txt
  3. Add an API for API keys
3 more fixes
  1. Serve an OpenAPI description Step-by-step guide
  2. Accept x402 or MPP on /search Step-by-step guide
  3. Document account deletion
  • Claim it free and reply next to the result.
  • A Drive, $49: your private report, with where agents stop, the evidence and the fixes that move your level.
  • Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).
See the example report
Details

Your API, MCP server or CLI is the product? An Audit ($299) also checks every documented route, MCP tool and CLI command against your docs. Compare plans.

Already claimed it? Open it in your dashboard.

Rather not be driven? Block AgentDrivesAgent in robots.txt or write to us. We stop driving it ourselves; this page stays, with its date.

Embed the badge on your site

Driven · L1 · Needs a person badge

Behind the level.

Our agent couldn't get into SerpApi, so the work, its reliability and the crash test aren't measured. The part scores are what it could judge from the outside.

Part scores · level history · paid plans

Part scores

Agent-ready setup

  • llms.txt: found
  • OpenAPI: not found
  • MCP server: found
  • CLI: found

Not measured in this drive: Holds up, Docs match (part of an Audit).

Security: reported privately to the owner

Level history

  1. 6 Oct 2026L1Needs a person
  2. 12 Oct 2026L1Needs a person

Needs a paid plan

Not counted in the level.

Needs a paid plan
CapabilityPlan
ZeroTraceCloud 1M+
Automatic Early Renewalpaid
Extra creditspaid
Speed modespaid multiplier
Legal ShieldProduction+
Priority SupportCloud 1M+

For agents and builders.

The drive as data, every checkpoint and all 44 attempts.

How an agent connects · 5 tips
  • Use the official MCP server at https://mcp.serpapi.com/mcp (2026-07-28, stateless); key in the path or a Bearer header.
  • Read serpapi://engines/{engine} before building params.
  • Send Mcp-Name matching the tool name or resource uri.
  • /locations.json needs no key.
  • Every docs page has a .md version.
Every checkpoint, in detail · 9 checkpoints
  1. DocsHeadlessllms.txt, .md versions of every docs page, and Accept: text/markdown all work. No OpenAPI (/openapi.json 404).
  2. Sign upNeeds a humanWeb form only (or GitHub/Google OAuth). After submit a reCAPTCHA picture puzzle ('Select all squares with bicycles') appeared. No documented API or CLI sign-up.
  3. VerifyNot reachedNot reached: no account.
  4. KeyNot reachedNot reached: the API key is shown on /manage-api-key after login. The CLI's 'serpapi login' only stores a key you already have. No API to create, scope or revoke keys.
  5. First callNot reachedNo key: /account.json gave 401 'Invalid API key'. MCP search gave 'Missing API key'. robots.txt also disallows /search? and /search.json for all user agents, which covers the documented REST endpoint.
  6. First actionNot reachedNot reached: no key.
  7. PayNot reachedFree plan (250 searches/month); paid plans from $25/mo are bought on the logged-in plan page. No 402 challenge, no x402/MPP, no billing API, CLI or MCP payment tool. We paid nothing. The checkout processor and whether it needs a card could not be seen without an account. Graded as the likely ceiling: a person-run card checkout. [INFERENCE] not confirmed.
  8. CancelNot reachedNot tested: no account or plan was ever started, because sign-up stopped at the reCAPTCHA puzzle. pricing.md says cancel is available any time on the web plan page, but this was never reached.
  9. DeleteNot reachedNo account was created. No documented API or CLI to delete an account.
The attempt log · 44 attempts
Attempt log
CapabilityRouteResultEvidence
robots.txt: Read robots.txtapidone ✓User-agent: * Disallow: /samples/ /searches/ /search? /search.json /search.html; no Content-Usage or Content-signal lines
llms.txt: Fetch /llms.txtapidone ✓200 text, H1 "# SerpApi", links to .md docs per engine, sign-up URL /users/sign_up, says output=md, /search.md or Accept: text/markdown
markdown docs: Accept: text/markdown on /search-api and /search-api.mdapidone ✓Both 200 content-type text/markdown; vary: accept-encoding only (no Vary: Accept)
well-known cards: ai-catalog, agent-card, agent.json, mcp server-card, auth.md, SKILL.md, oauth metadataapifailed ✓All 404 text/html on serpapi.com; mcp.serpapi.com/mcp/server-card 404; /openapi.json 404 (pay_probe)
MCP server/discover: POST server/discover 2026-07-28 to https://mcp.serpapi.com/mcpmcpdone ✓200 application/json, supportedVersions ["2026-07-28"], serverInfo SerpApi MCP Server 2.0.0, server uvicorn, extensions io.modelcontextprotocol/ui; no auth needed for discover; /.well-known/oauth-protected-resource 404
sign up: Create an account with the agent's inboxapifailed ✓GET https://serpapi.com/users/sign_up: web form only (Full Name, Email, Password, Confirm, plus GitHub/Google OAuth) with reCAPTCHA; no documented API/CLI sign-up (llms.txt lists only the web URL)
sign up: Submit the sign-up form in the browserbrowserblocked ✓pw: form filled, click Sign Up -> reCAPTCHA image puzzle "Select all squares with bicycles" (visible_challenge true, shots/003.png).
aipref: Content-Usage in robots.txt and headersapifailed ✓robots.txt has no Content-Usage/Content-signal line; no Content-Usage response header on / or /search-api
MCP tools/list: List tools and resources keylessmcpdone ✓3 tools: search, search_table, search_dashboard (params object); resources serpapi://engines index + 2 MCP-App UI renderers; tools/call search without key -> isError "Missing API key. Use path format /{API_KEY}/mcp or Authorization: Bearer {API_KEY} header."
pay step public probes: Read pay_probe/pay_tx; check pricing.md for checkout/billing API/agent railsapidone ✓pay_probe: no 402 challenges, no x402/mpp/agents subdomains (no such host), no /openapi.json, /.well-known/ucp 404, no registry listings; pay_tx: refused, no 402 on product domain. pricing.md: Free $0/250 searches, paid plans $25+/mo, "Month-to-month. Cancel anytime", upgrade/downgrade/cancel on the account plan page; no billing API, CLI or MCP payment tool documented. Checkout processor not visible without an account.
verify email: Verify sign-up mailnoneblockedNo account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
API key: Get API key; create a scoped key headlessnoneblockedNo account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with. Docs: key is shown on the web page /manage-api-key (needs login; manage-api-key.md answers 401); serpapi-cli README: "serpapi login" is an interactive flow saving an existing key; no documented API to create, scope or revoke keys.
first API call: GET /account.json and MCP searchapiblocked ✓GET https://serpapi.com/account.json without key -> 401 {"error":"Invalid API key. Your API key should be here: https://serpapi.com/manage-api-key"}; robots.txt also disallows /search? and /search.json for all user agents.
first real action: Run a searchmcpblocked ✓MCP tools/call search keyless -> "Missing API key"; No account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
Google search: Run it via MCP search toolmcpblockedMCP search needs an API key ("Missing API key"); REST /search? Is disallowed by robots.txt; No account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
other engines: Run it via MCP search toolmcpblockedMCP search needs an API key ("Missing API key"); REST /search? Is disallowed by robots.txt; No account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
Google verticals: Run it via MCP search toolmcpblockedMCP search needs an API key ("Missing API key"); REST /search? Is disallowed by robots.txt; No account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
localize by location/GPS: Run it via MCP search toolmcpblockedMCP search needs an API key ("Missing API key"); REST /search? Is disallowed by robots.txt; No account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
gl/hl localization: Run it via MCP search toolmcpblockedMCP search needs an API key ("Missing API key"); REST /search? Is disallowed by robots.txt; No account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
device: Run it via MCP search toolmcpblockedMCP search needs an API key ("Missing API key"); REST /search? Is disallowed by robots.txt; No account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
pagination: Run it via MCP search toolmcpblockedMCP search needs an API key ("Missing API key"); REST /search? Is disallowed by robots.txt; No account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
output json/html/md: Try it oncemcpblockedNo account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
json_restrictor: Try it onceapiblockedNo account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
pixel position: Try it onceapiblockedNo account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
no_cache: Try it onceapiblockedNo account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
async search: Try it onceapiblockedNo account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with. /searches/ is also disallowed by robots.txt.
search archive: Try it onceapiblockedNo account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with. /searches/ is also disallowed by robots.txt.
search_table/search_dashboard MCP App: Try it oncemcpblockedNo account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
account usage: Try it onceapiblockedNo account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with. GET /account.json keyless -> 401 Invalid API key.
locations lookup: Find canonical location for Austinapidone ✓GET https://serpapi.com/locations.json?q=Austin&limit=3 -> 200 JSON array; first: canonical_name "Austin,Texas,United States", google_id 1026201, target_type City (no key needed, as the CLI README says)
per-engine parameter schemas: Read serpapi://engines/google_flights over MCPmcpdone ✓resources/read serpapi://engines/google_flights (keyless) -> application/json with engine google_flights and params incl. departure_id with description. First try without Mcp-Name header for the uri -> 400 -32020 "mcp-name header does not match the request body's 'uri' parameter" (clear, fixed).
UULE generator: Encode "Austin,Texas,United States" in the UULE toolbrowserfailed ✓pw on /tools/uule-generator: filled Canonical Name, clicked Encode; no result shown (shots/012-013); page loads reCAPTCHA; nothing explained.
Playground: Search "coffee" in the Playground logged outbrowserblocked ✓pw /playground Search -> {"error":"We are unable to load ReCaptcha and verify your browser."} and "Register / Sign In for a full access to our APIs." (shots/015.png). Invisible reCAPTCHA rejected our agent's browser.
ZeroTrace: Check against docsnoneplan_gated ✓Documented: pricing.md: ZeroTrace Mode only on Cloud 1M+ plans; /zero-trace-mode page exists
Automatic Early Renewal: Check against docsnoneplan_gated ✓Documented: pricing.md FAQ: toggle at https://serpapi.com/plan (web)
upgrade/downgrade/cancel: Check against docsnoneblocked ✓Documented: pricing.md FAQ: "you can upgrade, downgrade, or cancel your plan at any time"; web plan page only. No account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
extra credits: Check against docsnoneplan_gated ✓Documented: /extra-credits page (login); pricing FAQ mentions Extra Credits balance
Speed modes: Check against docsnoneplan_gated ✓Documented: pricing.md Speed Modes table: Ludicrous 2x, Max 4x
Legal Shield: Check against docsnoneplan_gated ✓Documented: pricing.md: Yes from Production ($150/mo)
Priority Support: Check against docsnoneplan_gated ✓Documented: pricing.md: Yes on Cloud 1M+
API key rotation: Check against docsnoneblocked ✓Documented: /manage-api-key web page (manage-api-key.md 401 without login); no API documented. No account: sign-up stopped at a reCAPTCHA picture puzzle; no key to call with.
cancel plan: Cancelnoneskippednot tested: no plan or trial was started; pricing.md: cancel any time on the web plan page, remaining searches usable until renewal
delete account: Delete accountnoneblockedNo account was created (sign-up stopped at reCAPTCHA). No documented API/CLI account delete found in llms.txt, pricing.md or integrations.md.
keyless /search.md: One probe of documented /search.md (not disallowed by robots.txt) without an api_keyapidone ✓GET /search.md?engine=google&q=coffee without api_key -> 200 text/markdown with search_metadata status Success, created_at about 1 h before (a cached result). Not used further.

Also in Search APIs.