How SerpApi’s scores are calculated
The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.
verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10
PA Score22/100
Agent-ready 51.7 × 0.30 = 15.51
API quality 8.6 × 0.20 = 1.72
Openness 16.3 × 0.20 = 3.26
Built-in AI 10.0 × 0.15 = 1.50
Automation 0.0 × 0.15 = 0.00
(15.51 + 1.72 + 3.26 + 1.50 + 0.00) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 21.99 ÷ 1.00 = 22.0
Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.
Agent-ready51.7/100×0.30 of the PA blend
Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.
Point an agent at llms.txt or agent-oriented docsweight 2
2 (weight) × 9 (quality) × 1.0 (full) = 18.0 of 20 max
- [probe] https://serpapi.com/llms.txt“PROBE llms.txt: HTTP 200 at https://serpapi.com/llms.txt # SerpApi > SerpApi provides a real-time JSON API for accessing structured search engine results from Google, Bing, Bai”
- [probe] https://serpapi.com/search-api.md“PROBE docs-md: HTTP 200 at https://serpapi.com/search-api.md --- title: "Google Search Engine Results API" description: "Scrape Google search results in JSON format automatically us”
- [claimed-docs] https://serpapi.com/markdown-output.md“Serve any SerpApi search result as clean markdown. Same data as JSON, zero configuration, roughly half the tokens. Works with every API.”
- [claimed-docs] https://serpapi.com/integrations.md“Install the library for your language and use your API key to start searching”
- [claimed-docs] https://serpapi.com/integrations.md“The MCP integration allows any MCP-compatible AI agent (Claude, ChatGPT, Cursor, etc.) to use SerpApi as a web search tool.”
- [probe] https://github.com/serpapi/serpapi-mcp“official MCP server documented at https://github.com/serpapi/serpapi-mcp”
Run the product headlessly / in CI for automationweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [github] https://github.com/serpapi/google-search-results-python“search = GoogleSearch({"q": "coffee", "location": "Austin,Texas", "api_key": "<your secret api key>"}) result = search.get_dict()”
- [claimed-docs] https://serpapi.com/google-news-api“Parameter defines the way you want to submit your search to SerpApi. It can be set to `false` (default) to open an HTTP connection and keep it open until you got your search results, or `true` to just submit your search to SerpApi and retrieve them later.”
- [github] https://github.com/serpapi/google-search-results-python“SerpApi provides a script builder to get you started quickly.”
- [claimed-docs] https://serpapi.com/integrations.md“Install the library for your language and use your API key to start searching”
- [probe] https://serpapi.com/search-api.md“PROBE docs-md: HTTP 200 at https://serpapi.com/search-api.md --- title: "Google Search Engine Results API" description: "Scrape Google search results in JSON format automatically us”
Plug MCP servers into this product so it can use their toolsweight 3
n/a — not applicable to this product: excluded from numerator and denominator
- [claimed-docs] https://serpapi.com/integrations.md“The MCP integration allows any MCP-compatible AI agent (Claude, ChatGPT, Cursor, etc.) to use SerpApi as a web search tool.”
- [probe] https://github.com/serpapi/serpapi-mcp“official MCP server documented at https://github.com/serpapi/serpapi-mcp”
Connect an agent via an official MCP serverweight 3
3 (weight) × 7 (quality) × 1.0 (full) = 21.0 of 30 max
- [claimed-docs] https://serpapi.com/integrations.md“The MCP integration allows any MCP-compatible AI agent (Claude, ChatGPT, Cursor, etc.) to use SerpApi as a web search tool.”
- [probe] https://github.com/serpapi/serpapi-mcp“official MCP server documented at https://github.com/serpapi/serpapi-mcp”
- [claimed-docs] https://serpapi.com/integrations.md“Install the library for your language and use your API key to start searching”
Use an official CLIweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Drive the product through a documented public APIweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://serpapi.com/search-api“Our Google Search API allows you to scrape results from the Google search page.”
- [claimed-docs] https://serpapi.com/markdown-output.md“Serve any SerpApi search result as clean markdown. Same data as JSON, zero configuration, roughly half the tokens. Works with every API.”
- [claimed-docs] https://serpapi.com/integrations.md“Install the library for your language and use your API key to start searching”
- [claimed-docs] https://serpapi.com/integrations.md“The MCP integration allows any MCP-compatible AI agent (Claude, ChatGPT, Cursor, etc.) to use SerpApi as a web search tool.”
- [github] https://github.com/serpapi/google-search-results-python“search = GoogleSearch({"q": "coffee", "location": "Austin,Texas", "api_key": "<your secret api key>"}) result = search.get_dict()”
- [probe] https://serpapi.com/llms.txt“PROBE llms.txt: HTTP 200 at https://serpapi.com/llms.txt # SerpApi > SerpApi provides a real-time JSON API for accessing structured search engine results from Google, Bing, Bai”
- [probe] https://serpapi.com/search-api.md“PROBE docs-md: HTTP 200 at https://serpapi.com/search-api.md --- title: "Google Search Engine Results API" description: "Scrape Google search results in JSON format automatically us”
- [probe] https://serpapi.com/openapi.json“PROBE openapi: all candidate paths 404 (https://serpapi.com/openapi.json, https://serpapi.com/swagger.json, https://serpapi.com/api/openapi.json, https://serpapi.com/.well-known/openapi.json)”
- [probe] https://github.com/serpapi/serpapi-mcp“official MCP server documented at https://github.com/serpapi/serpapi-mcp”
Issue scoped/least-privilege API credentials for an agentweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [github] https://github.com/serpapi/google-search-results-python“search = GoogleSearch({"q": "coffee", "location": "Austin,Texas", "api_key": "<your secret api key>"}) result = search.get_dict()”
- [community] https://news.ycombinator.com/item?id=46165251“Embedding the API key (secret) in the URL complicates secret management. Please move that to a header and allow setting via env var.”
Build against official SDKsweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [github] https://github.com/serpapi/google-search-results-python“search = GoogleSearch({"q": "coffee", "location": "Austin,Texas", "api_key": "<your secret api key>"}) result = search.get_dict()”
- [github] https://github.com/serpapi/google-search-results-python“This package will soon be **deprecated** in favor of [serpapi-python](https://github.com/serpapi/serpapi-python). We recommend migrating to the newer implementation to ensure continued support and access to the latest features and improvements.”
- [github] https://github.com/serpapi/google-search-results-python“This Python package is meant to scrape and parse search results from Google, Bing, Baidu, Yandex, Yahoo, Home Depot, eBay and more”
- [claimed-docs] https://serpapi.com/markdown-output.md“Serve any SerpApi search result as clean markdown. Same data as JSON, zero configuration, roughly half the tokens. Works with every API.”
- [claimed-docs] https://serpapi.com/integrations.md“Install the library for your language and use your API key to start searching”
- [claimed-docs] https://serpapi.com/integrations.md“The MCP integration allows any MCP-compatible AI agent (Claude, ChatGPT, Cursor, etc.) to use SerpApi as a web search tool.”
- [probe] https://github.com/serpapi/serpapi-mcp“official MCP server documented at https://github.com/serpapi/serpapi-mcp”
Subscribe to events via webhooksweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://serpapi.com/google-news-api“Parameter defines the way you want to submit your search to SerpApi. It can be set to `false` (default) to open an HTTP connection and keep it open until you got your search results, or `true` to just submit your search to SerpApi and retrieve them later.”
- [claimed-docs] https://serpapi.com/google-news-api“you'll need to use our Searches Archive API to retrieve your results”
Agent-ready = 93.0 ÷ 180 × 100 = 51.7
API quality8.6/100×0.20 of the PA blend
The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.
Explore an interactive API reference with runnable examplesweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [github] https://github.com/serpapi/google-search-results-python“SerpApi provides a script builder to get you started quickly.”
- [claimed-docs] https://serpapi.com/integrations.md“Install the library for your language and use your API key to start searching”
- [probe] https://serpapi.com/search-api.md“PROBE docs-md: HTTP 200 at https://serpapi.com/search-api.md --- title: "Google Search Engine Results API" description: "Scrape Google search results in JSON format automatically us”
- [probe] https://serpapi.com/openapi.json“PROBE openapi: all candidate paths 404 (https://serpapi.com/openapi.json, https://serpapi.com/swagger.json, https://serpapi.com/api/openapi.json, https://serpapi.com/.well-known/openapi.json)”
- [claimed-docs] https://serpapi.com/markdown-output.md“Serve any SerpApi search result as clean markdown. Same data as JSON, zero configuration, roughly half the tokens. Works with every API.”
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://serpapi.com/openapi.json“PROBE openapi: all candidate paths 404 (https://serpapi.com/openapi.json, https://serpapi.com/swagger.json, https://serpapi.com/api/openapi.json, https://serpapi.com/.well-known/openapi.json)”
- [probe] https://serpapi.com/llms.txt“PROBE llms.txt: HTTP 200 at https://serpapi.com/llms.txt # SerpApi > SerpApi provides a real-time JSON API for accessing structured search engine results from Google, Bing, Bai”
- [probe] https://serpapi.com/search-api.md“PROBE docs-md: HTTP 200 at https://serpapi.com/search-api.md --- title: "Google Search Engine Results API" description: "Scrape Google search results in JSON format automatically us”
Test against a sandbox environment without touching production dataweight 1
1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Rely on versioned APIs with a documented deprecation policyweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [github] https://github.com/serpapi/google-search-results-python“This package will soon be **deprecated** in favor of [serpapi-python](https://github.com/serpapi/serpapi-python). We recommend migrating to the newer implementation to ensure continued support and access to the latest features and improvements.”
- [github] https://github.com/serpapi/google-search-results-python“We recommend migrating to the newer implementation to ensure continued support and access to the latest features and improvements.”
- [github] https://github.com/serpapi/google-search-results-python“This package will soon be deprecated in favor of serpapi-python. We recommend migrating to the newer implementation to ensure continued support and access to the latest features and improvements.”
- [probe] https://serpapi.com/openapi.json“PROBE openapi: all candidate paths 404 (https://serpapi.com/openapi.json, https://serpapi.com/swagger.json, https://serpapi.com/api/openapi.json, https://serpapi.com/.well-known/openapi.json)”
API quality = 6.0 ÷ 70 × 100 = 8.6
Openness16.3/100×0.20 of the PA blend
Can you leave, inspect, or self-host — data export, open source, portability.
Do everything through the API that I can do in the UIweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://serpapi.com/search-api“Our Google Search API allows you to scrape results from the Google search page.”
- [claimed-docs] https://serpapi.com/google-news-api“Parameter defines the format of the result. It can be set to `json` (default) to get a structured JSON of the results, `html` to get the raw HTML retrieved, or `md` to get a markdown-formatted version optimized for LLMs and AI agents.”
- [claimed-docs] https://serpapi.com/pricing“With ZeroTrace Mode enabled, we don't store your search parameters, files, or data. Once a search completes, it's as if it never happened.”
- [claimed-docs] https://serpapi.com/pricing“You can set your plan to Automatic Early Renewal. It will trigger an early renewal once you've used all your searches.”
- [claimed-docs] https://serpapi.com/api-metrics“Monitor SerpApi's live API success rates and response times.”
- [probe] https://serpapi.com/openapi.json“PROBE openapi: all candidate paths 404 (https://serpapi.com/openapi.json, https://serpapi.com/swagger.json, https://serpapi.com/api/openapi.json, https://serpapi.com/.well-known/openapi.json)”
- [claimed-docs] https://serpapi.com/integrations.md“Install the library for your language and use your API key to start searching”
Export all of my data in open formats and leaveweight 3
3 (weight) × 3 (quality) × 0.6 (partial) = 5.4 of 30 max
- [claimed-docs] https://serpapi.com/google-news-api“Parameter defines the format of the result. It can be set to `json` (default) to get a structured JSON of the results, `html` to get the raw HTML retrieved, or `md` to get a markdown-formatted version optimized for LLMs and AI agents.”
- [claimed-docs] https://serpapi.com/google-news-api“output to `json` (default)... `html` to get the raw HTML retrieved, or `md` to get a markdown-formatted version optimized for LLMs and AI agents.”
- [claimed-docs] https://serpapi.com/markdown-output.md“Serve any SerpApi search result as clean markdown. Same data as JSON, zero configuration, roughly half the tokens. Works with every API.”
- [claimed-docs] https://serpapi.com/google-news-api“you'll need to use our Searches Archive API to retrieve your results”
- [claimed-docs] https://serpapi.com/pricing“With ZeroTrace Mode enabled, we don't store your search parameters, files, or data. Once a search completes, it's as if it never happened.”
Read the product's source under an open licenseweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [github] https://github.com/serpapi/google-search-results-python“This Python package is meant to scrape and parse search results from Google, Bing, Baidu, Yandex, Yahoo, Home Depot, eBay and more”
- [github] https://github.com/serpapi/google-search-results-python“This Python package is meant to scrape and parse search results from Google, Bing, Baidu, Yandex, Yahoo, Home Depot, eBay and more, using SerpApi.”
- [github] https://github.com/serpapi/google-search-results-python“This package will soon be **deprecated** in favor of [serpapi-python](https://github.com/serpapi/serpapi-python). We recommend migrating to the newer implementation to ensure continued support and access to the latest features and improvements.”
Self-host the core productweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Openness = 11.4 ÷ 70 × 100 = 16.3
Built-in AI10.0/100×0.15 of the PA blend
Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.
Get AI-generated insights and suggestions from my data inside the productweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://serpapi.com/use-cases/ai-seo-geo-api“Find out how your content is being used in AI-generated answers on Google AI Mode. Monitor your brand's visibility and optimize your SEO strategy for the future of search.”
- [claimed-docs] https://serpapi.com/use-cases/ai-search-engine-api“Retrieval-Augmented Generation (RAG): Feed search data into AI pipelines to minimize hallucinations.”
- [claimed-docs] https://serpapi.com/markdown-output.md“Serve any SerpApi search result as clean markdown. Same data as JSON, zero configuration, roughly half the tokens. Works with every API.”
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://serpapi.com/google-news-api“Parameter defines the way you want to submit your search to SerpApi. It can be set to `false` (default) to open an HTTP connection and keep it open until you got your search results, or `true` to just submit your search to SerpApi and retrieve them later.”
- [claimed-docs] https://serpapi.com/google-news-api“you'll need to use our Searches Archive API to retrieve your results”
- [claimed-docs] https://serpapi.com/pricing“You can set your plan to Automatic Early Renewal. It will trigger an early renewal once you've used all your searches.”
Delegate tasks to a built-in AI assistant inside the productweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Operate the product with natural-language commandsweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://serpapi.com/integrations.md“The MCP integration allows any MCP-compatible AI agent (Claude, ChatGPT, Cursor, etc.) to use SerpApi as a web search tool.”
- [probe] https://github.com/serpapi/serpapi-mcp“official MCP server documented at https://github.com/serpapi/serpapi-mcp”
- [claimed-docs] https://serpapi.com/search-api“You can use anything that you would use in a regular Google search. e.g. `inurl:`, `site:`, `intitle:`.”
- [claimed-docs] https://serpapi.com/markdown-output.md“Serve any SerpApi search result as clean markdown. Same data as JSON, zero configuration, roughly half the tokens. Works with every API.”
Built-in AI = 6.0 ÷ 60 × 100 = 10.0
Automation0.0/100×0.15 of the PA blend
Depth of automation primitives — rules, scheduling, bulk operations, webhooks.
Perform bulk operations across many items at onceweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Define rules that trigger actions automatically on eventsweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [claimed-docs] https://serpapi.com/pricing“You can set your plan to Automatic Early Renewal. It will trigger an early renewal once you've used all your searches.”
Schedule recurring jobs or workflowsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://serpapi.com/google-news-api“Parameter defines the way you want to submit your search to SerpApi. It can be set to `false` (default) to open an HTTP connection and keep it open until you got your search results, or `true` to just submit your search to SerpApi and retrieve them later.”
- [claimed-docs] https://serpapi.com/google-news-api“you'll need to use our Searches Archive API to retrieve your results”
- [github] https://github.com/serpapi/google-search-results-python“The search results are stored in a temporary cache. The previous search can be retrieved from the cache for free.”
Version, review, and roll back my automationsweight 1
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Automation = 0.0 ÷ 70 × 100 = 0.0