{
  "data": {
    "a": {
      "slug": "bing-grounding",
      "name": "Grounding with Bing Search",
      "vendor": "Microsoft",
      "vendorUrl": "https://www.microsoft.com/bing/apis",
      "kind": "http-api",
      "category": "search",
      "summary": "Grounding with Bing Search is Microsoft's web search tool for agents in Foundry Agent Service. A Foundry model searches Bing during a Responses API run and returns an answer with URL citations, through the bing_grounding and web_search tools.",
      "url": "https://www.anchorterminal.com/tools/bing-grounding",
      "markdownUrl": "https://www.anchorterminal.com/tools/bing-grounding.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bing-grounding.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bing-grounding.json",
      "dns": "bing-grounding.grade.anchorterminal.com",
      "license": "Proprietary service under the customer's Microsoft agreement and the separate Grounding with Bing terms of use, which exclude it from the Microsoft Data Protection Addendum",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://{account}.services.ai.azure.com/api/projects/{project}/openai/v1/responses",
      "packages": [
        {
          "registry": "pypi",
          "name": "azure-ai-projects"
        },
        {
          "registry": "npm",
          "name": "@azure/ai-projects"
        }
      ],
      "auth": "oauth",
      "authNotes": "Microsoft Entra ID bearer token for the Foundry project (scope https://ai.azure.com/.default, for example through DefaultAzureCredential), with the Foundry User role to create and run agents. The bing_grounding tool also needs a Grounding with Bing resource whose key is stored in a project connection, created by someone with Contributor and Foundry Project Manager. The agent never holds the Bing key. The web_search tool needs no Bing resource or connection.",
      "pricing": "usage",
      "pricingNotes": "$14 per 1,000 transactions for Grounding with Bing Search and for Grounding with Bing Custom Search, counted as tool calls per run, plus the model deployment's token charges. No free tier found. An Azure subscription and a person's signup are needed first.",
      "priceSummary": "$14 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the Foundry web search and Bing tools pages, the Grounding with Bing pricing page or the terms of use (checked 2026-11-06). Billing runs through the Azure subscription.",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/web-search",
      "capabilities": [
        "web.search",
        "search.answer"
      ],
      "tags": [
        "hosted",
        "usage-priced",
        "closed-source",
        "enterprise",
        "card-required",
        "status-page",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.7,
        "grade": "B",
        "agentReady": false,
        "rank": 504,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 15,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 80,
          "payments": 20,
          "reliability": 68,
          "schema": 68,
          "security": 79,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "First-party Bing grounding inside Foundry Agent Service, called with Entra ID so the agent never holds a search key, at a published $14 per 1,000 transactions. The tools return a model's answer with citations, never the raw results, and data sent to them falls outside Microsoft's Data Protection Addendum and Azure's compliance boundary.",
        "bestFor": "Teams already building on Foundry Agent Service who want cited answers from Bing without handling a search key.",
        "strengths": [
          "Callers authenticate with Microsoft Entra ID and Foundry RBAC roles, and the Bing resource key stays in a project connection",
          "Price and limits published without a login, $14 per 1,000 transactions, 150 a second and 1 million a day",
          "Count, freshness, market and language parameters, and a Custom Search variant that limits grounding to chosen domains",
          "Docs say to treat web search results as untrusted input, and admins can turn web search off for a whole subscription"
        ],
        "weaknesses": [
          "The Bing tools never return raw results to developers, only a model-written answer with citation links",
          "The Data Protection Addendum does not apply and query data leaves the Azure compliance and geographic boundary",
          "No free tier, and a first call needs an Azure subscription, a Foundry project, a model deployment and, for bing_grounding, a paid Bing resource",
          "Terms forbid using Bing output to train or evaluate AI models and limit storing or caching it"
        ],
        "agentNotes": [
          "Use the citations in the response annotations as the sources; the tool output itself is not returned, and the terms require showing the URLs and the Bing query link",
          "Expect each run to bill one transaction per tool call at $14 per 1,000, plus model tokens, and set count and freshness in the tool configuration",
          "Treat cited page text as untrusted input and don't put secrets or personal data in prompts, since queries leave the Azure compliance boundary",
          "On 429 back off exponentially; no Retry-After header is documented for the tool"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.7
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 80,
          "payments": 20,
          "reliability": 68,
          "schema": 68,
          "security": 79,
          "transparency": 45
        },
        "provenanceScore": 87,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install azure-ai-projects azure-identity",
        "http": "curl -X POST \"$FOUNDRY_PROJECT_ENDPOINT/openai/v1/responses\" \\\n  -H \"Authorization: Bearer $AGENT_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\":\"'$FOUNDRY_MODEL_DEPLOYMENT_NAME'\",\"input\":\"How does Wikipedia explain Euler identity?\",\"tool_choice\":\"required\",\"tools\":[{\"type\":\"bing_grounding\",\"bing_grounding\":{\"search_configurations\":[{\"project_connection_id\":\"'$BING_PROJECT_CONNECTION_ID'\",\"count\":7,\"market\":\"en-US\",\"set_lang\":\"en\",\"freshness\":\"week\"}]}}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/bing-grounding"
      },
      "sameCompany": [
        "azure-openai",
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "tokeneconomizer",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "azure-blob-storage",
        "onedrive-sharepoint",
        "microsoft-teams",
        "dynamics-365-sales",
        "copilot-studio-mcp",
        "power-automate",
        "foundry-local",
        "microsoft-decision-1",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph",
        "microsoft-graph-people",
        "mage-vl-cowork"
      ],
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Grounding with Bing Search transaction",
          "unit": "1k-requests",
          "usd": 14,
          "note": "Counted as tool calls per run, plus the model deployment's token charges"
        },
        {
          "item": "Grounding with Bing Custom Search transaction",
          "unit": "1k-requests",
          "usd": 14,
          "note": "Same limits, 150 a second and 1 million a day"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "endpointOnVendorDomain": true,
        "terms": "https://www.microsoft.com/bing/apis/grounding-legal-enterprise",
        "privacy": "https://privacy.microsoft.com/en-us/privacystatement",
        "statusPage": "https://azure.status.microsoft/en-us/status",
        "changelog": "https://learn.microsoft.com/en-us/azure/foundry/whats-new-foundry",
        "securityTxt": "expired",
        "checked": "2026-11-06",
        "notes": [
          "The Foundry project endpoint is on services.ai.azure.com, a Microsoft domain. Domain registration date carried from the Azure listings' provenance.",
          "The Grounding with Bing terms of use (updated November 2025) are subject to the customer's Microsoft agreement (MCA, MBSA or MOSA) and name no separate contracting entity. They forbid using output on sites that block the customer's crawler, using links for crawling or scraping, and bypassing transaction limits.",
          "www.microsoft.com/.well-known/security.txt still carries Expires 2026-09-23T16:00:00.000Z on 6 November 2026.",
          "learn.microsoft.com/robots.txt allows the documentation paths read. The Azure status history page lists post-incident reviews for five years."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bing-grounding.json",
      "live": {
        "slug": "bing-grounding",
        "probe": {
          "target": "https://{account}.services.ai.azure.com/api/projects/{project}/openai/v1/responses",
          "method": "get",
          "lastAt": "2026-11-07T22:55:48.655446759Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "invalid character \"{\" in host name",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 244,
          "samples30d": 246,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 0
            },
            {
              "date": "2026-11-07",
              "probes": 233,
              "ok": 0
            }
          ],
          "outages": [
            {
              "start": "2026-11-06T22:45:07.390416052Z",
              "end": "0001-01-01T00:00:00Z",
              "note": "invalid character \"{\" in host name"
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@azure/ai-projects",
            "version": "2.10.0",
            "seenAt": "2026-11-06T23:11:06.900508365Z"
          },
          {
            "registry": "pypi",
            "name": "azure-ai-projects",
            "version": "2.10.0",
            "released": "2026-10-30",
            "seenAt": "2026-11-06T23:11:05.00335007Z"
          }
        ],
        "npmWeekly": 1368538,
        "pypiWeekly": 1896178,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-27T16:00:00.000Z",
          "checkedAt": "2026-11-07T16:02:01.196666056Z"
        },
        "pages": [
          {
            "url": "https://www.microsoft.com/bing/apis/grounding-legal-enterprise",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:40.128456318Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ddf25722851a"
          }
        ],
        "updatedAt": "2026-11-07T22:55:48.655446759Z"
      }
    },
    "answer": "Grounding with Bing Search and SerpApi score within a point of each other on agent readiness, 63.7 (B) and 63.5 (B). SerpApi leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "serpapi",
      "name": "SerpApi",
      "vendor": "SerpApi",
      "vendorUrl": "https://serpapi.com",
      "kind": "http-api",
      "category": "search",
      "summary": "Scrapes live results pages from Google, Bing, Baidu, DuckDuckGo, Yandex, Amazon, YouTube and about 20 other engines and returns them as parsed JSON or markdown.",
      "url": "https://www.anchorterminal.com/tools/serpapi",
      "markdownUrl": "https://www.anchorterminal.com/tools/serpapi.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/serpapi.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/serpapi.json",
      "dns": "serpapi.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://serpapi.com/search",
      "packages": [
        {
          "registry": "npm",
          "name": "serpapi"
        },
        {
          "registry": "pypi",
          "name": "serpapi"
        },
        {
          "registry": "pypi",
          "name": "google-search-results"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key as the `api_key` query parameter on every request. The hosted MCP takes `Authorization: Bearer \u003ckey\u003e` or the key in the URL path (`/\u003ckey\u003e/mcp`) for clients that can't set headers.",
      "pricing": "freemium",
      "pricingNotes": "Free plan 250 searches a month (50 an hour). Starter $25 a month for 1,000 searches, Developer $75 for 5,000, Production $150 for 15,000, Big Data $275 for 30,000, Searcher $725 for 100,000, then Cloud tiers from $3,750 for 1M. Only successful searches count, cached and failed ones are free, and a response with 100 results is still one search. Ludicrous Speed doubles the price, Ludicrous Speed Max quadruples it (https://serpapi.com/pricing).",
      "priceSummary": "$25 / 1k req",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 in llms.txt, pricing or integrations pages (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": 175,
        "npmWeekly": 168618,
        "pypiWeekly": 104227,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://serpapi.com/search-api",
      "llmsTxt": "https://serpapi.com/llms.txt",
      "registryName": "io.github.serpapi/serpapi-mcp",
      "capabilities": [
        "web.search",
        "search.serp",
        "search.news",
        "search.images"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "llms-txt",
        "python",
        "typescript",
        "closed-source"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.5,
        "grade": "B",
        "agentReady": false,
        "rank": 512,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 88,
          "maintenance": 82,
          "payments": 30,
          "reliability": 65,
          "schema": 67,
          "security": 40,
          "transparency": 84
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": 0,
        "verdict": "Over 100 engines behind one GET URL, with `json_restrictor` field selection and `output=md`. The status page posted an outage across all APIs on 10 September and a degradation of the main Google APIs from 6 October that was still open on 2 November.",
        "bestFor": "An agent that needs what a specific engine shows (Google verticals, Maps, Shopping, Flights, Scholar, YouTube, Amazon) parsed to JSON.",
        "strengths": [
          "Over 100 engines behind one GET URL, with `json_restrictor` field selection and `output=md`",
          "Failed, errored and cached searches aren't billed, and the cache lasts 1 hour",
          "Terms promise a 99.95% SLA on all plans",
          "SOC 2 Type II, ISO 27001 and ISO 27701 listed on the security page, 31-day data retention stated in the terms",
          "Hosted MCP server in the official registry, with read-only tool annotations"
        ],
        "weaknesses": [
          "35 incidents on the status page between 4 August and 2 November 2026, including an outage across all APIs on 10 September",
          "REST auth is the `api_key` query parameter, with no header option documented",
          "No OpenAPI spec, and the MCP `search` tool takes a free-form `params` object",
          "Monthly plans only, from $25 for 1,000 searches, with no pay-per-call or machine payment",
          "No prompt-injection guidance for the snippets it returns"
        ],
        "agentNotes": [
          "Use the MCP with `Authorization: Bearer`, not the key-in-path URL the README leads with",
          "Read `serpapi://engines/\u003cengine\u003e` before calling a new engine, since `params` isn't typed",
          "Add `json_restrictor` or `output=md` to cut tokens, and `mode: compact` on the MCP",
          "A 429 means either the hourly limit or an empty balance. Check the account before retrying",
          "Repeat a search within the hour and the cached copy is free. Set `no_cache=true` only when freshness matters"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.5
          }
        ],
        "editorialScores": {
          "ergonomics": 88,
          "maintenance": 82,
          "payments": 30,
          "reliability": 65,
          "schema": 67,
          "security": 40,
          "transparency": 70
        },
        "provenanceScore": 98,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -G https://serpapi.com/search --data-urlencode \"q=coffee\" -d engine=google -d api_key=$SERPAPI_API_KEY",
        "claudeCode": "claude mcp add --transport http serpapi https://mcp.serpapi.com/mcp --header \"Authorization: Bearer $SERPAPI_API_KEY\"",
        "config": {
          "mcpServers": {
            "serpapi": {
              "headers": {
                "Authorization": "Bearer ${SERPAPI_API_KEY}"
              },
              "type": "http",
              "url": "https://mcp.serpapi.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/serpapi"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter plan, per 1,000 searches",
          "unit": "1k-requests",
          "usd": 25,
          "note": "1,000 searches for $25 a month"
        },
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 25,
          "note": "1,000 searches"
        },
        {
          "item": "Developer plan",
          "unit": "month",
          "usd": 75,
          "note": "5,000 searches"
        },
        {
          "item": "Production plan",
          "unit": "month",
          "usd": 150,
          "note": "15,000 searches, includes Legal Shield"
        },
        {
          "item": "Big Data plan",
          "unit": "month",
          "usd": 275,
          "note": "30,000 searches"
        }
      ],
      "provenance": {
        "legalEntity": "SerpApi, LLC",
        "domain": "serpapi.com",
        "domainRegistered": "2016-07-27",
        "endpointOnVendorDomain": true,
        "terms": "https://serpapi.com/legal",
        "privacy": "https://serpapi.com/legal",
        "statusPage": "https://status.serpapi.com",
        "changelog": "https://serpapi.com/release-notes",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "Terms and privacy policy share one page. The entity is a Texas LLC at 1632 S 1st St, Austin"
        ],
        "score": 98
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/serpapi.json",
      "live": {
        "slug": "serpapi",
        "probe": {
          "target": "https://serpapi.com/search",
          "method": "get",
          "lastAt": "2026-11-07T22:56:20.649976215Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 136,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 128,
          "p95ms24h": 206,
          "samples24h": 244,
          "samples30d": 7956,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 233,
              "ok": 233
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.serpapi.com",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-11-07T22:57:44.221088639Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.serpapi/serpapi-mcp",
            "version": "2.2.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "serpapi",
            "version": "2.2.1",
            "seenAt": "2026-11-07T00:04:52.187916313Z"
          },
          {
            "registry": "pypi",
            "name": "google-search-results",
            "version": "2.4.2",
            "released": "2023-03-10",
            "seenAt": "2026-11-07T00:04:52.786371506Z"
          },
          {
            "registry": "pypi",
            "name": "serpapi",
            "version": "1.2.0",
            "released": "2026-10-30",
            "seenAt": "2026-11-07T00:04:52.581829374Z"
          }
        ],
        "npmWeekly": 157770,
        "pypiWeekly": 111267,
        "securityTxt": {
          "url": "https://serpapi.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-07T16:01:55.994757327Z"
        },
        "llmsTxt": {
          "url": "https://serpapi.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:54.117469983Z"
        },
        "domain": {
          "domain": "serpapi.com",
          "registered": "2016-07-27",
          "source": "https://rdap.verisign.com/com/v1/domain/serpapi.com",
          "checkedAt": "2026-11-01T14:27:22.977220583Z"
        },
        "pages": [
          {
            "url": "https://serpapi.com/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:19:41.886949784Z",
            "changedAt": "2026-11-07T14:19:41.886949784Z",
            "fingerprint": "4c04e1177e9e"
          },
          {
            "url": "https://serpapi.com/ebay-search-api",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:19:35.829778138Z",
            "changedAt": "2026-10-30T05:48:12.692533267Z",
            "fingerprint": "321bdf216d0c"
          },
          {
            "url": "https://serpapi.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:19:40.387016376Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "30dfa765089d"
          },
          {
            "url": "https://serpapi.com/legal",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:19:37.855693364Z",
            "changedAt": "2026-11-07T14:19:37.855693364Z",
            "fingerprint": "a7a9d55bdb87"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.serpapi.com/mcp",
          "checkedAt": "2026-11-07T01:47:41.410957591Z",
          "status": "ok",
          "protocol": "2026-07-28",
          "tools": [
            {
              "name": "search_dashboard",
              "title": "SerpApi search (dashboard)",
              "description": "Interactive dashboard variant of `search`: returns summary metrics, a source breakdown chart, and a results table with a click-to-expand detail panel, all rendered in the conversation. Same params as `search`. Use for a richer visual overview of a query's results. Automatically selects an engine-specific dashboard when available (e.g. google_flights gets price intelligence charting).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "params": {
                    "anyOf": [
                      {
                        "additionalProperties": true,
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null
                  }
                },
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true,
                "title": "SerpApi search (dashboard)"
              }
            },
            {
              "name": "search_table",
              "title": "SerpApi search (table)",
              "description": "Interactive UI variant of `search`: returns organic results as a sortable, searchable table rendered in the conversation. Same params as `search`. Use when the host supports MCP Apps and the user wants to browse results visually rather than read JSON.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "params": {
                    "anyOf": [
                      {
                        "additionalProperties": true,
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null
                  }
                },
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true,
                "title": "SerpApi search (table)"
              }
            },
            {
              "name": "extract",
              "title": "SerpApi extract",
              "description": "Extract content from a public http(s) URL, discover site URLs, or crawl pages.\n\nAPI options go in params: url is required; params.mode is scrape (default), map, or crawl. See serpapi://engines/extract for all options.\n\nTop-level mode controls the response:\n- complete (default): full JSON.\n- compact: native Markdown by default.\n\nparams.output selects the format and overrides either default:\n- \"md\": return native Markdown unchanged in either response mode.\n- \"json\": return JSON, with filtering determined by the response mode.\n\nCompact JSON removes metadata. For scrape responses containing markdown, it also keeps only markdown and any error field. include_markdown=false or an explicit json_restrictor skips this extra filtering. Map/crawl and responses without markdown keep their remaining fields. Use complete with output=\"json\" for full JSON.\n\nCrawl max_pages defaults to 10 (maximum 100). Each successfully extracted, uncached page consumes one credit.\n\nExamples:\nFull scrape JSON: {\"params\":{\"url\":\"https://example.com\"},\"mode\":\"complete\"}\nScrape Markdown: {\"params\":{\"url\":\"https://example.com\"},\"mode\":\"compact\"}\nMap URLs as JSON: {\"params\":{\"url\":\"https://example.com\",\"mode\":\"map\"},\"mode\":\"complete\"}\nCrawl pages as Markdown: {\"params\":{\"url\":\"https://example.com\",\"mode\":\"crawl\",\"max_pages\":2},\"mode\":\"compact\"}\n",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "mode": {
                    "default": "complete",
                    "type": "string"
                  },
                  "params": {
                    "anyOf": [
                      {
                        "additionalProperties": true,
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null
                  }
                },
                "type": "object"
              },
              "outputSchema": {
                "properties": {
                  "result": {
                    "type": "string"
                  }
                },
                "required": [
                  "result"
                ],
                "type": "object",
                "x-fastmcp-wrap-result": true
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true,
                "title": "SerpApi extract"
              }
            },
            {
              "name": "search",
              "title": "SerpApi search",
              "description": "Universal search tool supporting all SerpApi engines and result types.\n\n    When to use:\n        - Any query needing live, structured SERP data: web results, news, product listings, job postings, local businesses, flight/hotel prices, video results, images, stock/weather cards, knowledge graph entities.\n    \n    Engine discovery via MCP resources:\n        - serpapi://engines lists all engines supported by this tool.\n        - serpapi://engines/\u003cengine\u003e provides engine-specific parameters and supported options.\n        - Example: serpapi://engines/google_news\n\n    Input schema:\n        params: JSON object containing SerpApi engine parameters.\n            Common parameters:\n                - q: Search query. Required for most engines.\n                - engine: SerpApi engine name. Defaults to \"google_light\".\n                - location: Optional geographic location for localized results.\n                - output: Optional response format. Omit for JSON (default), or set to \"md\" for Markdown.\n    \n            Engine-specific parameters are available via MCP resources:\n                - serpapi://engines lists all supported engines.\n                - serpapi://engines/\u003cengine\u003e provides parameters and options for one engine.\n    \n        mode: Response mode. Defaults to \"complete\".\n            - \"complete\": Return the full SerpApi response.\n            - \"compact\": Remove metadata fields from JSON responses. Markdown is returned unchanged.\n    \n    Output schema:\n        structuredContent.result contains the response string: serialized JSON or unchanged Markdown.\n        The same string is included in text content. Tool failures preserve this wrapper and set isError to true.\n\n    Guided search:\n        Searches can request missing engine parameters from supporting clients using the engine catalog and engine-specific rules.\n        Flights collect airports and dates, hotels collect the destination and stay dates, and directions collect missing endpoints.\n        Other clients receive a missing-parameter error. Cancellation does not run a search.\n\n    Examples:\n        Weather: {\"params\": {\"q\": \"weather in London\", \"engine\": \"google\"}, \"mode\": \"complete\"}\n        Stock: {\"params\": {\"q\": \"AAPL stock\", \"engine\": \"google\"}, \"mode\": \"complete\"}\n        General: {\"params\": {\"q\": \"coffee shops\", \"engine\": \"google_light\", \"location\": \"Austin, TX\"}, \"mode\": \"complete\"}\n        Compact: {\"params\": {\"q\": \"news\"}, \"mode\": \"compact\"}\n        Markdown: {\"params\": {\"q\": \"news\", \"output\": \"md\"}}\n\n    Supported engines include (not limited to):\n        - google\n        - google_light\n        - google_flights\n        - google_hotels\n        - google_images\n        - google_news\n        - google_local\n        - google_shopping\n        - google_jobs\n        - bing\n        - yahoo\n        - duckduckgo\n        - youtube_search\n        - baidu\n        - ebay\n    ",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "mode": {
                    "default": "complete",
                    "description": "Response mode (default: \"complete\")\n- \"complete\": Returns the full response\n- \"compact\": Removes metadata fields from JSON responses; Markdown is unchanged",
                    "type": "string"
                  },
                  "params": {
                    "anyOf": [
                      {
                        "additionalProperties": true,
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Dictionary of SerpApi engine-specific parameters. Common parameters include:\n- q: Search query (required for most engines)\n- engine: Search engine to use (default: \"google_light\")\n- location: Geographic location filter\n- output: Response format; omit for JSON or set to \"md\" for Markdown"
                  }
                },
                "type": "object"
              },
              "outputSchema": {
                "properties": {
                  "result": {
                    "type": "string"
                  }
                },
                "required": [
                  "result"
                ],
                "type": "object",
                "x-fastmcp-wrap-result": true
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true,
                "title": "SerpApi search"
              }
            }
          ],
          "schemaTokens": 1917,
          "changedAt": "2026-11-07T01:47:41.410957591Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 1917,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 4
            },
            "findings": [
              {
                "rule": "TC07",
                "severity": "warn",
                "tool": "search",
                "message": "the description is about 720 tokens",
                "fix": "Keep the description to what a model needs to choose and call the tool; move the manual to a resource or the docs."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "extract",
                "message": "none of its 2 parameters has a description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "search_dashboard",
                "message": "its one parameter, params, has no description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "search_table",
                "message": "its one parameter, params, has no description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC24",
                "severity": "note",
                "message": "2 of 4 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "updatedAt": "2026-11-07T22:57:44.221088639Z"
      }
    },
    "edges": [
      {
        "by": 39,
        "category": "security",
        "leads": "bing-grounding",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Callers authenticate to the Foundry project with Microsoft Entra ID tokens and RBAC roles (Foundry User to run agents, Foundry Project Manager to add connections), with just-in-time Contributor through Entra PIM for provisioning. The Bing resource key sits in a project connection and the agent never holds it. No key in a URL (28 of 30). The tools only read. Custom Search confines grounding to configured public domains, and an admin can turn web search off for a whole subscription. There is no per-agent read-only toggle to set, since the tools have no write path (15 of 20). The web search page tells developers to treat web search results as untrusted input and to keep secrets and personal data out of prompts, and the tool best practices page says the same of all tool outputs. Raw results are not passed back to the caller (10 of 15). Run steps show each tool call and the Bing query sent, and Azure's activity log covers resource changes. No per-query audit log for Bing was found (10 of 15). Microsoft runs a coordinated vulnerability disclosure policy and bounty programmes through MSRC. microsoft.com's security.txt passed its Expires date on 23 September 2026 and still carries it on 6 November, and the Azure compliance attestations are not shown to cover a service whose data leaves the compliance boundary (16 of 20). 28 + 15 + 10 + 10 + 16 = 79.",
          "b": "One account key with no scopes found (10), documented as the `api_key` query parameter on every REST call, and the MCP README leads with the key in the URL path. The hosted MCP also accepts `Authorization: Bearer` (minus 10). Search is read-only and the MCP tool carries read-only annotations, but there's no least-privilege key (15). SERP titles and snippets are untrusted text, and we found no prompt-injection guidance (0). The Search Archive API returns any search from the last 31 days, and the security page says audit logs cover all critical parts of the service (10). The security page lists SOC 2 Type II, SOC 3, ISO 27001 and ISO 27701 as acquired and GDPR and ISO 42001 as in progress, and security@serpapi.com takes reports. serpapi.com/security.txt is valid (expires 1 January 2027), though the /.well-known/ path answers with the HTML security page. No bug bounty or public advisories found (15)."
        },
        "scores": {
          "a": 79,
          "b": 40
        }
      },
      {
        "by": 27,
        "category": "ergonomics",
        "leads": "serpapi",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Read as a server-side search tool inside an agent run. The tools return a model's answer with citations rather than raw results, and `search_context_size` sets how much context web search uses. A caller can't size or inspect the result set itself, since the Bing tools never return their output. Custom Search confines grounding to chosen domains without code (18 of 25). `count`, freshness, market and language filters, and domain restriction through Custom Search. No pagination or offset (13 of 20). Troubleshooting tables give causes and fixes for connection ID, RBAC and 429 problems, but the tools document no error codes (8 of 20). Searches only read, so a retry is safe apart from the per-transaction charge. No MCP annotations are documented for the toolbox's web search tool (10 of 20). The web_search route needs only a project, a model deployment and the Foundry User role. bing_grounding also needs a paid Bing resource and a project connection. SDKs in Python, C#, JavaScript and Java (12 of 15). Prompt caching gets no hits with the Bing tools, because they add a timestamp to every request. 18 + 13 + 8 + 10 + 12 = 61.",
          "b": "`json_restrictor` selects fields, `output=md` returns Markdown (the MCP README claims 50 per cent fewer tokens on average) and the MCP `compact` mode drops metadata. One core MCP tool plus two opt-in UI tools (22). `start`, `num`, location, language and engine-specific filters, plus `async` with the Search Archive API (20). Documented status codes and `search_metadata.status` values, though one 429 covers both the hourly limit and an empty balance (14). Searches are read-only, failed and cached searches aren't billed, and the MCP tool sets readOnlyHint true and destructiveHint false (18). Only `q` is required for most engines. llms.txt lists libraries in 11 languages, though the JavaScript one hasn't had a release since July 2025 (14)."
        },
        "scores": {
          "a": 61,
          "b": 88
        }
      },
      {
        "by": 18,
        "category": "transparency",
        "leads": "serpapi",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service. The terms of use, updated November 2025, are separate from the Online Services terms and sit under the customer's Microsoft agreement (15 of 30). The docs and the terms agree that the Data Protection Addendum and the Product Terms' privacy and security terms don't apply, that Microsoft and the customer are independent controllers, and that the query and parameters leave the Azure compliance and geographic boundary. The terms defer storage and use of query data to the general Microsoft Privacy Statement and state no retention period (15 of 30). The Bing Search APIs retirement was announced on 16 May 2025 for 11 August 2025, under three months' notice, and the web search page marks the Deep Research tool deprecated with a replacement. Microsoft's lifecycle policy covers Azure services, but no deprecation terms for Grounding with Bing were found (10 of 20). Data location for Bing processing isn't stated, and no sub-processor list for it was found (5 of 20). 15 + 15 + 10 + 5 = 45.",
          "b": "The API is closed under one terms-and-privacy page, and the MCP server is MIT (18). The legal page and the security page agree that search data is deleted after 31 days, ZeroTrace mode (an enterprise parameter) stores nothing, and a DPA is available on request (26). Deprecations show up as dated release notes, such as eBay's Sold and Completed filters on 28 September 2026, but there's no notice policy, and the terms allow termination without notice (8). Named subprocessors (AWS, Cloudflare, Wasabi, Stripe, Intercom and others) and US hosting with Standard Contractual Clauses (18)."
        },
        "scores": {
          "a": 66,
          "b": 84
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "serpapi",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). $14 per 1,000 transactions for Grounding with Bing Search and Custom Search, published on microsoft.com without a login (20). No free tier for Grounding with Bing, and an Azure subscription needs a card, as on the Azure Translator listing (0). A person signs up for Azure, creates a Foundry project and, for bing_grounding, a Bing resource (0).",
          "b": "No x402, MPP or L402 on the pricing page or llms.txt (0). Monthly plans are public with search counts, but there's no pay-per-search option (10). Free plan of 250 searches a month, no card (20). An account needs a browser signup (0)."
        },
        "scores": {
          "a": 20,
          "b": 30
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "SerpApi",
        "name": "Vendor"
      },
      {
        "a": "https://{account}.services.ai.azure.com/api/projects/{project}/openai/v1/responses",
        "b": "https://serpapi.com/search",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$14 per 1,000 requests",
        "b": "$25 per 1,000 requests",
        "name": "Price for web search"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the customer's Microsoft agreement and the separate Grounding with Bing terms of use, which exclude it from the Microsoft Data Protection Addendum",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "3",
        "b": "3",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.serpapi/serpapi-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-11-02",
        "b": "2026-10-30",
        "name": "Last release"
      },
      {
        "a": "2025-11-01",
        "b": "2026-08-27",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "2026-08-27",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "175 stars, 169k npm/wk, 104k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Grounding with Bing Search and SerpApi score within a point of each other on agent readiness, 63.7 (B) and 63.5 (B). SerpApi leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Grounding with Bing Search or SerpApi?"
      },
      {
        "answer": "Grounding with Bing Search, at $14 per 1,000 requests against $25 per 1,000 requests for SerpApi. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for web search, Grounding with Bing Search or SerpApi?"
      },
      {
        "answer": "Grounding with Bing Search uses an OAuth sign-in. SerpApi needs an API key.",
        "question": "Do Grounding with Bing Search and SerpApi need an API key?"
      },
      {
        "answer": "Yes. Grounding with Bing Search has a hosted endpoint at https://{account}.services.ai.azure.com/api/projects/{project}/openai/v1/responses and SerpApi at https://serpapi.com/search.",
        "question": "Can an agent call Grounding with Bing Search and SerpApi without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 79 against 40"
        ],
        "also": [
          "Cheaper for web search, $14 against $25 per 1,000 requests"
        ],
        "goodFor": "Teams already building on Foundry Agent Service who want cited answers from Bing without handling a search key.",
        "slug": "bing-grounding",
        "watchFor": "The Bing tools never return raw results to developers, only a model-written answer with citation links"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 88 against 61",
          "Payments \u0026 pricing, 30 against 20",
          "Transparency \u0026 trust, 84 against 66"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "An agent that needs what a specific engine shows (Google verticals, Maps, Shopping, Flights, Scholar, YouTube, Amazon) parsed to JSON.",
        "slug": "serpapi",
        "watchFor": "35 incidents on the status page between 4 August and 2 November 2026, including an outage across all APIs on 10 September"
      }
    ],
    "history": {
      "bing-grounding": null,
      "serpapi": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-02",
          "delta": 1,
          "from": 62.5,
          "fromGrade": "B",
          "to": 63.5,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.1,
          "from": 62.6,
          "fromGrade": "B",
          "to": 62.5,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "web.search",
      "name": "Web search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-bing-grounding.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs Grounding with Bing Search",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-bing-grounding"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-serpapi.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-bing-grounding.json",
        "title": "Arcmira vs Grounding with Bing Search",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-bing-grounding"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-serpapi.json",
        "title": "Arcmira vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-brave-search-mcp.json",
        "title": "Grounding with Bing Search vs Brave Search API + MCP",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-brave-search-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-cloudflare-web-search.json",
        "title": "Grounding with Bing Search vs Cloudflare Web Search API",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-cloudflare-web-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-deepseek-search-api.json",
        "title": "Grounding with Bing Search vs DeepSeek Search and Fetch API",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-deepseek-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-exa-mcp.json",
        "title": "Grounding with Bing Search vs Exa API + MCP",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-exa-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-firecrawl-mcp.json",
        "title": "Grounding with Bing Search vs Firecrawl MCP",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-firecrawl-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-kagi-search.json",
        "title": "Grounding with Bing Search vs Kagi Search API",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-kagi-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-linkup.json",
        "title": "Grounding with Bing Search vs Linkup",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-mojeek.json",
        "title": "Grounding with Bing Search vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-newscatcher.json",
        "title": "Grounding with Bing Search vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-parallel-search-api.json",
        "title": "Grounding with Bing Search vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-perplexity-search-api.json",
        "title": "Grounding with Bing Search vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-searchapi-io.json",
        "title": "Grounding with Bing Search vs SearchAPI.io",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-searchapi-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-serper.json",
        "title": "Grounding with Bing Search vs Serper",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse.json",
        "title": "Grounding with Bing Search vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-serpkite.json",
        "title": "Grounding with Bing Search vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-specstream.json",
        "title": "Grounding with Bing Search vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-tavily-mcp.json",
        "title": "Grounding with Bing Search vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-tinyfish-search.json",
        "title": "Grounding with Bing Search vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-valyu.json",
        "title": "Grounding with Bing Search vs Valyu",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-you-com-api.json",
        "title": "Grounding with Bing Search vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-serpapi.json",
        "title": "Brave Search API + MCP vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serpapi.json",
        "title": "Cloudflare Web Search API vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serpapi.json",
        "title": "DeepSeek Search and Fetch API vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-serpapi.json",
        "title": "Exa API + MCP vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-serpapi.json",
        "title": "Firecrawl MCP vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-serpapi.json",
        "title": "Grep AI vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-serpapi.json",
        "title": "Kagi Search API vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-serpapi.json",
        "title": "Linkup vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-serpapi.json",
        "title": "Mojeek Web Search API vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serpapi.json",
        "title": "Parallel Search and Task APIs vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpapi.json",
        "title": "Perplexity Search API vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/searchapi-io-vs-serpapi.json",
        "title": "SearchAPI.io vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/searchapi-io-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-serper.json",
        "title": "SerpApi vs Serper",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-serphouse.json",
        "title": "SerpApi vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-serpkite.json",
        "title": "SerpApi vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-specstream.json",
        "title": "SerpApi vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-tavily-mcp.json",
        "title": "SerpApi vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-tinyfish-search.json",
        "title": "SerpApi vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-valyu.json",
        "title": "SerpApi vs Valyu",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-you-com-api.json",
        "title": "SerpApi vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-serpapi.json",
        "title": "NewsCatcher vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/liner-mcp-vs-serpapi.json",
        "title": "Liner Search MCP vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/liner-mcp-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-grep-ai.json",
        "title": "Grounding with Bing Search vs Grep AI",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-grep-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-liner-mcp.json",
        "title": "Grounding with Bing Search vs Liner Search MCP",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-liner-mcp"
      }
    ],
    "panel": null,
    "scores": [
      {
        "bing-grounding": 68,
        "by": 3,
        "edge": "bing-grounding",
        "key": "reliability",
        "name": "Reliability",
        "serpapi": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bing-grounding": 68,
        "by": 1,
        "edge": "bing-grounding",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "serpapi": 67,
        "weight": 13
      },
      {
        "bing-grounding": 61,
        "by": 27,
        "edge": "serpapi",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "serpapi": 88,
        "weight": 13
      },
      {
        "bing-grounding": 79,
        "by": 39,
        "edge": "bing-grounding",
        "key": "security",
        "name": "Security \u0026 auth",
        "serpapi": 40,
        "weight": 14
      },
      {
        "bing-grounding": 20,
        "by": 10,
        "edge": "serpapi",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "serpapi": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bing-grounding": 80,
        "by": 2,
        "edge": "serpapi",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "serpapi": 82,
        "weight": 7
      },
      {
        "bing-grounding": 66,
        "by": 18,
        "edge": "serpapi",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "serpapi": 84,
        "weight": 7
      }
    ],
    "summary": "Grounding with Bing Search and SerpApi score within a point of each other on agent readiness, 63.7 (B) and 63.5 (B). SerpApi leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust. Both do web search. Grounding with Bing Search is cheaper for web search, $14 against $25 per 1,000 requests.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "bing-grounding": "First-party Bing grounding inside Foundry Agent Service, called with Entra ID so the agent never holds a search key, at a published $14 per 1,000 transactions. The tools return a model's answer with citations, never the raw results, and data sent to them falls outside Microsoft's Data Protection Addendum and Azure's compliance boundary.",
      "serpapi": "Over 100 engines behind one GET URL, with `json_restrictor` field selection and `output=md`. The status page posted an outage across all APIs on 10 September and a degradation of the main Google APIs from 6 October that was still open on 2 November."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bing-grounding-vs-serpapi",
    "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-serpapi.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bing-grounding-vs-serpapi.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bing-grounding-vs-serpapi.min.md"
  },
  "markdown": "Grounding with Bing Search and SerpApi score within a point of each other on agent readiness, 63.7 (B) and 63.5 (B). SerpApi leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust. Both do web search. Grounding with Bing Search is cheaper for web search, $14 against $25 per 1,000 requests.\n\n- Grounding with Bing Search: grade B, 63.7/100, rank #504 of 1510. Markdown https://www.anchorterminal.com/tools/bing-grounding.md · JSON https://www.anchorterminal.com/api/v1/tools/bing-grounding.json\n- SerpApi: grade B, 63.5/100, rank #512 of 1510. Markdown https://www.anchorterminal.com/tools/serpapi.md · JSON https://www.anchorterminal.com/api/v1/tools/serpapi.json\n- Best web search APIs for AI agents: https://www.anchorterminal.com/best/search/index.md\n- All 326 search comparisons: https://www.anchorterminal.com/compare/search/index.md\n\n## Which one, for what\n\n### Grounding with Bing Search (B)\n\nGood for: Teams already building on Foundry Agent Service who want cited answers from Bing without handling a search key.\n\nAhead on:\n- Security \u0026 auth, 79 against 40\n\nAlso in its favour:\n- Cheaper for web search, $14 against $25 per 1,000 requests\n\nWatch for: The Bing tools never return raw results to developers, only a model-written answer with citation links\n\n### SerpApi (B)\n\nGood for: An agent that needs what a specific engine shows (Google verticals, Maps, Shopping, Flights, Scholar, YouTube, Amazon) parsed to JSON.\n\nAhead on:\n- Agent ergonomics, 88 against 61\n- Payments \u0026 pricing, 30 against 20\n- Transparency \u0026 trust, 84 against 66\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: 35 incidents on the status page between 4 August and 2 November 2026, including an outage across all APIs on 10 September\n\n\n## Why the edge\n\n### Security \u0026 auth: Grounding with Bing Search +39\n\n- Grounding with Bing Search (79): Callers authenticate to the Foundry project with Microsoft Entra ID tokens and RBAC roles (Foundry User to run agents, Foundry Project Manager to add connections), with just-in-time Contributor through Entra PIM for provisioning. The Bing resource key sits in a project connection and the agent never holds it. No key in a URL (28 of 30). The tools only read. Custom Search confines grounding to configured public domains, and an admin can turn web search off for a whole subscription. There is no per-agent read-only toggle to set, since the tools have no write path (15 of 20). The web search page tells developers to treat web search results as untrusted input and to keep secrets and personal data out of prompts, and the tool best practices page says the same of all tool outputs. Raw results are not passed back to the caller (10 of 15). Run steps show each tool call and the Bing query sent, and Azure's activity log covers resource changes. No per-query audit log for Bing was found (10 of 15). Microsoft runs a coordinated vulnerability disclosure policy and bounty programmes through MSRC. microsoft.com's security.txt passed its Expires date on 23 September 2026 and still carries it on 6 November, and the Azure compliance attestations are not shown to cover a service whose data leaves the compliance boundary (16 of 20). 28 + 15 + 10 + 10 + 16 = 79.\n- SerpApi (40): One account key with no scopes found (10), documented as the `api_key` query parameter on every REST call, and the MCP README leads with the key in the URL path. The hosted MCP also accepts `Authorization: Bearer` (minus 10). Search is read-only and the MCP tool carries read-only annotations, but there's no least-privilege key (15). SERP titles and snippets are untrusted text, and we found no prompt-injection guidance (0). The Search Archive API returns any search from the last 31 days, and the security page says audit logs cover all critical parts of the service (10). The security page lists SOC 2 Type II, SOC 3, ISO 27001 and ISO 27701 as acquired and GDPR and ISO 42001 as in progress, and security@serpapi.com takes reports. serpapi.com/security.txt is valid (expires 1 January 2027), though the /.well-known/ path answers with the HTML security page. No bug bounty or public advisories found (15).\n\n### Agent ergonomics: SerpApi +27\n\n- Grounding with Bing Search (61): Read as a server-side search tool inside an agent run. The tools return a model's answer with citations rather than raw results, and `search_context_size` sets how much context web search uses. A caller can't size or inspect the result set itself, since the Bing tools never return their output. Custom Search confines grounding to chosen domains without code (18 of 25). `count`, freshness, market and language filters, and domain restriction through Custom Search. No pagination or offset (13 of 20). Troubleshooting tables give causes and fixes for connection ID, RBAC and 429 problems, but the tools document no error codes (8 of 20). Searches only read, so a retry is safe apart from the per-transaction charge. No MCP annotations are documented for the toolbox's web search tool (10 of 20). The web_search route needs only a project, a model deployment and the Foundry User role. bing_grounding also needs a paid Bing resource and a project connection. SDKs in Python, C#, JavaScript and Java (12 of 15). Prompt caching gets no hits with the Bing tools, because they add a timestamp to every request. 18 + 13 + 8 + 10 + 12 = 61.\n- SerpApi (88): `json_restrictor` selects fields, `output=md` returns Markdown (the MCP README claims 50 per cent fewer tokens on average) and the MCP `compact` mode drops metadata. One core MCP tool plus two opt-in UI tools (22). `start`, `num`, location, language and engine-specific filters, plus `async` with the Search Archive API (20). Documented status codes and `search_metadata.status` values, though one 429 covers both the hourly limit and an empty balance (14). Searches are read-only, failed and cached searches aren't billed, and the MCP tool sets readOnlyHint true and destructiveHint false (18). Only `q` is required for most engines. llms.txt lists libraries in 11 languages, though the JavaScript one hasn't had a release since July 2025 (14).\n\n### Transparency \u0026 trust: SerpApi +18\n\n- Grounding with Bing Search (66): Closed service. The terms of use, updated November 2025, are separate from the Online Services terms and sit under the customer's Microsoft agreement (15 of 30). The docs and the terms agree that the Data Protection Addendum and the Product Terms' privacy and security terms don't apply, that Microsoft and the customer are independent controllers, and that the query and parameters leave the Azure compliance and geographic boundary. The terms defer storage and use of query data to the general Microsoft Privacy Statement and state no retention period (15 of 30). The Bing Search APIs retirement was announced on 16 May 2025 for 11 August 2025, under three months' notice, and the web search page marks the Deep Research tool deprecated with a replacement. Microsoft's lifecycle policy covers Azure services, but no deprecation terms for Grounding with Bing were found (10 of 20). Data location for Bing processing isn't stated, and no sub-processor list for it was found (5 of 20). 15 + 15 + 10 + 5 = 45.\n- SerpApi (84): The API is closed under one terms-and-privacy page, and the MCP server is MIT (18). The legal page and the security page agree that search data is deleted after 31 days, ZeroTrace mode (an enterprise parameter) stores nothing, and a DPA is available on request (26). Deprecations show up as dated release notes, such as eBay's Sold and Completed filters on 28 September 2026, but there's no notice policy, and the terms allow termination without notice (8). Named subprocessors (AWS, Cloudflare, Wasabi, Stripe, Intercom and others) and US hosting with Standard Contractual Clauses (18).\n\n### Payments \u0026 pricing: SerpApi +10\n\n- Grounding with Bing Search (20): No x402, MPP or L402 (0). $14 per 1,000 transactions for Grounding with Bing Search and Custom Search, published on microsoft.com without a login (20). No free tier for Grounding with Bing, and an Azure subscription needs a card, as on the Azure Translator listing (0). A person signs up for Azure, creates a Foundry project and, for bing_grounding, a Bing resource (0).\n- SerpApi (30): No x402, MPP or L402 on the pricing page or llms.txt (0). Monthly plans are public with search counts, but there's no pay-per-search option (10). Free plan of 250 searches a month, no card (20). An account needs a browser signup (0).\n\n## Score by category\n\n| Category | Weight | Grounding with Bing Search | SerpApi | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 65 | Grounding with Bing Search +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 67 | Grounding with Bing Search +1 |\n| Agent ergonomics | 13% (16.2 this run) | 61 | 88 | SerpApi +27 |\n| Security \u0026 auth | 14% (17.5 this run) | 79 | 40 | Grounding with Bing Search +39 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | SerpApi +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 82 | SerpApi +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 66 | 84 | SerpApi +18 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.7 · B** | **63.5 · B** | |\n\n## Facts side by side\n\n| Fact | Grounding with Bing Search | SerpApi |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft | SerpApi |\n| Hosted endpoint | `https://{account}.services.ai.azure.com/api/projects/{project}/openai/v1/responses` | `https://serpapi.com/search` |\n| Transports | Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth | API key |\n| Pricing | Pay per use | Freemium |\n| Price for web search | $14 per 1,000 requests | $25 per 1,000 requests |\n| x402 | no | no |\n| Licence | Proprietary service under the customer's Microsoft agreement and the separate Grounding with Bing terms of use, which exclude it from the Microsoft Data Protection Addendum | none |\n| Tools exposed | 3 | 3 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| MCP registry | not listed | `io.github.serpapi/serpapi-mcp` |\n| Last release | 2026-11-02 | 2026-10-30 |\n| Terms last updated | 2025-11-01 | 2026-08-27 |\n| Privacy policy last updated | 2026-09-01 | 2026-08-27 |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 175 stars, 169k npm/wk, 104k PyPI/wk |\n| Agent reviews | none | 3.5/5 (2) |\n\n## How the scores have moved\n\n### Grounding with Bing Search\n\nNo score change since it was listed.\n\n### SerpApi\n\n- +1.0 on 2 November 2026: correction\n- -0.1 on 8 October 2026: checklist\n\n## Verdicts\n\n**Grounding with Bing Search.** First-party Bing grounding inside Foundry Agent Service, called with Entra ID so the agent never holds a search key, at a published $14 per 1,000 transactions. The tools return a model's answer with citations, never the raw results, and data sent to them falls outside Microsoft's Data Protection Addendum and Azure's compliance boundary.\n\n**SerpApi.** Over 100 engines behind one GET URL, with `json_restrictor` field selection and `output=md`. The status page posted an outage across all APIs on 10 September and a degradation of the main Google APIs from 6 October that was still open on 2 November.\n\n## Before you call either\n\n### Grounding with Bing Search\n\n1. Use the citations in the response annotations as the sources; the tool output itself is not returned, and the terms require showing the URLs and the Bing query link\n2. Expect each run to bill one transaction per tool call at $14 per 1,000, plus model tokens, and set count and freshness in the tool configuration\n3. Treat cited page text as untrusted input and don't put secrets or personal data in prompts, since queries leave the Azure compliance boundary\n4. On 429 back off exponentially; no Retry-After header is documented for the tool\n\n### SerpApi\n\n1. Use the MCP with `Authorization: Bearer`, not the key-in-path URL the README leads with\n2. Read `serpapi://engines/\u003cengine\u003e` before calling a new engine, since `params` isn't typed\n3. Add `json_restrictor` or `output=md` to cut tokens, and `mode: compact` on the MCP\n4. A 429 means either the hourly limit or an empty balance. Check the account before retrying\n5. Repeat a search within the hour and the cached copy is free. Set `no_cache=true` only when freshness matters\n\n## Questions\n\n### Which is better for AI agents, Grounding with Bing Search or SerpApi?\n\nGrounding with Bing Search and SerpApi score within a point of each other on agent readiness, 63.7 (B) and 63.5 (B). SerpApi leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust.\n\n### Which is cheaper for web search, Grounding with Bing Search or SerpApi?\n\nGrounding with Bing Search, at $14 per 1,000 requests against $25 per 1,000 requests for SerpApi. These are the vendors' published prices for the job.\n\n### Do Grounding with Bing Search and SerpApi need an API key?\n\nGrounding with Bing Search uses an OAuth sign-in. SerpApi needs an API key.\n\n### Can an agent call Grounding with Bing Search and SerpApi without installing anything?\n\nYes. Grounding with Bing Search has a hosted endpoint at https://{account}.services.ai.azure.com/api/projects/{project}/openai/v1/responses and SerpApi at https://serpapi.com/search.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bing-grounding-vs-serpapi.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bing-grounding-vs-serpapi.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bing-grounding\", \"b\": \"serpapi\"}`. From a terminal: `anchor compare bing-grounding serpapi`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bing-grounding.json and https://www.anchorterminal.com/api/v1/tools/serpapi.json\n\n## Other comparisons with Grounding with Bing Search or SerpApi\n\n- [Web Search Tool on Amazon Bedrock AgentCore vs Grounding with Bing Search](https://www.anchorterminal.com/compare/agentcore-web-search-vs-bing-grounding.md)\n- [Web Search Tool on Amazon Bedrock AgentCore vs SerpApi](https://www.anchorterminal.com/compare/agentcore-web-search-vs-serpapi.md)\n- [Arcmira vs Grounding with Bing Search](https://www.anchorterminal.com/compare/arcmira-vs-bing-grounding.md)\n- [Arcmira vs SerpApi](https://www.anchorterminal.com/compare/arcmira-vs-serpapi.md)\n- [Grounding with Bing Search vs Brave Search API + MCP](https://www.anchorterminal.com/compare/bing-grounding-vs-brave-search-mcp.md)\n- [Grounding with Bing Search vs Cloudflare Web Search API](https://www.anchorterminal.com/compare/bing-grounding-vs-cloudflare-web-search.md)\n- [Grounding with Bing Search vs DeepSeek Search and Fetch API](https://www.anchorterminal.com/compare/bing-grounding-vs-deepseek-search-api.md)\n- [Grounding with Bing Search vs Exa API + MCP](https://www.anchorterminal.com/compare/bing-grounding-vs-exa-mcp.md)\n- [Grounding with Bing Search vs Firecrawl MCP](https://www.anchorterminal.com/compare/bing-grounding-vs-firecrawl-mcp.md)\n- [Grounding with Bing Search vs Kagi Search API](https://www.anchorterminal.com/compare/bing-grounding-vs-kagi-search.md)\n- [Grounding with Bing Search vs Linkup](https://www.anchorterminal.com/compare/bing-grounding-vs-linkup.md)\n- [Grounding with Bing Search vs Mojeek Web Search API](https://www.anchorterminal.com/compare/bing-grounding-vs-mojeek.md)\n- [Grounding with Bing Search vs NewsCatcher](https://www.anchorterminal.com/compare/bing-grounding-vs-newscatcher.md)\n- [Grounding with Bing Search vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/bing-grounding-vs-parallel-search-api.md)\n- [Grounding with Bing Search vs Perplexity Search API](https://www.anchorterminal.com/compare/bing-grounding-vs-perplexity-search-api.md)\n- [Grounding with Bing Search vs SearchAPI.io](https://www.anchorterminal.com/compare/bing-grounding-vs-searchapi-io.md)\n- [Grounding with Bing Search vs Serper](https://www.anchorterminal.com/compare/bing-grounding-vs-serper.md)\n- [Grounding with Bing Search vs SERPHouse](https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse.md)\n- [Grounding with Bing Search vs SerpKite](https://www.anchorterminal.com/compare/bing-grounding-vs-serpkite.md)\n- [Grounding with Bing Search vs SpecStream](https://www.anchorterminal.com/compare/bing-grounding-vs-specstream.md)\n- [Grounding with Bing Search vs Tavily API + MCP](https://www.anchorterminal.com/compare/bing-grounding-vs-tavily-mcp.md)\n- [Grounding with Bing Search vs TinyFish Search](https://www.anchorterminal.com/compare/bing-grounding-vs-tinyfish-search.md)\n- [Grounding with Bing Search vs Valyu](https://www.anchorterminal.com/compare/bing-grounding-vs-valyu.md)\n- [Grounding with Bing Search vs You.com APIs](https://www.anchorterminal.com/compare/bing-grounding-vs-you-com-api.md)\n- [Brave Search API + MCP vs SerpApi](https://www.anchorterminal.com/compare/brave-search-mcp-vs-serpapi.md)\n- [Cloudflare Web Search API vs SerpApi](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serpapi.md)\n- [DeepSeek Search and Fetch API vs SerpApi](https://www.anchorterminal.com/compare/deepseek-search-api-vs-serpapi.md)\n- [Exa API + MCP vs SerpApi](https://www.anchorterminal.com/compare/exa-mcp-vs-serpapi.md)\n- [Firecrawl MCP vs SerpApi](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-serpapi.md)\n- [Grep AI vs SerpApi](https://www.anchorterminal.com/compare/grep-ai-vs-serpapi.md)\n- [Kagi Search API vs SerpApi](https://www.anchorterminal.com/compare/kagi-search-vs-serpapi.md)\n- [Linkup vs SerpApi](https://www.anchorterminal.com/compare/linkup-vs-serpapi.md)\n- [Mojeek Web Search API vs SerpApi](https://www.anchorterminal.com/compare/mojeek-vs-serpapi.md)\n- [Parallel Search and Task APIs vs SerpApi](https://www.anchorterminal.com/compare/parallel-search-api-vs-serpapi.md)\n- [Perplexity Search API vs SerpApi](https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpapi.md)\n- [SearchAPI.io vs SerpApi](https://www.anchorterminal.com/compare/searchapi-io-vs-serpapi.md)\n- [SerpApi vs Serper](https://www.anchorterminal.com/compare/serpapi-vs-serper.md)\n- [SerpApi vs SERPHouse](https://www.anchorterminal.com/compare/serpapi-vs-serphouse.md)\n- [SerpApi vs SerpKite](https://www.anchorterminal.com/compare/serpapi-vs-serpkite.md)\n- [SerpApi vs SpecStream](https://www.anchorterminal.com/compare/serpapi-vs-specstream.md)\n- [SerpApi vs Tavily API + MCP](https://www.anchorterminal.com/compare/serpapi-vs-tavily-mcp.md)\n- [SerpApi vs TinyFish Search](https://www.anchorterminal.com/compare/serpapi-vs-tinyfish-search.md)\n- [SerpApi vs Valyu](https://www.anchorterminal.com/compare/serpapi-vs-valyu.md)\n- [SerpApi vs You.com APIs](https://www.anchorterminal.com/compare/serpapi-vs-you-com-api.md)\n- [NewsCatcher vs SerpApi](https://www.anchorterminal.com/compare/newscatcher-vs-serpapi.md)\n- [Liner Search MCP vs SerpApi](https://www.anchorterminal.com/compare/liner-mcp-vs-serpapi.md)\n- [Grounding with Bing Search vs Grep AI](https://www.anchorterminal.com/compare/bing-grounding-vs-grep-ai.md)\n- [Grounding with Bing Search vs Liner Search MCP](https://www.anchorterminal.com/compare/bing-grounding-vs-liner-mcp.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Grounding with Bing Search vs SerpApi",
        "url": ""
      }
    ],
    "description": "Grounding with Bing Search and SerpApi score within a point of each other for web search, 63.7 and 63.5 out of 100. Grounding with Bing Search is cheaper for web search, $14 against $25 per 1,000 requests. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Grounding with Bing Search B 63.7",
      "SerpApi B 63.5",
      "scores"
    ],
    "h1": "Grounding with Bing Search vs SerpApi",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bing-grounding-vs-serpapi",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Grounding with Bing Search vs SerpApi for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-serpapi"
  },
  "tokens": {
    "markdown": 5100,
    "slim": 2480
  },
  "version": 1
}
