# Grounding with Bing Search vs Exa API + MCP (slim)

> Exa scores 67.8 (B) to Grounding with Bing Search's 63.7 (B) for web search. Exa is cheaper for web search, $4 against $14 per 1,000 requests. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/bing-grounding-vs-exa-mcp.md (~6,900 tokens) · this version ~4,130 tokens · JSON https://www.anchorterminal.com/compare/bing-grounding-vs-exa-mcp.json · canonical https://www.anchorterminal.com/compare/bing-grounding-vs-exa-mcp
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

Exa API + MCP scores 67.8 (B) on agent readiness against Grounding with Bing Search's 63.7 (B), and leads in 5 of 7 scored categories. Grounding with Bing Search leads on security & auth and transparency & trust. Both do web search. Exa API + MCP is cheaper for web search, $4 against $14 per 1,000 requests. Exa API + MCP accepts x402. Grounding with Bing Search doesn't.

- Grounding with Bing Search: B 63.7, rank #502 of 1486 · https://www.anchorterminal.com/tools/bing-grounding.min.md
- Exa API + MCP: B 67.8, rank #303 of 1486 · https://www.anchorterminal.com/tools/exa-mcp.min.md
- Grounding with Bing Search, good for Teams already building on Foundry Agent Service who want cited answers from Bing without handling a search key. Ahead on Security & auth, 79 against 43; Transparency & trust, 66 against 61. Also No incidents deducted, where Exa API + MCP loses 9 points for them.
- Exa API + MCP, good for Agents that search in natural language and want short highlights or page text in the same call, and for keyless or wallet-paid use. Ahead on Reliability, 77 against 68; Schema & documentation, 86 against 68; Agent ergonomics, 96 against 61; Payments & pricing, 90 against 20; Maintenance & community, 88 against 80. Also Cheaper for web search, $4 against $14 per 1,000 requests; An agent can pay per call over x402, with no account; Runs on your own machine; Free to start without a card; Open source.

| Category | Grounding with Bing Search | Exa API + MCP |
| --- | --- | --- |
| Reliability (16%) | 68 | 77 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 68 | 86 |
| Agent ergonomics (13%) | 61 | 96 |
| Security & auth (14%) | 79 | 43 |
| Payments & pricing (10%) | 20 | 90 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 80 | 88 |
| Transparency & trust (7%) | 66 | 61 |

| Fact (where they differ) | Grounding with Bing Search | Exa API + MCP |
| --- | --- | --- |
| Kind | HTTP API | MCP server |
| Vendor | Microsoft | Exa |
| Hosted endpoint | `https://{account}.services.ai.azure.com/api/projects/{project}/openai/v1/responses` | `https://mcp.exa.ai/mcp` |
| Transports | Streamable HTTP | stdio, Streamable HTTP, HTTP |
| Auth | OAuth | OAuth or key |
| Pricing | Pay per use | Freemium |
| Price for web search | $14 per 1,000 requests | $4 per 1,000 requests |
| x402 | no | yes, from $0.007/call |
| 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 | MIT |
| Tools exposed | 3 | 4 |
| Read-only variant documented | no | yes |
| llms.txt | no | yes |
| MCP registry | not listed | `ai.exa/exa` |
| Last release | 2026-11-02 | 2026-10-30 |
| Terms last updated | 2025-11-01 | not read yet |
| Privacy policy last updated | 2026-09-01 | 2026-06-29 |
| Terms restrict automated access | yes | not read yet |
| Terms restrict benchmarking | not found in the text | not read yet |
| Terms or service can change without notice | not found in the text | not read yet |
| Arbitration or class-action waiver | not found in the text | not read yet |
| Popularity | none | 4.9k stars, 1.1M npm/wk, 1.4M PyPI/wk |
| Agent reviews | none | 4.5/5 (2) |

Why the edge:
- Payments & pricing, Exa API + MCP +70: 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).); Exa API + MCP 90 (x402 on POST /search and /contents, USDC on Arc, Base, World Chain or Solana, including Circle Gateway nanopayments, not on answer, Agent runs, monitors or Websets, so partial (30). Per-call prices published without login, $0.004 for `lite` (and legacy `instant`) to $0.015 for legacy deep-reasoning per search (20). $10 a month and a $10 onboarding bonus, and the pricing page now states "No payment method required" (20). An agent can pay by x402 with no account, and the hosted MCP works anonymously within rate limits (20).)
- Security & auth, Grounding with Bing Search +36: 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.); Exa API + MCP 43 (Bearer or `x-api-key` keys, and a team-management API creates keys with their own rate limit and budget. The hosted MCP also takes OAuth. The README documents `?exaApiKey=` in the URL, so 25 less 10 (15). Every tool is read-only and annotated so, and `?tools=` limits the set. Agent runs spend credit but change nothing. Since 19 October `agent_run` registers by default when a key is supplied, with `budget.maxCostDollars` ($5 default for auto, $20 for ultra, $1 to $100) and a low default effort as the spend limits (18). Search and fetch return untrusted page text, and we found no prompt-injection guidance in the security overview, the MCP README or the tool descriptions. The new `notices` field is for the reading model, but it explains how results were produced and isn't an injection mitigation (0). No audit log found (0). SOC 2 Type II with reports in a trust centre. No security.txt (404 on 21 October), no SECURITY.md, no bug bounty and no GitHub advisories. The April 2026 key leak below was handled in a commit message only (10).)
- Agent ergonomics, Exa API + MCP +35: 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.); Exa API + MCP 96 (On a keyless connection two tools are on by default, `web_search_exa` and `web_fetch_exa`, about 1,250 characters of descriptions between them. Since the 19 October commit on main, `agent_run` (about 500 characters plus a larger input schema) is also on by default when the user supplies a key, though the README still lists it as optional. `?tools=` turns on `web_search_advanced_exa` and picks the set (25). `numResults`, `maxCharacters`, highlights instead of full text, category, domain and date filters, and in `web_search_advanced_exa` the `lite` type (20). The error-codes page lists codes, and the MCP server rewrites a 429 into a message about the free tier and keys and now passes search notices to the model. Errors reach the model as text rather than a code (16). Every tool sets `readOnlyHint`, `destructiveHint: false` and `idempotentHint` (false on `agent_run`), and the server retries transient errors twice (20). Only `query` is required. Python and TypeScript SDKs (15).)
- Schema & documentation, Exa API + MCP +18: Grounding with Bing Search 68 (The tools are typed in the official SDKs (BingGroundingTool, BingCustomSearchPreviewTool, WebSearchTool) in Python, C#, JavaScript and Java, and the toolbox exposes web search as an MCP tool. No public OpenAPI description of the Responses tool types was confirmed from the pages read (10 of 25). Microsoft Learn serves each page as Markdown with `accept=text/markdown`, though learn.microsoft.com/llms.txt answers 404 (10). The pages say what each of four web grounding routes is for and when to choose it, when to use Custom Search instead, and not to ask the model to summarise a whole page (17 of 20). Parameters are typed with defaults and limits in prose, `count` 1 to 50 with default 5, freshness values and a date-range form, market and language formats, `search_context_size` low, medium or high (11 of 15). Examples in Python, C#, TypeScript, Java and REST with expected output, and troubleshooting tables for connection ID, authentication and 429 problems, but no error codes or bodies for the tools (10 of 15). Requests carry `api-version=v1` on the toolbox, SDK changelogs are dated and a monthly What's New page lists new articles, the latest for August 2026 (10 of 15). 10 + 10 + 17 + 11 + 10 + 10 = 68.); Exa API + MCP 86 (OpenAPI at exa.ai/docs/exa-spec.yaml, re-read on 21 October with the new `lite` type, its accepted parameters and the `warnings` and `notices` response fields, and JSON Schema inputs on every MCP tool (25). llms.txt and Markdown docs (10). `web_search_exa` tells the model how to phrase a query and when to follow up with `web_fetch_exa`, and deprecated tools name their replacement. The `agent_run` description on the main branch since 19 October says it isn't for a single lookup or a known URL and names the sibling tools, but that commit isn't in npm 3.4.2 and we couldn't confirm the hosted server runs it, so the line stays where it was. Nothing else says when not to use a tool (15). Inputs coerce loosely. `numResults` is described as 1 to 100 but the schema has no bounds, and bad numbers fall back to defaults silently. On the API, `lite` rejects an unsupported parameter with a 400 that names it, and ignored fields such as `startCrawlDate` now come back as `IGNORED_FIELD` warnings (10). An error-codes page and examples on every endpoint page (13). Dated changelog with deprecations, the latest entry 19 October. The MCP repository has no tags, so versions show only in package.json and the registry (13).)
- Reliability, Exa API + MCP +9: Grounding with Bing Search 68 (Graded on the hosted lines, for the Foundry Agent Service tools agents call. Azure status page with post-incident reviews and a Foundry Agent Service component (20). The history page read on 6 November lists one review in the 90 days from 8 August that names Foundry Agent Service, intermittent failures and latency in Sweden Central from 10:03 to 15:58 UTC on 29 September 2026. It was one region and partial, and the review doesn't name Grounding with Bing, so minor only, the reading the Azure Translator listing got for the same review (20). The pricing page publishes 150 transactions a second and 1 million a day for each Grounding with Bing resource (15). The web search troubleshooting table says to answer 429 with exponential backoff and retries. No Retry-After or tool-specific overload guidance was found, and searches have no side effects (8 of 15). No SLA naming Grounding with Bing was found. The terms make it a First Party Consumption Service apart from the Online Services terms, and the Online Services SLA document wasn't opened (0). Grounding with Bing Custom Search is marked preview and Grounding with Bing Search is not, but no page read states general availability for it or for the web_search tool, and the .NET SDK is in preview (5 of 10). 20 + 20 + 15 + 8 + 0 + 5 = 68.); Exa API + MCP 77 (Instatus page at status.exa.ai with Search API, Exa MCP, Agents API and Websets components and dated history (20). In the 90 days to 1 November, history/1 shows the Search API's 1-minute blip (16 September), a 1 hour 24 minute latency incident (18 September) and 2 hours 21 minutes of elevated latency with some failed requests (21 September), and the Agents API's 25 minutes of runs failing to start (18 September, labelled major) and 4 hours 56 minutes in which 'some agent runs may fail to start or complete' (21 to 22 September). August is per the 21 October check, not re-read on 1 November (history/2 answers 404 again), with a 10-minute Search API major outage on 14 August and a 53-minute latency incident. No notices in October or November. By this run's reading each hit one product or a subset of requests and none was an hour of a core API down, so all are minor (20, up from 10, where the 21 to 22 September Agents API incident had been counted as a major). Rate limits published per endpoint, 10 QPS search and answer, 5 QPS deep, 100 QPS contents, 5 QPS and 50 active Agent runs (15). 429 with `Retry-After` when available and exponential backoff advice. We found no idempotency guidance for creating Agent runs, which cost money (12). No SLA found. The pricing page lists "Enterprise SLAs" on the contract plan, with no terms published (0). Search, contents and the MCP are GA, and Dynamic Highlights is still a research preview behind a beta header and isn't the core surface (10). 20 + 20 + 15 + 12 + 0 + 10 = 77.)
- Maintenance & community, Exa API + MCP +8: Grounding with Bing Search 80 (Read as a closed service with official SDKs, as the other Azure listings are. The web search page was updated on 2 November 2026 and the Bing tools page on 12 October, and azure-ai-projects 2.10.0 shipped on PyPI and npm on 30 October 2026, the SDK that carries the tool types (30). azure-ai-projects released 2.6.0 (4 September), 2.6.1, 2.7.0, 2.8.0 (5 October), 2.9.0 (17 October) and 2.10.0 in the 90 days from 8 August. Their changelogs weren't read for web search changes, so they count as SDK releases (20). Microsoft Learn feedback, Microsoft Q&A and the Azure SDK issue trackers, whose reply times weren't sampled (10 of 15). Current official SDKs in Python, JavaScript, .NET and Java, the .NET one in preview (15). The SDKs live in the azure-sdk monorepos and CI wasn't checked (5 of 10). 30 + 20 + 10 + 15 + 5 = 80.); Exa API + MCP 88 (exa-py and exa-js 2.27.0 tagged on 30 October 2026, after 2.26.0 and the API changelog entry of 19 October (30). 14 tags of each SDK from v2.17.0 (7 August) to v2.27.0 (30 October), and changelog entries on 28 August, 24 September and 19 October (20). 13 open MCP issues and pull requests merged on 2, 6, 7 and 19 October per the 21 October check, with pull requests merged on 27 and 28 October in the clone; reply times unread because GitHub's pages refuse us (15). Official registry entry ai.exa/exa under Exa's own domain, latest 3.4.1 (published 23 September), and current Python and TypeScript SDKs (15). CI typechecks and tests the MCP server on every push. The npm package (3.4.2, 6 October, per the 21 October check) ships from a workflow without git tags, and package.json on main is still 3.4.2 on 1 November (8).)
