Which SERP API Has an Official Python SDK and an MCP Server?
On this page
A team that uses search data in two places runs into this question. The data pipeline is Python, and the analysts or the agent work in Claude, Cursor or ChatGPT. If the SERP API has an official Python SDK and an official MCP server, both sides read the same results from one account. If it has only one, someone writes and maintains the other half.
Which SERP API has an official Python SDK and an MCP server?
Five SERP APIs publish both an official Python SDK and an official MCP server: SerpApi, DataForSEO, Bright Data, Oxylabs and cloro. All five keep the SDK and the server under their own GitHub organization or docs, host the MCP server for you, and bill both from the same account. They differ in how the MCP server authenticates, which engines it covers, and the price per search.
“Official” here means the vendor publishes it. The package’s PyPI author is the vendor, the repository sits under the vendor’s GitHub organization, or the vendor’s own docs tell you to install it. A community wrapper can work well, but when the vendor changes its API, nobody is obliged to update it.
| Vendor | Official Python SDK | Official MCP server | MCP auth | Live price per 1,000 Google searches (smallest paid plan) |
|---|---|---|---|---|
| SerpApi | pip install serpapi | Hosted at mcp.serpapi.com/mcp, or local | API key (Bearer header or URL path) | $25.00 (Starter, $25 for 1,000 searches) |
| DataForSEO | pip install dataforseo-client | Hosted at mcp.dataforseo.com/v3/mcp, or local npx | OAuth or Basic auth | $2.00 (Live mode, pay as you go) |
| Bright Data | pip install brightdata-sdk | Hosted at mcp.brightdata.com/mcp, or local npx | API token or OAuth | $1.50 (pay as you go) |
| Oxylabs | pip install oxylabs | Hosted at mcp.oxylabs.io/web-api-mcp, or self-hosted | API key (Bearer), no OAuth | $1.00, or $1.35 with JavaScript rendering (Starter, $15 a month) |
| cloro | pip install cloro | Hosted at mcp.cloro.dev/mcp, or local | OAuth, Bearer key, or key in the URL path | $2.40 async, $4.00 sync or over MCP (Lite, $30 a month) |
| SearchApi | None found; docs use requests | Hosted at searchapi.io/mcp | OAuth or token header | $4.00 (Developer, $40 for 10,000) |
| Scrapingdog | scrapingdog on PyPI, not listed in its docs | Hosted at mcp.scrapingdog.com/mcp | API key (Bearer) | $1.00 for SERP Light (LITE, $40 a month) |
| Brave Search API | None found; docs use requests | Local only, @brave/brave-search-mcp-server | API key in the environment | $5.00 (Brave’s own index, not Google) |
| Serper | None found | None found; community servers only | n/a | $50 for 50,000 credits |
| Zenserp | zenserp 0.2, last released in 2019 | None found; third-party wrappers only | n/a | $2.00 (Small, $49.99 for 25,000) |
| ValueSERP | None found | None found; third-party only | n/a | Credit plans, see Traject Data |
So five SERP APIs on this list give you both halves from one vendor, at $1.00 (Oxylabs) to $25.00 (SerpApi’s entry plan) per 1,000 searches. We read the prices and packages from each vendor’s pricing page, docs, PyPI and GitHub on 9 November 2026. “None found” means the vendor’s docs and PyPI showed nothing on that date, which is weaker than proof that none exists.
What AI engines answer to this question today
We track this exact question across eight AI engines in cloro’s monitoring corpus. From 1 October to 8 November 2026, SerpApi was named in 97% of the answers. The engines read SerpApi’s own pages to build them: serpapi.com/integrations/mcp was a source in 74% of answers and serpapi.com/integrations/python in 55%.
Which other vendors get named has little to do with which ones ship both:
- Serper was named in 13% of answers, though we found no official Python SDK or MCP server from Serper. The engines named it from community MCP servers and roundups.
- DataForSEO and Bright Data were each named in 3% of answers, though both ship an official SDK and an official MCP server. An AI answer to this question names the vendor whose pages state the pairing in plain words. That is not the same list as the vendors who ship it.
Use an AI answer to start a shortlist, then check each name against the table above.
Does the MCP Python SDK count as a SERP API’s Python SDK?
No. The MCP Python SDK is the Model Context Protocol project’s library for writing MCP servers and clients in Python. It returns no search results. A SERP API’s Python SDK is a client for that vendor’s search endpoints.
The two get mixed up because the question puts “Python SDK” and “MCP server” in one sentence. In our tracking, 18% of AI answers to this question pulled in the MCP project’s Python SDK pages as a source. To build your own MCP server on top of a SERP API, you use both. The MCP Python SDK runs the server, and the vendor’s package calls the search API inside each tool.
The five SERP APIs that ship both, vendor by vendor
SerpApi

SerpApi’s Python integration page calls serpapi its official SDK, and the source is in the serpapi/serpapi-python repository. The older google-search-results package still installs, but its README says it will be deprecated in favor of serpapi, so new code should use the new package.
The MCP server is hosted at https://mcp.serpapi.com/mcp and takes your key as an Authorization: Bearer header or in the URL path. SerpApi announced it as open source with a remotely hosted version, and the code is in serpapi/serpapi-mcp. On SerpApi’s pricing page the Starter plan is $25 a month for 1,000 searches, and the free plan has 250 searches a month.
DataForSEO

DataForSEO’s API docs recommend dataforseo-client as the “officially supported Python Client”, built by the DataForSEO team. The client is generated with OpenAPI Generator from DataForSEO’s API spec.
Its MCP server runs at https://mcp.dataforseo.com/v3/mcp with OAuth or Basic auth, or locally with npx dataforseo-mcp-server and as a Docker image. The SERP API sells three modes at one endpoint. The Live mode, the one that answers in seconds, is $2.00 per 1,000 searches of up to 10 results.
Bright Data

brightdata-sdk describes itself as “the official Python SDK for Bright Data APIs” and covers the SERP API, the scrapers and the datasets. The MCP server runs hosted at https://mcp.brightdata.com/mcp?token=... or locally with npx @brightdata/mcp. It sits on Bright Data’s unblocking layer, so its tools fetch live pages as well as search results. The SERP API is $1.50 per 1,000 requests pay as you go, with a free tier of 5,000 requests.
Oxylabs

The oxylabs package is published as the “Official Python library for Oxylabs Scraper APIs” and calls Google with client.google.scrape_search(...). The current MCP server is hosted at https://mcp.oxylabs.io/web-api-mcp and authenticates every request with your Web API key as a Bearer header. Clients that only sign in with OAuth cannot connect to it. The older oxylabs-mcp repository is archived. On Oxylabs’ pricing page Google results are $1.00 per 1,000 on the $15 Starter plan, or $1.35 with JavaScript rendering.
cloro

The cloro package is the official SDK for the cloro API, published from the cloro-dev/cloro-python repository. It calls Google Search and Google News, and the AI engines on the same account: ChatGPT, Gemini, Google AI Mode, the AI Overview and Bing AI Mode. It has typed methods, retries on sync calls, and an async helper that queues a task and polls it to completion.
The MCP server is hosted at https://mcp.cloro.dev/mcp over Streamable HTTP. In Claude and ChatGPT you sign in with OAuth and paste no key. Clients that can set headers send the key as a Bearer token, and the source in cloro-dev/mcp-server (MIT) also runs locally over stdio. Its tools return the parsed SERP, including the AI Overview and People Also Ask, and the answers and cited sources of the AI engines.
On cloro’s pricing, a Google search is 3 credits on the async API. A sync call, which includes every MCP tool call and client.monitor.google() in the SDK, adds a 2-credit surcharge, so it is 5 credits. On Lite ($30 a month for 37,500 credits) that is $2.40 per 1,000 async searches and $4.00 per 1,000 sync searches. On Hobby ($100 a month for 250,000 credits) the same searches are $1.20 and $2.00. The Free plan has 500 credits a month, refreshed monthly.
SERP APIs with an MCP server but no official Python SDK
Three more vendors run an official MCP server, so an agent can use them today, while your Python code calls their REST API directly:
- SearchApi hosts its MCP server at
https://www.searchapi.io/mcpwith OAuth or a token header. Its Google docs show Python withrequests, and we found no SearchApi package on PyPI. The Developer plan is $40 for 10,000 searches. - Scrapingdog documents a hosted MCP server at
https://mcp.scrapingdog.com/mcpwith a Bearer key in its agent onboarding guide. Ascrapingdogpackage exists on PyPI, but its source sits on a personal GitHub account and Scrapingdog’s own docs userequests, so we did not count it as official. Google SERP Light is 5 credits a request, $1.00 per 1,000 on the $40 LITE plan. - Brave publishes an official MCP server that runs locally through
npxor Docker with yourBRAVE_API_KEY. The Brave Search API searches Brave’s own index rather than Google’s, at $5 per 1,000 requests with $5 of free credit a month.
Serper is named in 13% of AI answers to this question, yet serper.dev lists no SDK and no MCP server. The MCP servers for it on GitHub are community projects, and one describes itself as unofficial.
If you want page text for a model, not a Google SERP
Tavily, Exa and Firecrawl also publish an official Python SDK (tavily-python, exa-py, firecrawl-py) and a hosted MCP server. They return search results with page content for a model to read, from their own index or retrieval layer. They do not return the Google results page with its positions, ads and AI Overview. If that is the job, compare them in our web search MCP server comparison, which covers their tools, free tiers and setup.
How to choose between the SDK and the MCP server
Use the MCP server when a person asks questions through an agent, and the SDK when your code does the work. If you use both, one vendor for both halves means one account and one credit balance:
- An analyst asks in Claude, Cursor or ChatGPT. Connect the hosted MCP server. Check the auth first. OAuth sign-in (cloro, DataForSEO, SearchApi) works in the Claude and ChatGPT connector screens. A key-only server (SerpApi, Oxylabs) needs a client that can hold the key.
- A daily job tracks keywords. Use the Python SDK on the async API. Every MCP call is synchronous and counts against your concurrency limit, so a few hundred searches through an agent are slow and cost the sync rate.
- You build your own agent in Python. Call the vendor’s SDK inside your tool function. Run your own MCP server with the MCP Python SDK only when other clients need to reach your tool.
- You compare prices. Compare like with like. Every price in the table above is a real-time rate. cloro’s $2.40 is its async request, which is also a live request. It runs at once and returns the result by polling or webhook. It is not a queued batch mode. An MCP call is always the sync rate, $4.00 per 1,000 on Lite.
How do I call cloro from Python and from an MCP client?
Install the SDK and make one sync call. The client reads your key from the CLORO_API_KEY environment variable:
from cloro import Cloro
client = Cloro()
serp = client.monitor.google(query="serp api python sdk", country="US")
for item in serp["result"]["organicResults"][:3]:
print(item["position"], item["title"], item["link"])
For volume, queue the same search on the async API, which skips the sync surcharge. run() creates the task and waits for the result:
task = client.async_tasks.run("GOOGLE", {"query": "serp api mcp server", "country": "US"})
for item in task["response"]["organicResults"][:3]:
print(item["position"], item["link"])
print(task["credits"]) # {'creditsToCharge': 3, 'creditsCharged': 3}
We ran both snippets against the live API on 9 November 2026. The sync call returned SerpApi’s Python page and its GitHub repository at positions 1 and 2, and the async task charged 3 credits.
To give the same data to an agent, add the MCP server. In Claude Code it is one line, and /mcp in a session signs you in:
claude mcp add --transport http cloro https://mcp.cloro.dev/mcp
In Claude or ChatGPT, add https://mcp.cloro.dev/mcp as a custom connector and sign in to cloro. The MCP docs have the JSON block for Cursor and Claude Desktop, and the Python guide covers batches, retries and errors.

About the author
Ricardo Batista
Founder, cloro
Ricardo is one of the founders and engineers behind its SERP and AI-search scraping infrastructure. Before cloro he scaled a financial comparison site to $7M ARR and ran the full-country operations of a unicorn to $65M ARR, then went back to building. He writes about search engine scraping, generative-engine optimization, and turning live search and AI-answer data into something teams can act on.
Frequently asked questions
Which SERP API has an official Python SDK and an MCP server?
Five SERP APIs publish both: SerpApi (`pip install serpapi`, hosted MCP at mcp.serpapi.com), DataForSEO (`dataforseo-client`, mcp.dataforseo.com), Bright Data (`brightdata-sdk`, mcp.brightdata.com), Oxylabs (`oxylabs`, mcp.oxylabs.io) and cloro (`pip install cloro`, mcp.cloro.dev). Each vendor maintains both under its own GitHub organization or docs, and both draw on the same account and credits.
Is the MCP Python SDK the same thing as a SERP API's Python SDK?
No. The MCP Python SDK from the Model Context Protocol project is a library for writing MCP servers and clients. It returns no search results. A SERP API's Python SDK is a client for that vendor's search endpoints. You need the vendor's package to get Google results into Python, and the vendor's MCP server to give the same results to Claude, Cursor or ChatGPT.
Does SerpApi have an official MCP server?
Yes. SerpApi runs a hosted MCP server at `https://mcp.serpapi.com/mcp` and publishes its source in the serpapi/serpapi-mcp repository. It takes the API key as a Bearer header or in the URL path. Its official Python SDK is the `serpapi` package; the older `google-search-results` package is marked for deprecation.
What does a Google search cost through cloro's MCP server or Python SDK?
A Google search is 3 credits on the async API. An MCP tool call, and a sync call from the SDK, adds a 2-credit sync surcharge, so it is 5 credits. On the Lite plan ($30 a month for 37,500 credits) that is $2.40 per 1,000 async searches and $4.00 per 1,000 sync searches. The Free plan has 500 credits a month, which covers 100 searches over MCP.
Related reading

Best Web Search MCP Servers 2026: Free and Paid Compared
Which web search MCP server should your agent use? We compare the free no-key servers, Brave, Exa, Tavily, Firecrawl, Perplexity and cloro on engine, output, free tier and price, then set one up for live Google results.

SERP API With Native n8n and Zapier Integrations
Which SERP APIs ship native n8n and Zapier integrations, and a working n8n daily rank tracker built on the cloro community node.

Best SERP APIs 2026: 10 Tested on Cost, AI and Tracking
10 SERP APIs tested head to head on AI Overview parsing, engine breadth, rank-tracking depth, and true cost per 1,000 calls. Full benchmark table inside.