{
  "data": {
    "a": {
      "slug": "deepseek-search-api",
      "name": "DeepSeek Search and Fetch API",
      "vendor": "DeepSeek",
      "vendorUrl": "https://www.deepseek.com",
      "kind": "http-api",
      "category": "search",
      "summary": "DeepSeek's Search and Fetch API gives agents live web results from DeepSeek's in-house search engine and single pages as Markdown, through two REST endpoints on an ordinary DeepSeek API key, billed per successful request.",
      "url": "https://www.anchorterminal.com/tools/deepseek-search-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/deepseek-search-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/deepseek-search-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/deepseek-search-api.json",
      "dns": "deepseek-search-api.grade.anchorterminal.com",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.deepseek.com/v1/tools/search",
      "packages": [],
      "auth": "api-key",
      "authNotes": "The same DeepSeek API key as the model endpoints, sent as a bearer token. Keys carry no scopes, so a search key can also spend the balance on models. Rate limits are per account, whichever key is used.",
      "pricing": "usage",
      "pricingNotes": "$0.75 per 1,000 successful requests for Search and the same for Fetch, from a prepaid balance. Only an HTTP 200 with a result is billed, and `count` doesn't change the price. Server-side search through DeepSeek Harness, Claude Code or Codex was free until 31 October 2026 at 16:00 UTC (https://api-docs.deepseek.com/guides/search, checked 2026-10-17; DeepSeek's pages weren't re-read on 2026-11-04 because its Terms of Use bar automated copying).",
      "priceSummary": "$0.75 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Search and Fetch guide, the API reference or the pricing page (checked 2026-10-17).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://api-docs.deepseek.com/guides/search",
      "capabilities": [
        "web.search",
        "web.fetch"
      ],
      "tags": [
        "hosted",
        "prepaid",
        "usage-priced",
        "status-page"
      ],
      "lastRelease": "2026-10-17",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.5,
        "grade": "C",
        "agentReady": false,
        "rank": 861,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 21,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 81,
          "maintenance": 42,
          "payments": 20,
          "reliability": 72,
          "schema": 55,
          "security": 43,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "Search returns up to 50 results with a model-length summary, an authority tier and optional full text, and only successful non-empty calls are billed, at $0.75 per 1,000. It opened on 17 October 2026, with 5 requests a second per account, no OpenAPI file, no free tier, and data held in the PRC under a policy that permits training.",
        "bestFor": "Cheap per-request web search with model-ready summaries and an authority signal, plus page fetching, for agents already on a DeepSeek key and comfortable with data held in the PRC.",
        "strengths": [
          "$0.75 per 1,000 successful requests for each endpoint, and failed calls, empty results and timeouts aren't billed",
          "Each result has a 100 to 200 character snippet, a 600 to 800 character summary for models, and full text on request",
          "Site, language, date and phrase operators in the query string, and up to 50 results a call",
          "Error table with ten status codes and when to retry, and both endpoints documented as read-only"
        ],
        "weaknesses": [
          "Opened on 17 October 2026, with no service record of its own and no component for it on the status page",
          "5 requests a second per account for each endpoint, plus an unpublished per-domain limit on Fetch",
          "No OpenAPI file, no llms.txt, no official SDKs and no free tier for direct calls",
          "One unscoped key for search and models, no security.txt, and no prompt-injection guidance for returned page text",
          "Data stored in the PRC, used for training unless the customer opts out by email, and no retention period stated"
        ],
        "agentNotes": [
          "Keep `query` to 128 characters and put filters in it as operators, such as `site:github.com lang:en after:2026-01-01`",
          "Leave `need_content` false and read `summary` first, then call Fetch on the URLs you keep",
          "Stay under 5 requests a second per account across all keys. On 408, 429 or 5xx wait and retry, since no Retry-After is documented",
          "Don't retry a Fetch 403 or 404 unchanged. The page is blocked by policy, unreachable or has no Markdown",
          "Don't send private queries or an end user's IP in `localization`. Data is stored in the PRC"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.5
          }
        ],
        "editorialScores": {
          "ergonomics": 81,
          "maintenance": 42,
          "payments": 20,
          "reliability": 72,
          "schema": 55,
          "security": 43,
          "transparency": 35
        },
        "provenanceScore": 85,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.deepseek.com/v1/tools/search \\\n  -H \"Authorization: Bearer $DEEPSEEK_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"query\":\"DeepSeek V4 release\",\"count\":5,\"need_content\":true}'"
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/deepseek-search-api"
      },
      "sameCompany": [
        "deepseek-api",
        "deepseek-v4-1-flash",
        "deepseek-v3-2",
        "deepseek-v4-flash-0731"
      ],
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Search",
          "unit": "1k-requests",
          "usd": 0.75,
          "note": "Successful non-empty results only. 1 to 50 results at the same price"
        },
        {
          "item": "Fetch",
          "unit": "1k-pages",
          "usd": 0.75,
          "note": "One URL per request, billed only when page content comes back"
        }
      ],
      "provenance": {
        "legalEntity": "Hangzhou DeepSeek Artificial Intelligence Co., Ltd.",
        "domain": "deepseek.com",
        "domainRegistered": "2000-08-13",
        "endpointOnVendorDomain": true,
        "terms": "https://cdn.deepseek.com/policies/en-US/deepseek-open-platform-terms-of-service.html",
        "privacy": "https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html",
        "statusPage": "https://status.deepseek.com",
        "changelog": "https://api-docs.deepseek.com/updates",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "deepseek.com was registered in 2000, long before the company, so domain age flatters it (per the deepseek-api listing).",
          "The Open Platform terms (released 22 April, effective 29 April 2026) are a Specific Agreement under the DeepSeek Terms of Use (last update 27 March 2026), both re-read on 4 November 2026. They are governed by PRC law and assign Outputs to the customer. The Terms of Use §3.5(3) bar \"capturing, copying any content of the Services, including but not limited to using any robots, spiders, or other automatic setups, setting mirrors\". The privacy policy (10 February 2026) names Hangzhou DeepSeek Artificial Intelligence Co., Ltd.",
          "www.deepseek.com/.well-known/security.txt and deepseek.com/.well-known/security.txt returned 404 on 17 October 2026 (not re-read).",
          "cdn.deepseek.com answers robots.txt with a plain 404 (4 November 2026). Because of the Terms of Use clause, nothing else on DeepSeek's hosts (api-docs, status, www, platform) was requested on 4 November.",
          "The status page has a Search Service component, grouped under Chat Service, and no component named for the Search or Fetch API (17 October 2026)."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/deepseek-search-api.json",
      "live": {
        "slug": "deepseek-search-api",
        "probe": {
          "target": "https://api.deepseek.com/v1/tools/search",
          "method": "get",
          "lastAt": "2026-11-07T18:20:20.726689445Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 333,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 288,
          "p95ms24h": 372,
          "samples24h": 239,
          "samples30d": 5145,
          "days": [
            {
              "date": "2026-10-17",
              "probes": 21,
              "ok": 21
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.deepseek.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:37.96985213Z"
        },
        "securityTxt": {
          "url": "https://deepseek.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:54.973930725Z"
        },
        "domain": {
          "domain": "deepseek.com",
          "registered": "2000-08-13",
          "source": "https://rdap.verisign.com/com/v1/domain/deepseek.com",
          "checkedAt": "2026-11-01T14:07:48.239871757Z"
        },
        "updatedAt": "2026-11-07T18:20:20.726689445Z"
      }
    },
    "answer": "DeepSeek Search and Fetch API scores 55.5 (C) on agent readiness against SERPHouse's 42.4 (E), and leads in 5 of 7 scored categories. SERPHouse leads on schema \u0026 documentation and 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": 32,
        "category": "reliability",
        "leads": "deepseek-search-api",
        "name": "Reliability",
        "reasons": {
          "a": "Hosted reading. DeepSeek's Terms of Use bar capturing or copying content of the Services with robots, spiders or other automatic setups, so no DeepSeek page beyond the terms was requested on 4 November and every line is per the 17 October check, not re-read on 4 November. status.deepseek.com, run on Flashduty, has component history, but the endpoints have no component of their own; the nearest is Search Service, grouped under Chat Service. This run gives 15 for a vendor status page with no component for the product (was 10). The recorded history holds Search service errors of 6 minutes on 14 August and 39 on 18 August inside the 90 days from 6 August (the 29 July one has left the window), minor only; the window after 17 October is unread, so the line keeps its recorded 20. Per-account limits of 5 requests a second for each endpoint (15). The guide says to wait and retry on 408, 429 and 5xx, with no Retry-After or backoff schedule, and documents both endpoints as read-only and safe to retry, which this run reads as safe-retry guidance without idempotency keys, 12 (was 10). No SLA found (0). Opened to everyone with no beta label (10). 15 + 20 + 15 + 12 + 0 + 10 = 72.",
          "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": 72,
          "b": 40
        }
      },
      {
        "by": 32,
        "category": "security",
        "leads": "deepseek-search-api",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Per the 17 October check, not re-read on 4 November (terms pause). The ordinary DeepSeek bearer key, revocable, with no scopes, so a key used for search can also spend on models. No secret in a URL (20 of 30). Both endpoints only read, so there's nothing destructive to approve, but no search-only key (15 of 20). Results and fetched pages are untrusted web text. The change log says the engine filters 'SEO spam, GEO manipulation, and low-quality AIGC', with no technical detail and no prompt-injection guidance (3 of 15). No per-call log or audit log found in the docs. The platform console wasn't readable (0 of 15). Security programme 5 of 20 (was 0). The www.deepseek.com footer carries a Report Security Issue address, security@deepseek.com, per the 21 October reading used for DeepSeek's open-weight listings; no security.txt (404 on 17 October), disclosure policy, bug bounty or certification found. 20 + 15 + 3 + 0 + 5 = 43.",
          "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": 43,
          "b": 11
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "serphouse",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Per the 17 October check, not re-read on 4 November (terms pause). No machine payment protocol in the guide, the API reference or the pricing page (0). $0.75 per 1,000 successful requests for each endpoint, published without a login on the guide and the pricing page (20). No free tier for direct calls. The stated free period for server-side calls made through DeepSeek Harness, Claude Code or Codex ended at 16:00 UTC on 31 October 2026, and it never covered direct calls (0). Browser sign-up and a prepaid top-up (0). 0 + 20 + 0 + 0 = 20.",
          "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": 19,
        "category": "maintenance",
        "leads": "deepseek-search-api",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Closed service, per the 17 October check, not re-read on 4 November (terms pause). Opened on 17 October 2026, 18 days before this check (30). The change log's 17 October entry is the only dated one about Search or Fetch in the 90 days from 6 August (0 of 20). Dated change log, api-service@deepseek.com and a Discord server, not tested for replies (12 of 15). No official SDK (0 of 15). No SDK or package to assess (0 of 10). 30 + 0 + 12 + 0 + 0 = 42.",
          "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": 42,
          "b": 23
        }
      },
      {
        "by": 17,
        "category": "ergonomics",
        "leads": "deepseek-search-api",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Per the 17 October check, not re-read on 4 November (terms pause). Responses can be sized with `count` and `need_content`, off by default, and each result carries both a short snippet and a 600 to 800 character summary. No field selection, and full content has no length cap stated (20 of 25). Site, language, date and phrase filters, up to 50 results, no pagination (15 of 20). Ten documented codes with what to do, 402 for an empty balance and 404 for an unfetchable page. `param` is always null and `code` repeats the type (17 of 20). Both endpoints are documented as read-only and safe to retry, and failed or empty calls aren't billed (20). Only `query` or `url` is required. No official SDKs, the docs use raw HTTP and Python requests (9 of 15). 20 + 15 + 17 + 20 + 9 = 81.",
          "b": "23 MCP tools with no toolsets or filtering (15 of 25). `num_result`, `max_pages`, paging, device, location, language, date and video filters (16 of 20). Status codes are tabulated, but a 200 can also mean an error and the body carries only 'Please try again' (10 of 20). Searches only read and failed requests aren't charged, but the MCP tools carry no readOnlyHint or other annotations (10 of 20). `serphouse_search` needs only `q` and defaults to the US; most other tools need `loc` or `loc_id`. Official Node.js, PHP and Python SDKs are documented (13 of 15). 15 + 16 + 10 + 10 + 13 = 64."
        },
        "scores": {
          "a": 81,
          "b": 64
        }
      },
      {
        "by": 11,
        "category": "schema",
        "leads": "serphouse",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Per the 17 October check, not re-read on 4 November (terms pause). No OpenAPI file found. The API reference is rendered from a schema, but no spec is linked, and /openapi.json and /openapi.yaml on the docs host serve the docs page (0). No llms.txt, since api-docs.deepseek.com answered /llms.txt with HTML (0). The guide says what each endpoint is for and which result field suits a UI or a model, and gives the score thresholds for quality and authority, but not when to use Search content against a Fetch (14 of 20). Types, required fields, defaults and limits on every field, such as `query` 1 to 128 characters and `count` 1 to 50. Filters live inside the free-text query (13 of 15). curl and Python examples, an error body and a table of ten status codes with retry guidance. The reference shows only the 200 response (13 of 15). Dated change log and a /v1 path (15). 0 + 0 + 14 + 13 + 13 + 15 = 55.",
          "b": "No OpenAPI or similar contract for the REST API. The MCP server's tools carry typed Zod schemas, published in the source and a static server card (18 of 25). llms.txt at the site and the docs, and every docs page as Markdown (10). MCP tool descriptions say which tool to use for what, such as `serphouse_google_web` when device or `num_result` is needed, while the docs pages lead with marketing lines such as 'Unlock captivating Google video content' (12 of 20). Enums for device, SERP type, engine and video duration, defaults and 37 described parameters (11 of 15). A status code table and request examples per engine, with a generic error body (12 of 15). No changelog or API versioning; only the MCP server has tags (3 of 15). 18 + 10 + 12 + 11 + 12 + 3 = 66."
        },
        "scores": {
          "a": 55,
          "b": 66
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "DeepSeek",
        "b": "Patoliya Infotech LLP",
        "name": "Vendor"
      },
      {
        "a": "https://api.deepseek.com/v1/tools/search",
        "b": "https://mcp.serphouse.com/YOUR_API_KEY/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "$0.75 per 1,000 requests",
        "b": "not published",
        "name": "Price for web search"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "23",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-17",
        "b": "2026-07-06",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "DeepSeek Search and Fetch API scores 55.5 (C) on agent readiness against SERPHouse's 42.4 (E), and leads in 5 of 7 scored categories. SERPHouse leads on schema \u0026 documentation and payments \u0026 pricing.",
        "question": "Which is better for AI agents, DeepSeek Search and Fetch API or SERPHouse?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do DeepSeek Search and Fetch API and SERPHouse need an API key?"
      },
      {
        "answer": "Yes. DeepSeek Search and Fetch API has a hosted endpoint at https://api.deepseek.com/v1/tools/search and SERPHouse at https://mcp.serphouse.com/YOUR_API_KEY/mcp.",
        "question": "Can an agent call DeepSeek Search and Fetch API and SERPHouse without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 72 against 40",
          "Agent ergonomics, 81 against 64",
          "Security \u0026 auth, 43 against 11",
          "Maintenance \u0026 community, 42 against 23",
          "Transparency \u0026 trust, 60 against 50"
        ],
        "also": null,
        "goodFor": "Cheap per-request web search with model-ready summaries and an authority signal, plus page fetching, for agents already on a DeepSeek key and comfortable with data held in the PRC.",
        "slug": "deepseek-search-api",
        "watchFor": "Opened on 17 October 2026, with no service record of its own and no component for it on the status page"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 66 against 55",
          "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": {
      "deepseek-search-api": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-04",
          "delta": 2.3,
          "from": 53.2,
          "fromGrade": "D",
          "to": 55.5,
          "toGrade": "C"
        }
      ],
      "serphouse": null
    },
    "job": {
      "capability": "web.search",
      "name": "Web search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-deepseek-search-api.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs DeepSeek Search and Fetch API",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-deepseek-search-api"
      },
      {
        "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-deepseek-search-api.json",
        "title": "Arcmira vs DeepSeek Search and Fetch API",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-deepseek-search-api"
      },
      {
        "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-serphouse.json",
        "title": "Grounding with Bing Search vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-deepseek-search-api.json",
        "title": "Brave Search API + MCP vs DeepSeek Search and Fetch API",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-deepseek-search-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-deepseek-search-api.json",
        "title": "Cloudflare Web Search API vs DeepSeek Search and Fetch API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-deepseek-search-api"
      },
      {
        "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-exa-mcp.json",
        "title": "DeepSeek Search and Fetch API vs Exa API + MCP",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-exa-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-firecrawl-mcp.json",
        "title": "DeepSeek Search and Fetch API vs Firecrawl MCP",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-firecrawl-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-grep-ai.json",
        "title": "DeepSeek Search and Fetch API vs Grep AI",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-grep-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-kagi-search.json",
        "title": "DeepSeek Search and Fetch API vs Kagi Search API",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-kagi-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-linkup.json",
        "title": "DeepSeek Search and Fetch API vs Linkup",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-linkup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-mojeek.json",
        "title": "DeepSeek Search and Fetch API vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-newscatcher.json",
        "title": "DeepSeek Search and Fetch API vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-parallel-search-api.json",
        "title": "DeepSeek Search and Fetch API vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-perplexity-search-api.json",
        "title": "DeepSeek Search and Fetch API vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-searchapi-io.json",
        "title": "DeepSeek Search and Fetch API vs SearchAPI.io",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-searchapi-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serpapi.json",
        "title": "DeepSeek Search and Fetch API vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serper.json",
        "title": "DeepSeek Search and Fetch API vs Serper",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serpkite.json",
        "title": "DeepSeek Search and Fetch API vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-specstream.json",
        "title": "DeepSeek Search and Fetch API vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-tavily-mcp.json",
        "title": "DeepSeek Search and Fetch API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-tinyfish-search.json",
        "title": "DeepSeek Search and Fetch API vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-valyu.json",
        "title": "DeepSeek Search and Fetch API vs Valyu",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-you-com-api.json",
        "title": "DeepSeek Search and Fetch API vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-you-com-api"
      },
      {
        "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/deepseek-search-api-vs-fetch-reference-server.json",
        "title": "DeepSeek Search and Fetch API vs Fetch (MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-fetch-reference-server"
      },
      {
        "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/serphouse-vs-serpkite.json",
        "title": "SERPHouse vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/serphouse-vs-serpkite"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 32,
        "deepseek-search-api": 72,
        "edge": "deepseek-search-api",
        "key": "reliability",
        "name": "Reliability",
        "serphouse": 40,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "deepseek-search-api": 55,
        "edge": "serphouse",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "serphouse": 66,
        "weight": 13
      },
      {
        "by": 17,
        "deepseek-search-api": 81,
        "edge": "deepseek-search-api",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "serphouse": 64,
        "weight": 13
      },
      {
        "by": 32,
        "deepseek-search-api": 43,
        "edge": "deepseek-search-api",
        "key": "security",
        "name": "Security \u0026 auth",
        "serphouse": 11,
        "weight": 14
      },
      {
        "by": 20,
        "deepseek-search-api": 20,
        "edge": "serphouse",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "serphouse": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "deepseek-search-api": 42,
        "edge": "deepseek-search-api",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "serphouse": 23,
        "weight": 7
      },
      {
        "by": 10,
        "deepseek-search-api": 60,
        "edge": "deepseek-search-api",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "serphouse": 50,
        "weight": 7
      }
    ],
    "summary": "DeepSeek Search and Fetch API scores 55.5 (C) on agent readiness against SERPHouse's 42.4 (E), and leads in 5 of 7 scored categories. SERPHouse leads on schema \u0026 documentation and payments \u0026 pricing. Both do web search.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "deepseek-search-api": "Search returns up to 50 results with a model-length summary, an authority tier and optional full text, and only successful non-empty calls are billed, at $0.75 per 1,000. It opened on 17 October 2026, with 5 requests a second per account, no OpenAPI file, no free tier, and data held in the PRC under a policy that permits training.",
      "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/deepseek-search-api-vs-serphouse",
    "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serphouse.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serphouse.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serphouse.min.md"
  },
  "markdown": "DeepSeek Search and Fetch API scores 55.5 (C) on agent readiness against SERPHouse's 42.4 (E), and leads in 5 of 7 scored categories. SERPHouse leads on schema \u0026 documentation and payments \u0026 pricing. Both do web search.\n\n- DeepSeek Search and Fetch API: grade C, 55.5/100, rank #861 of 1486. Markdown https://www.anchorterminal.com/tools/deepseek-search-api.md · JSON https://www.anchorterminal.com/api/v1/tools/deepseek-search-api.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### DeepSeek Search and Fetch API (C)\n\nGood for: Cheap per-request web search with model-ready summaries and an authority signal, plus page fetching, for agents already on a DeepSeek key and comfortable with data held in the PRC.\n\nAhead on:\n- Reliability, 72 against 40\n- Agent ergonomics, 81 against 64\n- Security \u0026 auth, 43 against 11\n- Maintenance \u0026 community, 42 against 23\n- Transparency \u0026 trust, 60 against 50\n\nWatch for: Opened on 17 October 2026, with no service record of its own and no component for it on the status page\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- Schema \u0026 documentation, 66 against 55\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### Reliability: DeepSeek Search and Fetch API +32\n\n- DeepSeek Search and Fetch API (72): Hosted reading. DeepSeek's Terms of Use bar capturing or copying content of the Services with robots, spiders or other automatic setups, so no DeepSeek page beyond the terms was requested on 4 November and every line is per the 17 October check, not re-read on 4 November. status.deepseek.com, run on Flashduty, has component history, but the endpoints have no component of their own; the nearest is Search Service, grouped under Chat Service. This run gives 15 for a vendor status page with no component for the product (was 10). The recorded history holds Search service errors of 6 minutes on 14 August and 39 on 18 August inside the 90 days from 6 August (the 29 July one has left the window), minor only; the window after 17 October is unread, so the line keeps its recorded 20. Per-account limits of 5 requests a second for each endpoint (15). The guide says to wait and retry on 408, 429 and 5xx, with no Retry-After or backoff schedule, and documents both endpoints as read-only and safe to retry, which this run reads as safe-retry guidance without idempotency keys, 12 (was 10). No SLA found (0). Opened to everyone with no beta label (10). 15 + 20 + 15 + 12 + 0 + 10 = 72.\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### Security \u0026 auth: DeepSeek Search and Fetch API +32\n\n- DeepSeek Search and Fetch API (43): Per the 17 October check, not re-read on 4 November (terms pause). The ordinary DeepSeek bearer key, revocable, with no scopes, so a key used for search can also spend on models. No secret in a URL (20 of 30). Both endpoints only read, so there's nothing destructive to approve, but no search-only key (15 of 20). Results and fetched pages are untrusted web text. The change log says the engine filters 'SEO spam, GEO manipulation, and low-quality AIGC', with no technical detail and no prompt-injection guidance (3 of 15). No per-call log or audit log found in the docs. The platform console wasn't readable (0 of 15). Security programme 5 of 20 (was 0). The www.deepseek.com footer carries a Report Security Issue address, security@deepseek.com, per the 21 October reading used for DeepSeek's open-weight listings; no security.txt (404 on 17 October), disclosure policy, bug bounty or certification found. 20 + 15 + 3 + 0 + 5 = 43.\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### Payments \u0026 pricing: SERPHouse +20\n\n- DeepSeek Search and Fetch API (20): Per the 17 October check, not re-read on 4 November (terms pause). No machine payment protocol in the guide, the API reference or the pricing page (0). $0.75 per 1,000 successful requests for each endpoint, published without a login on the guide and the pricing page (20). No free tier for direct calls. The stated free period for server-side calls made through DeepSeek Harness, Claude Code or Codex ended at 16:00 UTC on 31 October 2026, and it never covered direct calls (0). Browser sign-up and a prepaid top-up (0). 0 + 20 + 0 + 0 = 20.\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### Maintenance \u0026 community: DeepSeek Search and Fetch API +19\n\n- DeepSeek Search and Fetch API (42): Closed service, per the 17 October check, not re-read on 4 November (terms pause). Opened on 17 October 2026, 18 days before this check (30). The change log's 17 October entry is the only dated one about Search or Fetch in the 90 days from 6 August (0 of 20). Dated change log, api-service@deepseek.com and a Discord server, not tested for replies (12 of 15). No official SDK (0 of 15). No SDK or package to assess (0 of 10). 30 + 0 + 12 + 0 + 0 = 42.\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### Agent ergonomics: DeepSeek Search and Fetch API +17\n\n- DeepSeek Search and Fetch API (81): Per the 17 October check, not re-read on 4 November (terms pause). Responses can be sized with `count` and `need_content`, off by default, and each result carries both a short snippet and a 600 to 800 character summary. No field selection, and full content has no length cap stated (20 of 25). Site, language, date and phrase filters, up to 50 results, no pagination (15 of 20). Ten documented codes with what to do, 402 for an empty balance and 404 for an unfetchable page. `param` is always null and `code` repeats the type (17 of 20). Both endpoints are documented as read-only and safe to retry, and failed or empty calls aren't billed (20). Only `query` or `url` is required. No official SDKs, the docs use raw HTTP and Python requests (9 of 15). 20 + 15 + 17 + 20 + 9 = 81.\n- SERPHouse (64): 23 MCP tools with no toolsets or filtering (15 of 25). `num_result`, `max_pages`, paging, device, location, language, date and video filters (16 of 20). Status codes are tabulated, but a 200 can also mean an error and the body carries only 'Please try again' (10 of 20). Searches only read and failed requests aren't charged, but the MCP tools carry no readOnlyHint or other annotations (10 of 20). `serphouse_search` needs only `q` and defaults to the US; most other tools need `loc` or `loc_id`. Official Node.js, PHP and Python SDKs are documented (13 of 15). 15 + 16 + 10 + 10 + 13 = 64.\n\n### Schema \u0026 documentation: SERPHouse +11\n\n- DeepSeek Search and Fetch API (55): Per the 17 October check, not re-read on 4 November (terms pause). No OpenAPI file found. The API reference is rendered from a schema, but no spec is linked, and /openapi.json and /openapi.yaml on the docs host serve the docs page (0). No llms.txt, since api-docs.deepseek.com answered /llms.txt with HTML (0). The guide says what each endpoint is for and which result field suits a UI or a model, and gives the score thresholds for quality and authority, but not when to use Search content against a Fetch (14 of 20). Types, required fields, defaults and limits on every field, such as `query` 1 to 128 characters and `count` 1 to 50. Filters live inside the free-text query (13 of 15). curl and Python examples, an error body and a table of ten status codes with retry guidance. The reference shows only the 200 response (13 of 15). Dated change log and a /v1 path (15). 0 + 0 + 14 + 13 + 13 + 15 = 55.\n- SERPHouse (66): No OpenAPI or similar contract for the REST API. The MCP server's tools carry typed Zod schemas, published in the source and a static server card (18 of 25). llms.txt at the site and the docs, and every docs page as Markdown (10). MCP tool descriptions say which tool to use for what, such as `serphouse_google_web` when device or `num_result` is needed, while the docs pages lead with marketing lines such as 'Unlock captivating Google video content' (12 of 20). Enums for device, SERP type, engine and video duration, defaults and 37 described parameters (11 of 15). A status code table and request examples per engine, with a generic error body (12 of 15). No changelog or API versioning; only the MCP server has tags (3 of 15). 18 + 10 + 12 + 11 + 12 + 3 = 66.\n\n## Score by category\n\n| Category | Weight | DeepSeek Search and Fetch API | SERPHouse | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 72 | 40 | DeepSeek Search and Fetch API +32 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 55 | 66 | SERPHouse +11 |\n| Agent ergonomics | 13% (16.2 this run) | 81 | 64 | DeepSeek Search and Fetch API +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 43 | 11 | DeepSeek Search and Fetch API +32 |\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) | 42 | 23 | DeepSeek Search and Fetch API +19 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 50 | DeepSeek Search and Fetch API +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **55.5 · C** | **42.4 · E** | |\n\n## Facts side by side\n\n| Fact | DeepSeek Search and Fetch API | SERPHouse |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | DeepSeek | Patoliya Infotech LLP |\n| Hosted endpoint | `https://api.deepseek.com/v1/tools/search` | `https://mcp.serphouse.com/YOUR_API_KEY/mcp` |\n| Transports | HTTP | Streamable HTTP, stdio |\n| Auth | API key | API key |\n| Pricing | Pay per use | Paid |\n| Price for web search | $0.75 per 1,000 requests | not published |\n| x402 | no | no |\n| Tools exposed | none | 23 |\n| Read-only variant documented | yes | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-17 | 2026-07-06 |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | couldn't be read | no date given |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | yes |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Agent reviews | 3/5 (4) | none |\n\n## How the scores have moved\n\n### DeepSeek Search and Fetch API\n\n- +2.3 on 4 November 2026 (D to C): correction\n\n### SERPHouse\n\nNo score change since it was listed.\n\n## Verdicts\n\n**DeepSeek Search and Fetch API.** Search returns up to 50 results with a model-length summary, an authority tier and optional full text, and only successful non-empty calls are billed, at $0.75 per 1,000. It opened on 17 October 2026, with 5 requests a second per account, no OpenAPI file, no free tier, and data held in the PRC under a policy that permits training.\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### DeepSeek Search and Fetch API\n\n1. Keep `query` to 128 characters and put filters in it as operators, such as `site:github.com lang:en after:2026-01-01`\n2. Leave `need_content` false and read `summary` first, then call Fetch on the URLs you keep\n3. Stay under 5 requests a second per account across all keys. On 408, 429 or 5xx wait and retry, since no Retry-After is documented\n4. Don't retry a Fetch 403 or 404 unchanged. The page is blocked by policy, unreachable or has no Markdown\n5. Don't send private queries or an end user's IP in `localization`. Data is stored in the PRC\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, DeepSeek Search and Fetch API or SERPHouse?\n\nDeepSeek Search and Fetch API scores 55.5 (C) on agent readiness against SERPHouse's 42.4 (E), and leads in 5 of 7 scored categories. SERPHouse leads on schema \u0026 documentation and payments \u0026 pricing.\n\n### Do DeepSeek Search and Fetch API and SERPHouse need an API key?\n\nBoth need an API key.\n\n### Can an agent call DeepSeek Search and Fetch API and SERPHouse without installing anything?\n\nYes. DeepSeek Search and Fetch API has a hosted endpoint at https://api.deepseek.com/v1/tools/search 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/deepseek-search-api-vs-serphouse.json, and with the fewest tokens: https://www.anchorterminal.com/compare/deepseek-search-api-vs-serphouse.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"deepseek-search-api\", \"b\": \"serphouse\"}`. From a terminal: `anchor compare deepseek-search-api serphouse`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/deepseek-search-api.json and https://www.anchorterminal.com/api/v1/tools/serphouse.json\n\n## Other comparisons with DeepSeek Search and Fetch API or SERPHouse\n\n- [Web Search Tool on Amazon Bedrock AgentCore vs DeepSeek Search and Fetch API](https://www.anchorterminal.com/compare/agentcore-web-search-vs-deepseek-search-api.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 DeepSeek Search and Fetch API](https://www.anchorterminal.com/compare/arcmira-vs-deepseek-search-api.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 SERPHouse](https://www.anchorterminal.com/compare/bing-grounding-vs-serphouse.md)\n- [Brave Search API + MCP vs DeepSeek Search and Fetch API](https://www.anchorterminal.com/compare/brave-search-mcp-vs-deepseek-search-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 DeepSeek Search and Fetch API](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-deepseek-search-api.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 Exa API + MCP](https://www.anchorterminal.com/compare/deepseek-search-api-vs-exa-mcp.md)\n- [DeepSeek Search and Fetch API vs Firecrawl MCP](https://www.anchorterminal.com/compare/deepseek-search-api-vs-firecrawl-mcp.md)\n- [DeepSeek Search and Fetch API vs Grep AI](https://www.anchorterminal.com/compare/deepseek-search-api-vs-grep-ai.md)\n- [DeepSeek Search and Fetch API vs Kagi Search API](https://www.anchorterminal.com/compare/deepseek-search-api-vs-kagi-search.md)\n- [DeepSeek Search and Fetch API vs Linkup](https://www.anchorterminal.com/compare/deepseek-search-api-vs-linkup.md)\n- [DeepSeek Search and Fetch API vs Mojeek Web Search API](https://www.anchorterminal.com/compare/deepseek-search-api-vs-mojeek.md)\n- [DeepSeek Search and Fetch API vs NewsCatcher](https://www.anchorterminal.com/compare/deepseek-search-api-vs-newscatcher.md)\n- [DeepSeek Search and Fetch API vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/deepseek-search-api-vs-parallel-search-api.md)\n- [DeepSeek Search and Fetch API vs Perplexity Search API](https://www.anchorterminal.com/compare/deepseek-search-api-vs-perplexity-search-api.md)\n- [DeepSeek Search and Fetch API vs SearchAPI.io](https://www.anchorterminal.com/compare/deepseek-search-api-vs-searchapi-io.md)\n- [DeepSeek Search and Fetch API vs SerpApi](https://www.anchorterminal.com/compare/deepseek-search-api-vs-serpapi.md)\n- [DeepSeek Search and Fetch API vs Serper](https://www.anchorterminal.com/compare/deepseek-search-api-vs-serper.md)\n- [DeepSeek Search and Fetch API vs SerpKite](https://www.anchorterminal.com/compare/deepseek-search-api-vs-serpkite.md)\n- [DeepSeek Search and Fetch API vs SpecStream](https://www.anchorterminal.com/compare/deepseek-search-api-vs-specstream.md)\n- [DeepSeek Search and Fetch API vs Tavily API + MCP](https://www.anchorterminal.com/compare/deepseek-search-api-vs-tavily-mcp.md)\n- [DeepSeek Search and Fetch API vs TinyFish Search](https://www.anchorterminal.com/compare/deepseek-search-api-vs-tinyfish-search.md)\n- [DeepSeek Search and Fetch API vs Valyu](https://www.anchorterminal.com/compare/deepseek-search-api-vs-valyu.md)\n- [DeepSeek Search and Fetch API vs You.com APIs](https://www.anchorterminal.com/compare/deepseek-search-api-vs-you-com-api.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- [DeepSeek Search and Fetch API vs Fetch (MCP reference server)](https://www.anchorterminal.com/compare/deepseek-search-api-vs-fetch-reference-server.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- [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": "DeepSeek Search and Fetch API vs SERPHouse",
        "url": ""
      }
    ],
    "description": "DeepSeek Search and Fetch scores 55.5 (C) to SERPHouse's 42.4 (E) for web search. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "DeepSeek Search and Fetch API C 55.5",
      "SERPHouse E 42.4",
      "scores"
    ],
    "h1": "DeepSeek Search and Fetch API vs SERPHouse",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/deepseek-search-api-vs-serphouse",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DeepSeek Search and Fetch vs SERPHouse for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-serphouse"
  },
  "tokens": {
    "markdown": 5600,
    "slim": 3030
  },
  "version": 1
}
