{
  "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": 502,
        "ranked": true,
        "rankOf": 1486,
        "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-07T18:20:13.927615013Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "invalid character \"{\" in host name",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 0
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "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-07T18:20:13.927615013Z"
      }
    },
    "answer": "Grounding with Bing Search scores 63.7 (B) on agent readiness against SERPHouse's 42.4 (E), and leads in 5 of 7 scored categories. SERPHouse leads on payments \u0026 pricing.",
    "b": {
      "slug": "serphouse",
      "name": "SERPHouse",
      "vendor": "Patoliya Infotech LLP",
      "vendorUrl": "https://www.serphouse.com",
      "kind": "http-api",
      "category": "search",
      "summary": "SERPHouse is a SERP API from Patoliya Infotech LLP in India that returns parsed Google, Bing and Yahoo results as JSON, live or scheduled, with a Scraper API for page HTML or Markdown and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/serphouse",
      "markdownUrl": "https://www.anchorterminal.com/tools/serphouse.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/serphouse.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/serphouse.json",
      "dns": "serphouse.grade.anchorterminal.com",
      "repo": "https://github.com/SERPHouse/serphouse-mcp",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://mcp.serphouse.com/YOUR_API_KEY/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "serphouse-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "One API key per account, shown on the dashboard after a browser signup and email confirmation. Sent as `Authorization: Bearer` or as `api_token` in the query string. The hosted MCP server takes the key in its URL path. One account per user. No scopes or rotation found.",
      "pricing": "paid",
      "pricingNotes": "Basic $29.99 a month for 400,000 credits ($0.75 per 1,000 SERP requests) and Regular $49.99 for 800,000 ($0.62). Autocomplete $0.37 and $0.31, Top 100 Google $7.50 and $6.25 per 1,000. Custom plans by email. Free trial 4,000 credits for 7 days, no card. Credits don't roll over.",
      "priceSummary": "$0.75 / 1k req",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the pricing page, the docs, llms.txt or the MCP source (checked 2026-11-06). An empty balance returns 402 'Insufficient credits'.",
        "endpoints": []
      },
      "toolCount": 23,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://www.serphouse.com/docs",
      "llmsTxt": "https://www.serphouse.com/llms.txt",
      "capabilities": [
        "search.serp",
        "web.search",
        "search.news",
        "search.images",
        "web.fetch"
      ],
      "tags": [
        "hosted",
        "paid",
        "no-card",
        "free-tier",
        "mcp",
        "remote-mcp",
        "llms-txt",
        "python",
        "india"
      ],
      "lastRelease": "2026-07-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 42.4,
        "grade": "E",
        "agentReady": false,
        "rank": 1265,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 23,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 23,
          "payments": 40,
          "reliability": 40,
          "schema": 66,
          "security": 11,
          "transparency": 50
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "SERPHouse returns parsed Google, Bing and Yahoo results at published prices from $0.62 per 1,000 requests, with a 23-tool MCP server and a 4,000-credit trial without a card. The hosted MCP puts the key in its URL, there is no status page, changelog or security contact, and the terms keep search history indefinitely.",
        "bestFor": "Low-cost Google, Bing and Yahoo result parsing for SEO and rank tracking, with many Google verticals.",
        "strengths": [
          "Published prices per 1,000 requests, $0.75 on Basic and $0.62 on Regular, with failed requests not charged",
          "Google web, news, images, shopping, jobs, videos, forums, local and autocomplete, plus Bing and Yahoo, in one API",
          "Hosted and stdio MCP server with 23 tools, typed Zod inputs and routing advice between tools, MIT licensed",
          "llms.txt and Markdown copies of the docs pages, with a status code table and per-engine examples",
          "Free trial of 4,000 credits for 7 days with no card"
        ],
        "weaknesses": [
          "The hosted MCP server takes the API key only in its URL path, and the REST API also accepts `api_token` in the query string",
          "No status page, changelog, security.txt, disclosure policy or certification found",
          "Terms keep search history indefinitely and advise users in the European Economic Area not to use the service",
          "The pricing page states a 99.99% uptime SLA and the docs 99.95%, with no SLA terms or credits found",
          "The home page sends readers to a playground 'on the Oxylabs dashboard', with no relationship to Oxylabs found"
        ],
        "agentNotes": [
          "Send the key as `Authorization: Bearer`, not as `api_token` in the URL",
          "Treat a 200 with `\"status\": \"error\"` and 'Please try again' as a failure and retry later",
          "Pass `loc` or `loc_id` for Google and Bing tools other than `serphouse_search`; find IDs with `serphouse_location_search`",
          "Use `serphouse_search` for plain lookups and `serphouse_serp_google_advanced` only when ranks beyond the top 10 are needed, at ten times the price",
          "Keep under 60 requests a minute on self-serve plans"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 42.4
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 23,
          "payments": 40,
          "reliability": 40,
          "schema": 66,
          "security": 11,
          "transparency": 39
        },
        "provenanceScore": 61,
        "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": "npx serphouse-mcp",
        "http": "curl -X POST https://api.serphouse.com/serp/live \\\n  -H 'accept: application/json' \\\n  -H 'authorization: Bearer API_TOKEN' \\\n  -H 'content-type: application/json' \\\n  -d '{\"data\": {\"domain\": \"google.com\", \"lang\": \"en\", \"q\": \"Coffee\", \"loc\": \"Texas,United States\", \"device\": \"desktop\", \"serp_type\": \"web\"}}'",
        "config": {
          "mcpServers": {
            "serphouse": {
              "url": "https://mcp.serphouse.com/YOUR_SERPHouse_API_KEY/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/search.serp",
        "tool": "https://letme.dev/serphouse"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "SERP request, Basic",
          "unit": "1k-requests",
          "usd": 0.75,
          "note": "$29.99 a month for 400,000 credits"
        },
        {
          "item": "SERP request, Regular",
          "unit": "1k-requests",
          "usd": 0.62,
          "note": "$49.99 a month for 800,000 credits"
        },
        {
          "item": "Autocomplete request, Basic",
          "unit": "1k-requests",
          "usd": 0.37,
          "note": "$0.31 on Regular"
        },
        {
          "item": "Top 100 Google SERP, Basic",
          "unit": "1k-requests",
          "usd": 7.5,
          "note": "$6.25 on Regular"
        },
        {
          "item": "Basic plan",
          "unit": "month",
          "usd": 29.99,
          "note": "400,000 credits, no rollover"
        },
        {
          "item": "Regular plan",
          "unit": "month",
          "usd": 49.99,
          "note": "800,000 credits, no rollover"
        }
      ],
      "provenance": {
        "legalEntity": "Patoliya Infotech LLP",
        "domain": "serphouse.com",
        "domainRegistered": "2019-08-20",
        "endpointOnVendorDomain": true,
        "terms": "https://www.serphouse.com/terms-of-service",
        "privacy": "https://www.serphouse.com/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms name Patoliya Infotech LLP, a limited liability partnership incorporated in India, under Indian law with courts in Surat. The contact page gives an address in Utran, Surat, Gujarat.",
          "No effective or updated date was found on the terms or the privacy policy.",
          "www.serphouse.com/robots.txt allows all agents except /data/.",
          "The trial terms forbid 'scraping at scale or performing automated bulk data extraction' with trial credits. No clause on automated access to the website was found.",
          "/.well-known/security.txt answers 404. No status page is linked, and status.serphouse.com did not answer.",
          "RDAP gives serphouse.com a registration date of 20 August 2019; the about page says SERPHouse started in September 2019."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/serphouse.json",
      "live": {
        "slug": "serphouse",
        "probe": {
          "target": "https://mcp.serphouse.com/YOUR_API_KEY/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:53.888566191Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 246,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 234,
          "p95ms24h": 348,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "SERPHouse/serphouse-mcp",
            "version": "1.1.0",
            "released": "2026-07-06",
            "seenAt": "2026-11-07T00:04:55.526969474Z"
          },
          {
            "registry": "npm",
            "name": "serphouse-mcp",
            "version": "1.1.0",
            "seenAt": "2026-11-07T00:04:54.741719814Z"
          }
        ],
        "githubStars": 10,
        "npmWeekly": 11,
        "securityTxt": {
          "url": "https://serphouse.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:39.38860304Z"
        },
        "llmsTxt": {
          "url": "https://www.serphouse.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:54.600324581Z"
        },
        "pages": [
          {
            "url": "https://www.serphouse.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:34:21.531839335Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "85f9c0a9e291"
          },
          {
            "url": "https://www.serphouse.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:34:24.703890347Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "171892dff54e"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.serphouse.com/YOUR_SERPHouse_API_KEY/mcp",
          "checkedAt": "2026-11-07T01:47:41.660458875Z",
          "status": "ok",
          "protocol": "2025-11-25",
          "tools": [
            {
              "name": "serphouse_domain_list",
              "title": "Serphouse Domain List",
              "description": "List supported search domains. Call this before Yahoo searches — yahoo.com is not valid; use regional domains like uk.yahoo.com from this list.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {},
                "type": "object"
              }
            },
            {
              "name": "serphouse_language_list",
              "title": "Serphouse Language List",
              "description": "Get supported language codes for google, bing, or yahoo.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "type": {
                    "description": "Search engine language catalog to fetch.",
                    "enum": [
                      "google",
                      "bing",
                      "yahoo"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_location_search",
              "title": "Serphouse Location Search",
              "description": "Search Serphouse location ids and location strings for Google or Bing targeting.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "q": {
                    "description": "Location search term, for example texas or london.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "type": {
                    "default": "google",
                    "enum": [
                      "google",
                      "bing"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_account_info",
              "title": "Serphouse Account Info",
              "description": "Get Serphouse account plan and credit usage.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {},
                "type": "object"
              }
            },
            {
              "name": "serphouse_search",
              "title": "Serphouse Search",
              "description": "Default web search for agents — fast lightweight Google organic results via POST /web-search-lite. Only q is required; gl defaults to US. Use serphouse_google_web only when you need device, gfilter, or num_result. Use serphouse_serp_google_advanced for SEO rankings beyond top 10.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Optional date filter: YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y. Omit for general searches — lite results may be empty when this is set.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "gl": {
                    "description": "Two-letter ISO country code, e.g. US, IN, GB. Used when loc is omitted.",
                    "minLength": 1,
                    "pattern": "^[A-Za-z]{2}$",
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Location name, e.g. Austin,Texas,United States. Provide loc or gl, not both.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "verbatim": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_web_lite",
              "title": "Serphouse Google Web Search (Lite)",
              "description": "Alias of serphouse_search — fast lightweight Google organic results via POST /web-search-lite. Prefer serphouse_search for general agent queries.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Optional date filter: YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y. Omit for general searches — lite results may be empty when this is set.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "gl": {
                    "description": "Two-letter ISO country code, e.g. US, IN, GB. Used when loc is omitted.",
                    "minLength": 1,
                    "pattern": "^[A-Za-z]{2}$",
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Location name, e.g. Austin,Texas,United States. Provide loc or gl, not both.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "verbatim": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_web",
              "title": "Serphouse Google Web Search (Full)",
              "description": "Full Google web search via POST /google-web with device, gfilter, and num_result. Requires loc or loc_id. For general queries use serphouse_search instead.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "gfilter": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "num_result": {
                    "maximum": 10,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "verbatim": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_image",
              "title": "Serphouse Google Image Search",
              "description": "Run a realtime Google image search via POST /google-image.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_news",
              "title": "Serphouse Google News Search",
              "description": "Run a realtime Google news search via POST /google-news.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_shop",
              "title": "Serphouse Google Shop Search",
              "description": "Run a realtime Google shopping search via POST /google-shop.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_bing_web",
              "title": "Serphouse Bing Web Search",
              "description": "Run a realtime Bing web search via POST /bing-web.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "lang": {
                    "default": "en-US",
                    "description": "Language code, for example en-US or fr-FR.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_bing_image",
              "title": "Serphouse Bing Image Search",
              "description": "Run a realtime Bing image search via POST /bing-image.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "lang": {
                    "default": "en-US",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_bing_news",
              "title": "Serphouse Bing News Search",
              "description": "Run a realtime Bing news search via POST /bing-news.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "lang": {
                    "default": "en-US",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_yahoo_web",
              "title": "Serphouse Yahoo Web Search",
              "description": "Run a realtime Yahoo web search via POST /yahoo-web.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "uk.yahoo.com",
                    "description": "Regional Yahoo domain from serphouse_domain_list, for example uk.yahoo.com or fr.yahoo.com. Do not use yahoo.com.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "lang_en",
                    "description": "Yahoo language code, for example lang_en or lang_fr.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_yahoo_image",
              "title": "Serphouse Yahoo Image Search",
              "description": "Run a realtime Yahoo image search via POST /yahoo-image.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "domain": {
                    "default": "uk.yahoo.com",
                    "description": "Regional Yahoo domain from serphouse_domain_list, for example uk.yahoo.com or fr.yahoo.com. Do not use yahoo.com.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "lang_en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_yahoo_news",
              "title": "Serphouse Yahoo News Search",
              "description": "Run a realtime Yahoo news search via POST /yahoo-news.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "uk.yahoo.com",
                    "description": "Regional Yahoo domain from serphouse_domain_list, for example uk.yahoo.com or fr.yahoo.com. Do not use yahoo.com.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "lang_en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "no_trace": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      },
                      {
                        "const": "true",
                        "type": "string"
                      },
                      {
                        "const": "false",
                        "type": "string"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      },
                      {
                        "const": false,
                        "type": "boolean"
                      }
                    ],
                    "description": "Enterprise only. Enables NoTrace mode when set to 1 or true."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_serp_google_advanced",
              "title": "Serphouse Google Advanced SERP",
              "description": "SEO ranking checks: fetch up to 100 Google results in one request. Use max_pages 1–10 (~10 results per page). For general web search use serphouse_search; use this when rank position beyond the top 10 is needed.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "gfilter": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "max_pages": {
                    "default": 10,
                    "maximum": 10,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "serp_type": {
                    "default": "web",
                    "enum": [
                      "web",
                      "news",
                      "image",
                      "shop"
                    ],
                    "type": "string"
                  },
                  "verbatim": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_jobs",
              "title": "Serphouse Google Jobs",
              "description": "Run a realtime Google Jobs search.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "q": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_autocomplete",
              "title": "Serphouse Google Autocomplete",
              "description": "Get realtime localized Google autocomplete suggestions.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "client": {
                    "default": "chrome",
                    "enum": [
                      "chrome",
                      "chrome-omni",
                      "home_page",
                      "safari",
                      "firefox",
                      "youtube"
                    ],
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Location name used to localize suggestions.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "q": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q",
                  "loc"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_videos",
              "title": "Serphouse Google Videos",
              "description": "Run a realtime Google Videos search with optional video filters.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "video_captions": {
                    "const": "captioned",
                    "type": "string"
                  },
                  "video_duration": {
                    "enum": [
                      "short",
                      "medium",
                      "long"
                    ],
                    "type": "string"
                  },
                  "video_quality": {
                    "const": "high",
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_short_videos",
              "title": "Serphouse Google Short Videos",
              "description": "Run a realtime Google Short Videos search.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "video_captions": {
                    "const": "captioned",
                    "type": "string"
                  },
                  "video_quality": {
                    "const": "high",
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_forums",
              "title": "Serphouse Google Forums",
              "description": "Run a realtime Google Forums search for discussions and community results.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "date_range": {
                    "description": "Date range as YYYY-MM-DD,YYYY-MM-DD or one of h, d, w, m, y.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "device": {
                    "default": "desktop",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  },
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "description": "Search phrase to query.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "verbatim": {
                    "anyOf": [
                      {
                        "const": 0,
                        "type": "number"
                      },
                      {
                        "const": 1,
                        "type": "number"
                      },
                      {
                        "const": "0",
                        "type": "string"
                      },
                      {
                        "const": "1",
                        "type": "string"
                      }
                    ]
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            },
            {
              "name": "serphouse_google_local",
              "title": "Serphouse Google Local",
              "description": "Run a realtime Google Local search for local business results.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "properties": {
                  "domain": {
                    "default": "google.com",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lang": {
                    "default": "en",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc": {
                    "description": "Required unless loc_id is provided. Location name, for example Austin,Texas,United States. Provide exactly one of loc or loc_id.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "loc_id": {
                    "anyOf": [
                      {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      {
                        "minLength": 1,
                        "pattern": "^\\d+$",
                        "type": "string"
                      }
                    ],
                    "description": "Required unless loc is provided. Serphouse location id from serphouse_location_search. Provide exactly one of loc_id or loc."
                  },
                  "page": {
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991,
                    "type": "integer"
                  },
                  "q": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ],
                "type": "object"
              }
            }
          ],
          "schemaTokens": 6824,
          "changedAt": "2026-11-07T01:47:41.660458875Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 6824,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 43
            },
            "findings": [
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_bing_image",
                "message": "2 parameters without a description: lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_bing_news",
                "message": "3 parameters without a description: device, lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_bing_web",
                "message": "3 parameters without a description: date_range, device, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_autocomplete",
                "message": "3 parameters without a description: client, lang, q",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_forums",
                "message": "5 parameters without a description: device, domain, lang, page, verbatim",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_image",
                "message": "4 parameters without a description: date_range, domain, lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_jobs",
                "message": "4 parameters without a description: date_range, domain, lang, q",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_local",
                "message": "4 parameters without a description: domain, lang, page, q",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_news",
                "message": "5 parameters without a description: date_range, device, domain, lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_shop",
                "message": "3 parameters without a description: domain, lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_short_videos",
                "message": "6 parameters without a description: device, domain, lang, page, video_captions, video_quality",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_videos",
                "message": "7 parameters without a description: device, domain, lang, page, video_captions, video_duration and 1 more",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_web",
                "message": "7 parameters without a description: device, domain, gfilter, lang, num_result, page and 1 more",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_google_web_lite",
                "message": "4 parameters without a description: domain, lang, page, verbatim",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_location_search",
                "message": "1 parameter without a description: type",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_search",
                "message": "4 parameters without a description: domain, lang, page, verbatim",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_serp_google_advanced",
                "message": "8 parameters without a description: device, domain, gfilter, lang, max_pages, page and 2 more",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_yahoo_image",
                "message": "2 parameters without a description: lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_yahoo_news",
                "message": "3 parameters without a description: device, lang, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "serphouse_yahoo_web",
                "message": "2 parameters without a description: device, page",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_account_info",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"info\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_bing_image",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_bing_news",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_bing_web",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_domain_list",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"list\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_autocomplete",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_forums",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_image",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_jobs",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_local",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_news",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_shop",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_short_videos",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_videos",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_web",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_google_web_lite",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_language_list",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"list\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_location_search",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_search",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_serp_google_advanced",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_yahoo_image",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_yahoo_news",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "serphouse_yahoo_web",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC24",
                "severity": "note",
                "message": "23 of 23 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "updatedAt": "2026-11-07T18:20:53.888566191Z"
      }
    },
    "edges": [
      {
        "by": 68,
        "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 key per account, one account per user, no scopes or rotation found (10). The REST API documents `api_token` in the query string and the hosted MCP server takes the key only in its URL path, less 10 (0 of 30). Searches only read, with no read-only or restricted key (8 of 20). Results are third-party snippets and AI Overview text, with no prompt-injection guidance (0). An account tool shows plan and credit usage; no per-call log was found (3 of 15). No security.txt (404), disclosure policy, bug bounty or certification found (0 of 20). 0 + 8 + 0 + 3 + 0 = 11."
        },
        "scores": {
          "a": 79,
          "b": 11
        }
      },
      {
        "by": 57,
        "category": "maintenance",
        "leads": "bing-grounding",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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\u0026A 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.",
          "b": "Read for a closed service, with its repositories read as code. No changelog or dated API change was found. The newest release is MCP server 1.1.0 on 6 July 2026, 123 days before 6 November, and the last commit in its repository was on 22 July (10). No release or dated change in the 90 days from 8 August; the about page's 2026 entry (Forums, Place Details and Scraper APIs) is undated (0). No changelog; support by email. Issues weren't read, since the GitHub API refused us for its rate limit (5 of 25). Not in the official MCP registry, though the repository's server.json names io.github.SERPHouse/serphouse-mcp. Node.js SDK last changed 24 June 2026, PHP SDK 10 May 2024, and no Python SDK repository was found under the SERPHouse organisation (5 of 15). The MCP repository has an npm publish workflow and no tests (3 of 10). 10 + 0 + 5 + 5 + 3 = 23."
        },
        "scores": {
          "a": 80,
          "b": 23
        }
      },
      {
        "by": 28,
        "category": "reliability",
        "leads": "bing-grounding",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Read with the hosted lines. No status page is linked from the site or docs, and status.serphouse.com did not answer on 6 November 2026 (0). No readable incident history (5). Rate limits published, 60 requests a minute and 60 concurrent on every self-serve plan (15). 429 is documented as 'slow down', and a 200 can carry `\"status\": \"error\"` with 'Please try again', with no Retry-After or backoff guidance. Failed requests aren't charged (5 of 15). The pricing page lists a 99.99% uptime SLA on Basic and Regular and the docs a 99.95% one, but no SLA terms or credits were found in the terms (5 of 10). Generally available (10). 0 + 5 + 15 + 5 + 5 + 10 = 40."
        },
        "scores": {
          "a": 68,
          "b": 40
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "serphouse",
        "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 (0). Per-1,000 prices for SERP, autocomplete and top-100 requests published without login (20). Free trial of 4,000 credits for 7 days, 'No Credit Card Required' (20). A person signs up in a browser and confirms an email (0). 0 + 20 + 20 + 0 = 40."
        },
        "scores": {
          "a": 20,
          "b": 40
        }
      },
      {
        "by": 16,
        "category": "transparency",
        "leads": "bing-grounding",
        "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": "Closed service under terms naming Patoliya Infotech LLP in India, and the MCP server is MIT (18 of 30). The terms give retention periods (JSON results up to 6 months, HTML up to 1 month, search history indefinitely) and say personal data sits on DigitalOcean in India, and they advise EEA users not to use the service. The privacy policy is generic and neither document carries a date (15 of 30). No deprecation policy, and the terms allow products to be discontinued without notice (0 of 20). DigitalOcean in India named for account data; no sub-processor list (6 of 20). 18 + 15 + 0 + 6 = 39."
        },
        "scores": {
          "a": 66,
          "b": 50
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "Patoliya Infotech LLP",
        "name": "Vendor"
      },
      {
        "a": "https://{account}.services.ai.azure.com/api/projects/{project}/openai/v1/responses",
        "b": "https://mcp.serphouse.com/YOUR_API_KEY/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "$14 per 1,000 requests",
        "b": "not published",
        "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": "23",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-02",
        "b": "2026-07-06",
        "name": "Last release"
      },
      {
        "a": "2025-11-01",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "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"
      }
    ],
    "faq": [
      {
        "answer": "Grounding with Bing Search scores 63.7 (B) on agent readiness against SERPHouse's 42.4 (E), and leads in 5 of 7 scored categories. SERPHouse leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Grounding with Bing Search or SERPHouse?"
      },
      {
        "answer": "Grounding with Bing Search uses an OAuth sign-in. SERPHouse needs an API key.",
        "question": "Do Grounding with Bing Search and SERPHouse 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 SERPHouse at https://mcp.serphouse.com/YOUR_API_KEY/mcp.",
        "question": "Can an agent call Grounding with Bing Search and SERPHouse without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 68 against 40",
          "Security \u0026 auth, 79 against 11",
          "Maintenance \u0026 community, 80 against 23",
          "Transparency \u0026 trust, 66 against 50"
        ],
        "also": null,
        "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": [
          "Payments \u0026 pricing, 40 against 20"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Low-cost Google, Bing and Yahoo result parsing for SEO and rank tracking, with many Google verticals.",
        "slug": "serphouse",
        "watchFor": "The hosted MCP server takes the API key only in its URL path, and the REST API also accepts `api_token` in the query string"
      }
    ],
    "history": null,
    "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-serphouse.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-serphouse"
      },
      {
        "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/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-serpapi.json",
        "title": "Grounding with Bing Search vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-serpapi"
      },
      {
        "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-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-serphouse.json",
        "title": "Brave Search API + MCP vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serphouse.json",
        "title": "Cloudflare Web Search API vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serphouse.json",
        "title": "DeepSeek Search and Fetch API vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-serphouse.json",
        "title": "Exa API + MCP vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-serphouse.json",
        "title": "Kagi Search API vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-serphouse.json",
        "title": "Linkup vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-serphouse.json",
        "title": "Mojeek Web Search API vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serphouse.json",
        "title": "Parallel Search and Task APIs vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serphouse.json",
        "title": "Perplexity Search API vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/searchapi-io-vs-serphouse.json",
        "title": "SearchAPI.io vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/searchapi-io-vs-serphouse"
      },
      {
        "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/serper-vs-serphouse.json",
        "title": "Serper vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/serper-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serphouse-vs-specstream.json",
        "title": "SERPHouse vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/serphouse-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serphouse-vs-tavily-mcp.json",
        "title": "SERPHouse vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/serphouse-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serphouse-vs-tinyfish-search.json",
        "title": "SERPHouse vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/serphouse-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serphouse-vs-valyu.json",
        "title": "SERPHouse vs Valyu",
        "url": "https://www.anchorterminal.com/compare/serphouse-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serphouse-vs-you-com-api.json",
        "title": "SERPHouse vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/serphouse-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-serphouse.json",
        "title": "Fetch (MCP reference server) vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-serphouse.json",
        "title": "NewsCatcher vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-serphouse"
      },
      {
        "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/serphouse-vs-serpkite.json",
        "title": "SERPHouse vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/serphouse-vs-serpkite"
      }
    ],
    "panel": null,
    "scores": [
      {
        "bing-grounding": 68,
        "by": 28,
        "edge": "bing-grounding",
        "key": "reliability",
        "name": "Reliability",
        "serphouse": 40,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bing-grounding": 68,
        "by": 2,
        "edge": "bing-grounding",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "serphouse": 66,
        "weight": 13
      },
      {
        "bing-grounding": 61,
        "by": 3,
        "edge": "serphouse",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "serphouse": 64,
        "weight": 13
      },
      {
        "bing-grounding": 79,
        "by": 68,
        "edge": "bing-grounding",
        "key": "security",
        "name": "Security \u0026 auth",
        "serphouse": 11,
        "weight": 14
      },
      {
        "bing-grounding": 20,
        "by": 20,
        "edge": "serphouse",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "serphouse": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bing-grounding": 80,
        "by": 57,
        "edge": "bing-grounding",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "serphouse": 23,
        "weight": 7
      },
      {
        "bing-grounding": 66,
        "by": 16,
        "edge": "bing-grounding",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "serphouse": 50,
        "weight": 7
      }
    ],
    "summary": "Grounding with Bing Search scores 63.7 (B) on agent readiness against SERPHouse's 42.4 (E), and leads in 5 of 7 scored categories. SERPHouse leads on payments \u0026 pricing. Both do web search.",
    "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.",
      "serphouse": "SERPHouse returns parsed Google, Bing and Yahoo results at published prices from $0.62 per 1,000 requests, with a 23-tool MCP server and a 4,000-credit trial without a card. The hosted MCP puts the key in its URL, there is no status page, changelog or security contact, and the terms keep search history indefinitely."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse",
    "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse.min.md"
  },
  "markdown": "Grounding with Bing Search scores 63.7 (B) on agent readiness against SERPHouse's 42.4 (E), and leads in 5 of 7 scored categories. SERPHouse leads on payments \u0026 pricing. Both do web search.\n\n- Grounding with Bing Search: grade B, 63.7/100, rank #502 of 1486. Markdown https://www.anchorterminal.com/tools/bing-grounding.md · JSON https://www.anchorterminal.com/api/v1/tools/bing-grounding.json\n- SERPHouse: grade E, 42.4/100, rank #1265 of 1486. Markdown https://www.anchorterminal.com/tools/serphouse.md · JSON https://www.anchorterminal.com/api/v1/tools/serphouse.json\n- Best web search APIs for AI agents: https://www.anchorterminal.com/best/search/index.md\n- All 308 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- Reliability, 68 against 40\n- Security \u0026 auth, 79 against 11\n- Maintenance \u0026 community, 80 against 23\n- Transparency \u0026 trust, 66 against 50\n\nWatch for: The Bing tools never return raw results to developers, only a model-written answer with citation links\n\n### SERPHouse (E)\n\nGood for: Low-cost Google, Bing and Yahoo result parsing for SEO and rank tracking, with many Google verticals.\n\nAhead on:\n- Payments \u0026 pricing, 40 against 20\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: The hosted MCP server takes the API key only in its URL path, and the REST API also accepts `api_token` in the query string\n\n\n## Why the edge\n\n### Security \u0026 auth: Grounding with Bing Search +68\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- SERPHouse (11): One key per account, one account per user, no scopes or rotation found (10). The REST API documents `api_token` in the query string and the hosted MCP server takes the key only in its URL path, less 10 (0 of 30). Searches only read, with no read-only or restricted key (8 of 20). Results are third-party snippets and AI Overview text, with no prompt-injection guidance (0). An account tool shows plan and credit usage; no per-call log was found (3 of 15). No security.txt (404), disclosure policy, bug bounty or certification found (0 of 20). 0 + 8 + 0 + 3 + 0 = 11.\n\n### Maintenance \u0026 community: Grounding with Bing Search +57\n\n- 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\u0026A 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.\n- SERPHouse (23): Read for a closed service, with its repositories read as code. No changelog or dated API change was found. The newest release is MCP server 1.1.0 on 6 July 2026, 123 days before 6 November, and the last commit in its repository was on 22 July (10). No release or dated change in the 90 days from 8 August; the about page's 2026 entry (Forums, Place Details and Scraper APIs) is undated (0). No changelog; support by email. Issues weren't read, since the GitHub API refused us for its rate limit (5 of 25). Not in the official MCP registry, though the repository's server.json names io.github.SERPHouse/serphouse-mcp. Node.js SDK last changed 24 June 2026, PHP SDK 10 May 2024, and no Python SDK repository was found under the SERPHouse organisation (5 of 15). The MCP repository has an npm publish workflow and no tests (3 of 10). 10 + 0 + 5 + 5 + 3 = 23.\n\n### Reliability: Grounding with Bing Search +28\n\n- 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.\n- SERPHouse (40): Read with the hosted lines. No status page is linked from the site or docs, and status.serphouse.com did not answer on 6 November 2026 (0). No readable incident history (5). Rate limits published, 60 requests a minute and 60 concurrent on every self-serve plan (15). 429 is documented as 'slow down', and a 200 can carry `\"status\": \"error\"` with 'Please try again', with no Retry-After or backoff guidance. Failed requests aren't charged (5 of 15). The pricing page lists a 99.99% uptime SLA on Basic and Regular and the docs a 99.95% one, but no SLA terms or credits were found in the terms (5 of 10). Generally available (10). 0 + 5 + 15 + 5 + 5 + 10 = 40.\n\n### Payments \u0026 pricing: SERPHouse +20\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- SERPHouse (40): No x402, MPP or L402 (0). Per-1,000 prices for SERP, autocomplete and top-100 requests published without login (20). Free trial of 4,000 credits for 7 days, 'No Credit Card Required' (20). A person signs up in a browser and confirms an email (0). 0 + 20 + 20 + 0 = 40.\n\n### Transparency \u0026 trust: Grounding with Bing Search +16\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- SERPHouse (50): Closed service under terms naming Patoliya Infotech LLP in India, and the MCP server is MIT (18 of 30). The terms give retention periods (JSON results up to 6 months, HTML up to 1 month, search history indefinitely) and say personal data sits on DigitalOcean in India, and they advise EEA users not to use the service. The privacy policy is generic and neither document carries a date (15 of 30). No deprecation policy, and the terms allow products to be discontinued without notice (0 of 20). DigitalOcean in India named for account data; no sub-processor list (6 of 20). 18 + 15 + 0 + 6 = 39.\n\n## Score by category\n\n| Category | Weight | Grounding with Bing Search | SERPHouse | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 40 | Grounding with Bing Search +28 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 66 | Grounding with Bing Search +2 |\n| Agent ergonomics | 13% (16.2 this run) | 61 | 64 | SERPHouse +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 79 | 11 | Grounding with Bing Search +68 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | SERPHouse +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 23 | Grounding with Bing Search +57 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 66 | 50 | Grounding with Bing Search +16 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.7 · B** | **42.4 · E** | |\n\n## Facts side by side\n\n| Fact | Grounding with Bing Search | SERPHouse |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft | Patoliya Infotech LLP |\n| Hosted endpoint | `https://{account}.services.ai.azure.com/api/projects/{project}/openai/v1/responses` | `https://mcp.serphouse.com/YOUR_API_KEY/mcp` |\n| Transports | Streamable HTTP | Streamable HTTP, stdio |\n| Auth | OAuth | API key |\n| Pricing | Pay per use | Paid |\n| Price for web search | $14 per 1,000 requests | not published |\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 | 23 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-11-02 | 2026-07-06 |\n| Terms last updated | 2025-11-01 | no date given |\n| Privacy policy last updated | 2026-09-01 | no date given |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | yes | yes |\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\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**SERPHouse.** SERPHouse returns parsed Google, Bing and Yahoo results at published prices from $0.62 per 1,000 requests, with a 23-tool MCP server and a 4,000-credit trial without a card. The hosted MCP puts the key in its URL, there is no status page, changelog or security contact, and the terms keep search history indefinitely.\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### SERPHouse\n\n1. Send the key as `Authorization: Bearer`, not as `api_token` in the URL\n2. Treat a 200 with `\"status\": \"error\"` and 'Please try again' as a failure and retry later\n3. Pass `loc` or `loc_id` for Google and Bing tools other than `serphouse_search`; find IDs with `serphouse_location_search`\n4. Use `serphouse_search` for plain lookups and `serphouse_serp_google_advanced` only when ranks beyond the top 10 are needed, at ten times the price\n5. Keep under 60 requests a minute on self-serve plans\n\n## Questions\n\n### Which is better for AI agents, Grounding with Bing Search or SERPHouse?\n\nGrounding with Bing Search scores 63.7 (B) on agent readiness against SERPHouse's 42.4 (E), and leads in 5 of 7 scored categories. SERPHouse leads on payments \u0026 pricing.\n\n### Do Grounding with Bing Search and SERPHouse need an API key?\n\nGrounding with Bing Search uses an OAuth sign-in. SERPHouse needs an API key.\n\n### Can an agent call Grounding with Bing Search and SERPHouse 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 SERPHouse at https://mcp.serphouse.com/YOUR_API_KEY/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bing-grounding\", \"b\": \"serphouse\"}`. From a terminal: `anchor compare bing-grounding serphouse`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bing-grounding.json and https://www.anchorterminal.com/api/v1/tools/serphouse.json\n\n## Other comparisons with Grounding with Bing Search or SERPHouse\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 SERPHouse](https://www.anchorterminal.com/compare/agentcore-web-search-vs-serphouse.md)\n- [Arcmira vs Grounding with Bing Search](https://www.anchorterminal.com/compare/arcmira-vs-bing-grounding.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 SerpApi](https://www.anchorterminal.com/compare/bing-grounding-vs-serpapi.md)\n- [Grounding with Bing Search vs Serper](https://www.anchorterminal.com/compare/bing-grounding-vs-serper.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 SERPHouse](https://www.anchorterminal.com/compare/brave-search-mcp-vs-serphouse.md)\n- [Cloudflare Web Search API vs SERPHouse](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serphouse.md)\n- [DeepSeek Search and Fetch API vs SERPHouse](https://www.anchorterminal.com/compare/deepseek-search-api-vs-serphouse.md)\n- [Exa API + MCP vs SERPHouse](https://www.anchorterminal.com/compare/exa-mcp-vs-serphouse.md)\n- [Kagi Search API vs SERPHouse](https://www.anchorterminal.com/compare/kagi-search-vs-serphouse.md)\n- [Linkup vs SERPHouse](https://www.anchorterminal.com/compare/linkup-vs-serphouse.md)\n- [Mojeek Web Search API vs SERPHouse](https://www.anchorterminal.com/compare/mojeek-vs-serphouse.md)\n- [Parallel Search and Task APIs vs SERPHouse](https://www.anchorterminal.com/compare/parallel-search-api-vs-serphouse.md)\n- [Perplexity Search API vs SERPHouse](https://www.anchorterminal.com/compare/perplexity-search-api-vs-serphouse.md)\n- [SearchAPI.io vs SERPHouse](https://www.anchorterminal.com/compare/searchapi-io-vs-serphouse.md)\n- [SerpApi vs SERPHouse](https://www.anchorterminal.com/compare/serpapi-vs-serphouse.md)\n- [Serper vs SERPHouse](https://www.anchorterminal.com/compare/serper-vs-serphouse.md)\n- [SERPHouse vs SpecStream](https://www.anchorterminal.com/compare/serphouse-vs-specstream.md)\n- [SERPHouse vs Tavily API + MCP](https://www.anchorterminal.com/compare/serphouse-vs-tavily-mcp.md)\n- [SERPHouse vs TinyFish Search](https://www.anchorterminal.com/compare/serphouse-vs-tinyfish-search.md)\n- [SERPHouse vs Valyu](https://www.anchorterminal.com/compare/serphouse-vs-valyu.md)\n- [SERPHouse vs You.com APIs](https://www.anchorterminal.com/compare/serphouse-vs-you-com-api.md)\n- [Fetch (MCP reference server) vs SERPHouse](https://www.anchorterminal.com/compare/fetch-reference-server-vs-serphouse.md)\n- [NewsCatcher vs SERPHouse](https://www.anchorterminal.com/compare/newscatcher-vs-serphouse.md)\n- [Grounding with Bing Search vs Grep AI](https://www.anchorterminal.com/compare/bing-grounding-vs-grep-ai.md)\n- [SERPHouse vs SerpKite](https://www.anchorterminal.com/compare/serphouse-vs-serpkite.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 SERPHouse",
        "url": ""
      }
    ],
    "description": "Grounding with Bing Search scores 63.7 (B) to SERPHouse's 42.4 (E) for web search. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Grounding with Bing Search B 63.7",
      "SERPHouse E 42.4",
      "scores"
    ],
    "h1": "Grounding with Bing Search vs SERPHouse",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bing-grounding-vs-serphouse",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Grounding with Bing Search vs SERPHouse for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse"
  },
  "tokens": {
    "markdown": 5300,
    "slim": 2780
  },
  "version": 1
}
