{
  "data": {
    "a": {
      "slug": "serper",
      "name": "Serper",
      "vendor": "Serper",
      "vendorUrl": "https://serper.dev",
      "kind": "http-api",
      "category": "search",
      "summary": "API for retrieving Google search results.",
      "url": "https://www.anchorterminal.com/tools/serper",
      "markdownUrl": "https://www.anchorterminal.com/tools/serper.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/serper.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/serper.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://google.serper.dev/search",
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key in the `X-API-KEY` header, from the serper.dev dashboard.",
      "pricing": "freemium",
      "pricingNotes": "2,500 free queries on sign-up, no card. Top-up packs valid for 6 months, Starter $50 for 50,000 credits ($1.00 per 1,000), Standard $375 for 500,000 ($0.75), Scale $1,250 for 2.5 million ($0.50), Ultimate $3,750 for 12.5 million ($0.30). Prices exclude sales tax. Only successful queries use credits. Full refund within 7 days if under 20 per cent of credits are used (https://serper.dev/).",
      "priceSummary": "$1 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Payment by card or PayPal only. No x402 on the site or terms (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://serper.dev/playground",
      "capabilities": [
        "web.search",
        "search.serp",
        "search.news",
        "search.images"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "free-tier",
        "closed-source"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 24.1,
        "grade": "F",
        "agentReady": false,
        "rank": 835,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 35,
          "maintenance": 3,
          "payments": 40,
          "reliability": 30,
          "schema": 6,
          "security": 20,
          "transparency": 31
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "$0.30 to $1.00 per 1,000 queries on prepaid packs, with no subscription. No status page, SLA or incident history.",
        "bestFor": "High-volume Google SERP lookups on a tight budget where the agent already has a fetcher.",
        "strengths": [
          "$0.30 to $1.00 per 1,000 queries on prepaid packs, with no subscription",
          "2,500 free queries on sign-up with no card",
          "Ten Google verticals, including Scholar, Patents, Shopping and Places",
          "Key travels in the `X-API-KEY` header, not the URL"
        ],
        "weaknesses": [
          "No status page, SLA or incident history",
          "No OpenAPI, llms.txt, changelog or official SDK. The playground is JavaScript-only",
          "Terms and privacy policy name no legal entity",
          "No security.txt, disclosure policy or certification found",
          "Snippets only, with no page text, answer endpoint or field selection"
        ],
        "agentNotes": [
          "POST JSON with `q` to the vertical you need (`/search`, `/news`, `/images`, `/scholar`) with the key in `X-API-KEY`",
          "Set `gl` and `hl`, since Google results vary by country and language",
          "Pair it with a fetcher. Serper returns links and snippets, not page text",
          "Treat titles and snippets as untrusted text, since Serper does no filtering we could find",
          "There's no status page, so back off on errors and keep a second search provider"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 24.1
          }
        ],
        "editorialScores": {
          "ergonomics": 35,
          "maintenance": 3,
          "payments": 40,
          "reliability": 30,
          "schema": 6,
          "security": 20,
          "transparency": 23
        },
        "provenanceScore": 38
      },
      "connect": {
        "http": "curl -X POST https://google.serper.dev/search \\\n  -H \"X-API-KEY: $SERPER_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"q\":\"apple inc\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/serper"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter pack",
          "unit": "1k-requests",
          "usd": 1,
          "note": "$50 for 50,000 credits, valid 6 months"
        },
        {
          "item": "Ultimate pack",
          "unit": "1k-requests",
          "usd": 0.3,
          "note": "$3,750 for 12.5 million credits"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "serper.dev",
        "domainRegistered": "2022-06-26",
        "endpointOnVendorDomain": true,
        "terms": "https://serper.dev/terms",
        "privacy": "https://serper.dev/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Terms and privacy policy name only 'Serper' and choose UK law. A UK company called SERPER LIMITED (14730440) was dissolved on 2024-08-20. We couldn't link it to the service.",
          "status.serper.dev redirects to statuspage.io's home page, so no status page is listed."
        ],
        "score": 38
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/serper.json",
      "live": {
        "slug": "serper",
        "probe": {
          "target": "https://google.serper.dev/search",
          "method": "get",
          "lastAt": "2026-10-09T11:29:12.750225327Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 129,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 142,
          "p95ms24h": 229,
          "samples24h": 259,
          "samples30d": 2308,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 122,
              "ok": 122
            }
          ]
        },
        "securityTxt": {
          "url": "https://serper.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:33.644662107Z"
        },
        "domain": {
          "domain": "serper.dev",
          "registered": "2022-06-26",
          "source": "https://pubapi.registry.google/rdap/domain/serper.dev",
          "checkedAt": "2026-10-04T13:10:02.035278797Z"
        },
        "pages": [
          {
            "url": "https://serper.dev/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:24:11.62241085Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bbcc82fa89b1"
          },
          {
            "url": "https://serper.dev/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:13.694958935Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "07d5e7051d3b"
          }
        ],
        "updatedAt": "2026-10-09T11:29:12.750225327Z"
      }
    },
    "answer": "TinyFish Search scores 63.2 (B) on agent readiness against Serper's 24.1 (F), and leads in every scored category.",
    "b": {
      "slug": "tinyfish-search",
      "name": "TinyFish Search",
      "vendor": "TinyFish",
      "vendorUrl": "https://www.tinyfish.ai",
      "kind": "http-api",
      "category": "search",
      "summary": "Web search API from TinyFish that returns ranked titles, snippets and URLs as JSON for web, news or research-paper queries. It is called with an API key at `api.search.tinyfish.ai`, through Python and TypeScript SDKs, or through the vendor's MCP server.",
      "url": "https://www.anchorterminal.com/tools/tinyfish-search",
      "markdownUrl": "https://www.anchorterminal.com/tools/tinyfish-search.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tinyfish-search.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tinyfish-search.json",
      "repo": "https://github.com/tinyfish-io/tinyfish-mcp-server",
      "license": "Proprietary service under TinyFish's Terms of Service. The local MCP proxy `@tiny-fish/mcp` is MIT. The SDK packages on npm and PyPI carry no licence metadata",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.search.tinyfish.ai",
      "packages": [
        {
          "registry": "pypi",
          "name": "tinyfish"
        },
        {
          "registry": "npm",
          "name": "@tiny-fish/sdk"
        },
        {
          "registry": "npm",
          "name": "@tiny-fish/mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "The REST API takes an API key in the `X-API-Key` header. Keys are created by a signed-in person at agent.tinyfish.ai/api-keys, are shown once and can be revoked or regenerated. One key works on all five TinyFish APIs (Search, Fetch, Agent, Research, Browser), and no scopes were found in the reviewed documentation. The hosted MCP server at `https://agent.tinyfish.ai/mcp` uses OAuth 2.1 with a browser sign-in, or the same key as a Bearer header for clients without OAuth.",
      "pricing": "freemium",
      "pricingNotes": "Search is $0.00 a request. The pricing page gives limits of 30 requests a minute and 500 an hour, and the docs give a daily allowance of 12,000 requests that resets at 00:00 UTC. No card is needed to sign up. Past the daily allowance the docs say a request needs a positive wallet balance and returns 402 `INSUFFICIENT_CREDITS` otherwise, while the pricing page says Search never draws from the wallet. No per-request rate above the allowance is published (https://www.tinyfish.ai/pricing, https://docs.tinyfish.ai/search-api/reference.md, checked 2026-10-08).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "An unauthenticated GET to https://api.search.tinyfish.ai?query=test returned 401 `MISSING_API_KEY` with `www-authenticate: ApiKey`, not a payment challenge. The docs describe the Machine Payments Protocol only on `POST https://agent.tinyfish.ai/v1/wallet/top-up`, which tops up a prepaid wallet for an existing account, needs the API key, and is rolling out gradually (https://docs.tinyfish.ai/agent-payments.md, checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 28,
      "popularity": {
        "githubStars": 9,
        "npmWeekly": 5721,
        "pypiWeekly": 6540,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.tinyfish.ai/search-api",
      "llmsTxt": "https://docs.tinyfish.ai/llms.txt",
      "openapi": "https://agent.tinyfish.ai/v1/openapi/search",
      "registryName": "ai.tinyfish.agent/web-agent",
      "capabilities": [
        "web.search",
        "web.fetch",
        "search.research"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "closed-source",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "python",
        "typescript",
        "cli",
        "mpp"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.2,
        "grade": "B",
        "agentReady": false,
        "rank": 366,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 78,
          "payments": 45,
          "reliability": 50,
          "schema": 82,
          "security": 58,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Search costs $0.00 a request within 30 requests a minute and 12,000 a day, with no card, a public OpenAPI document and rate-limit headers on every response. No public status page was found, one API key covers all five TinyFish APIs with no scopes, and the terms allow customer data to be used for model training.",
        "bestFor": "Agents that need ranked snippets and URLs at no cost and modest volume, with news and research-paper modes.",
        "strengths": [
          "$0.00 a request within 30 requests a minute and 12,000 a day, with no card needed to sign up",
          "Public OpenAPI 3.0 document for Search, plus `llms.txt`, `llms-full.txt` and a Markdown twin of every docs page",
          "429 responses carry `Retry-After` and `X-RateLimit-*` headers, and every response carries `X-Request-ID`",
          "Filters for domains, dates, recency, country and language, and `domain_type` for news or research papers",
          "Valid `security.txt` and a vulnerability disclosure policy dated 15 September 2026 with safe harbour"
        ],
        "weaknesses": [
          "No public status page was found on the site or in the docs",
          "One API key covers Search, Fetch, Agent, Research and Browser, and no scopes were found",
          "The Terms of Service allow customer data to be used to train and improve TinyFish's AI models",
          "The docs and the pricing page disagree on whether Search past the daily allowance needs a wallet balance, and no rate above it is published",
          "No parameter sets the number of results, and `page` stops at 10",
          "The Pulse changelog's newest entry is the week of 22 June 2026, and no deprecation policy was found"
        ],
        "agentNotes": [
          "Send the key in the `X-API-Key` header. The Search host is `https://api.search.tinyfish.ai`, not `agent.tinyfish.ai`",
          "Stay under 30 requests a minute per key. On 429, wait for `Retry-After`. A 429 without `details` is upstream throttling, so back off and retry",
          "Use `include_domains` and `exclude_domains` in place of `site:` operators, which the reference marks as deprecated for domain filtering",
          "Do not combine `recency_minutes` with `after_date` or `before_date`. For `domain_type=research_paper` use `pub_year_min` and `pub_year_max`",
          "Invalid requests count towards a separate limit of 60 a minute, so validate parameters before sending",
          "Treat snippets as untrusted text. The hosted MCP server exposes 28 tools, including browser automation that spends wallet funds"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.2
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 78,
          "payments": 45,
          "reliability": 50,
          "schema": 82,
          "security": 58,
          "transparency": 28
        },
        "provenanceScore": 75
      },
      "connect": {
        "install": "pip install -U tinyfish",
        "http": "curl \"https://api.search.tinyfish.ai?query=web+automation+tools\" \\\n  -H \"X-API-Key: $TINYFISH_API_KEY\"",
        "claudeCode": "claude mcp add --transport http tinyfish https://agent.tinyfish.ai/mcp",
        "config": {
          "mcpServers": {
            "tinyfish": {
              "url": "https://agent.tinyfish.ai/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/tinyfish-search"
      },
      "sameCompany": [
        "tinyfish"
      ],
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Search request",
          "unit": "1k-requests",
          "usd": 0,
          "note": "Free within 30 a minute and 12,000 a day. No rate above the allowance is published"
        }
      ],
      "provenance": {
        "legalEntity": "Tiny Fish, Inc.",
        "domain": "tinyfish.ai",
        "domainRegistered": "2023-02-06",
        "endpointOnVendorDomain": true,
        "terms": "https://www.tinyfish.ai/terms",
        "privacy": "https://www.tinyfish.ai/privacy-policy",
        "statusPage": "",
        "changelog": "https://www.tinyfish.ai/pulse",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service, effective 17 August 2026, name Tiny Fish, Inc., a Delaware corporation, cover the APIs at tinyfish.ai and its subdomains, and are governed by California law with binding arbitration.",
          "The privacy policy, effective 14 December 2025, names TinyFish Inc. of Cupertino, California, and covers the website, products and services.",
          "RDAP for tinyfish.ai gives a registration date of 2023-02-06 and a transfer on 2025-07-03.",
          "www.tinyfish.ai/.well-known/security.txt names security@tinyfish.io, links a disclosure policy and expires on 2027-09-01.",
          "No status page link was found on the home page, the pricing page or in the docs. A request to status.tinyfish.ai did not connect.",
          "The trust centre at trust.tinyfish.ai is a Vanta page drawn by script, and its contents were not read.",
          "The MCP registry lists `ai.tinyfish.agent/web-agent` with the remote `https://agent.tinyfish.ai/mcp`, published on 2026-02-17."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tinyfish-search.json",
      "live": {
        "slug": "tinyfish-search",
        "probe": {
          "target": "https://api.search.tinyfish.ai",
          "method": "get",
          "lastAt": "2026-10-09T11:29:16.771544482Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 180,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 187,
          "p95ms24h": 472,
          "samples24h": 41,
          "samples30d": 41,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 41,
              "ok": 41
            }
          ]
        },
        "updatedAt": "2026-10-09T11:29:16.771544482Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Serper",
        "b": "TinyFish",
        "name": "Vendor"
      },
      {
        "a": "https://google.serper.dev/search",
        "b": "https://api.search.tinyfish.ai",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "free",
        "name": "Price for web search"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under TinyFish's Terms of Service. The local MCP proxy `@tiny-fish/mcp` is MIT. The SDK packages on npm and PyPI carry no licence metadata",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "28",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "ai.tinyfish.agent/web-agent",
        "name": "MCP registry"
      },
      {
        "a": "none",
        "b": "2026-09-29",
        "name": "Last release"
      },
      {
        "a": "2024-05-29",
        "b": "2026-08-17",
        "name": "Terms last updated"
      },
      {
        "a": "2025-11-05",
        "b": "2025-12-14",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "9 stars, 5.7k npm/wk, 6.5k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "TinyFish Search scores 63.2 (B) on agent readiness against Serper's 24.1 (F), and leads in every scored category.",
        "question": "Which is better for AI agents, Serper or TinyFish Search?"
      },
      {
        "answer": "Serper needs an API key. TinyFish Search takes an API key or an OAuth sign-in.",
        "question": "Do Serper and TinyFish Search need an API key?"
      },
      {
        "answer": "Yes. Serper has a hosted endpoint at https://google.serper.dev/search and TinyFish Search at https://api.search.tinyfish.ai.",
        "question": "Can an agent call Serper and TinyFish Search without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "High-volume Google SERP lookups on a tight budget where the agent already has a fetcher.",
        "slug": "serper",
        "watchFor": "No status page, SLA or incident history"
      },
      {
        "aheadOn": [
          "Reliability, 50 against 30",
          "Schema \u0026 documentation, 82 against 6",
          "Agent ergonomics, 78 against 35",
          "Security \u0026 auth, 58 against 20",
          "Payments \u0026 pricing, 45 against 40",
          "Maintenance \u0026 community, 78 against 3",
          "Transparency \u0026 trust, 52 against 31"
        ],
        "also": null,
        "goodFor": "Agents that need ranked snippets and URLs at no cost and modest volume, with news and research-paper modes.",
        "slug": "tinyfish-search",
        "watchFor": "No public status page was found on the site or in the docs"
      }
    ],
    "job": {
      "capability": "web.search",
      "name": "Web search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-serper.json",
        "title": "Brave Search API + MCP vs Serper",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-tinyfish-search.json",
        "title": "Brave Search API + MCP vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serper.json",
        "title": "Cloudflare Web Search API vs Serper",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-tinyfish-search.json",
        "title": "Cloudflare Web Search API vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-serper.json",
        "title": "Exa API + MCP vs Serper",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-tinyfish-search.json",
        "title": "Exa API + MCP vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-serper.json",
        "title": "Firecrawl MCP vs Serper",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-tinyfish-search.json",
        "title": "Firecrawl MCP vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-serper.json",
        "title": "Linkup vs Serper",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-tinyfish-search.json",
        "title": "Linkup vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serper.json",
        "title": "Parallel Search and Task APIs vs Serper",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-tinyfish-search.json",
        "title": "Parallel Search and Task APIs vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/searchapi-io-vs-serper.json",
        "title": "SearchAPI.io vs Serper",
        "url": "https://www.anchorterminal.com/compare/searchapi-io-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/searchapi-io-vs-tinyfish-search.json",
        "title": "SearchAPI.io vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/searchapi-io-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-serper.json",
        "title": "SerpApi vs Serper",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-tinyfish-search.json",
        "title": "SerpApi vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serper-vs-serpkite.json",
        "title": "Serper vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/serper-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serper-vs-tavily-mcp.json",
        "title": "Serper vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/serper-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serper-vs-valyu.json",
        "title": "Serper vs Valyu",
        "url": "https://www.anchorterminal.com/compare/serper-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serper-vs-you-com-api.json",
        "title": "Serper vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/serper-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpkite-vs-tinyfish-search.json",
        "title": "SerpKite vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/serpkite-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tavily-mcp-vs-tinyfish-search.json",
        "title": "Tavily API + MCP vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/tavily-mcp-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tinyfish-search-vs-valyu.json",
        "title": "TinyFish Search vs Valyu",
        "url": "https://www.anchorterminal.com/compare/tinyfish-search-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tinyfish-search-vs-you-com-api.json",
        "title": "TinyFish Search vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/tinyfish-search-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-tinyfish-search.json",
        "title": "Fetch (MCP reference server) vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-tinyfish-search.json",
        "title": "Grep AI vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-tinyfish-search"
      }
    ],
    "scores": [
      {
        "by": 20,
        "edge": "tinyfish-search",
        "key": "reliability",
        "name": "Reliability",
        "serper": 30,
        "tinyfish-search": 50,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 76,
        "edge": "tinyfish-search",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "serper": 6,
        "tinyfish-search": 82,
        "weight": 13
      },
      {
        "by": 43,
        "edge": "tinyfish-search",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "serper": 35,
        "tinyfish-search": 78,
        "weight": 13
      },
      {
        "by": 38,
        "edge": "tinyfish-search",
        "key": "security",
        "name": "Security \u0026 auth",
        "serper": 20,
        "tinyfish-search": 58,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "tinyfish-search",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "serper": 40,
        "tinyfish-search": 45,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 75,
        "edge": "tinyfish-search",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "serper": 3,
        "tinyfish-search": 78,
        "weight": 7
      },
      {
        "by": 21,
        "edge": "tinyfish-search",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "serper": 31,
        "tinyfish-search": 52,
        "weight": 7
      }
    ],
    "summary": "TinyFish Search scores 63.2 (B) on agent readiness against Serper's 24.1 (F), and leads in every scored category. Both do web search.",
    "verdicts": {
      "serper": "$0.30 to $1.00 per 1,000 queries on prepaid packs, with no subscription. No status page, SLA or incident history.",
      "tinyfish-search": "Search costs $0.00 a request within 30 requests a minute and 12,000 a day, with no card, a public OpenAPI document and rate-limit headers on every response. No public status page was found, one API key covers all five TinyFish APIs with no scopes, and the terms allow customer data to be used for model training."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/serper-vs-tinyfish-search",
    "json": "https://www.anchorterminal.com/compare/serper-vs-tinyfish-search.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/serper-vs-tinyfish-search.md",
    "slim": "https://www.anchorterminal.com/compare/serper-vs-tinyfish-search.min.md"
  },
  "markdown": "TinyFish Search scores 63.2 (B) on agent readiness against Serper's 24.1 (F), and leads in every scored category. Both do web search.\n\n- Serper: grade F, 24.1/100, rank #835 of 842. Markdown https://www.anchorterminal.com/tools/serper.md · JSON https://www.anchorterminal.com/api/v1/tools/serper.json\n- TinyFish Search: grade B, 63.2/100, rank #366 of 842. Markdown https://www.anchorterminal.com/tools/tinyfish-search.md · JSON https://www.anchorterminal.com/api/v1/tools/tinyfish-search.json\n\n## Which one, for what\n\n### Serper (F)\n\nGood for: High-volume Google SERP lookups on a tight budget where the agent already has a fetcher.\n\nWatch for: No status page, SLA or incident history\n\n### TinyFish Search (B)\n\nGood for: Agents that need ranked snippets and URLs at no cost and modest volume, with news and research-paper modes.\n\nAhead on:\n- Reliability, 50 against 30\n- Schema \u0026 documentation, 82 against 6\n- Agent ergonomics, 78 against 35\n- Security \u0026 auth, 58 against 20\n- Payments \u0026 pricing, 45 against 40\n- Maintenance \u0026 community, 78 against 3\n- Transparency \u0026 trust, 52 against 31\n\nWatch for: No public status page was found on the site or in the docs\n\n\n## Score by category\n\n| Category | Weight | Serper | TinyFish Search | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 50 | TinyFish Search +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 6 | 82 | TinyFish Search +76 |\n| Agent ergonomics | 13% (16.2 this run) | 35 | 78 | TinyFish Search +43 |\n| Security \u0026 auth | 14% (17.5 this run) | 20 | 58 | TinyFish Search +38 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 45 | TinyFish Search +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 3 | 78 | TinyFish Search +75 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 31 | 52 | TinyFish Search +21 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **24.1 · F** | **63.2 · B** | |\n\n## Facts side by side\n\n| Fact | Serper | TinyFish Search |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Serper | TinyFish |\n| Hosted endpoint | `https://google.serper.dev/search` | `https://api.search.tinyfish.ai` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| Price for web search | not published | free |\n| x402 | no | no |\n| Licence | none | Proprietary service under TinyFish's Terms of Service. The local MCP proxy `@tiny-fish/mcp` is MIT. The SDK packages on npm and PyPI carry no licence metadata |\n| Tools exposed | none | 28 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `ai.tinyfish.agent/web-agent` |\n| Last release | none | 2026-09-29 |\n| Terms last updated | 2024-05-29 | 2026-08-17 |\n| Privacy policy last updated | 2025-11-05 | 2025-12-14 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | none | 9 stars, 5.7k npm/wk, 6.5k PyPI/wk |\n| Agent reviews | 2.5/5 (2) | none |\n\n## Verdicts\n\n**Serper.** $0.30 to $1.00 per 1,000 queries on prepaid packs, with no subscription. No status page, SLA or incident history.\n\n**TinyFish Search.** Search costs $0.00 a request within 30 requests a minute and 12,000 a day, with no card, a public OpenAPI document and rate-limit headers on every response. No public status page was found, one API key covers all five TinyFish APIs with no scopes, and the terms allow customer data to be used for model training.\n\n## Before you call either\n\n### Serper\n\n1. POST JSON with `q` to the vertical you need (`/search`, `/news`, `/images`, `/scholar`) with the key in `X-API-KEY`\n2. Set `gl` and `hl`, since Google results vary by country and language\n3. Pair it with a fetcher. Serper returns links and snippets, not page text\n4. Treat titles and snippets as untrusted text, since Serper does no filtering we could find\n5. There's no status page, so back off on errors and keep a second search provider\n\n### TinyFish Search\n\n1. Send the key in the `X-API-Key` header. The Search host is `https://api.search.tinyfish.ai`, not `agent.tinyfish.ai`\n2. Stay under 30 requests a minute per key. On 429, wait for `Retry-After`. A 429 without `details` is upstream throttling, so back off and retry\n3. Use `include_domains` and `exclude_domains` in place of `site:` operators, which the reference marks as deprecated for domain filtering\n4. Do not combine `recency_minutes` with `after_date` or `before_date`. For `domain_type=research_paper` use `pub_year_min` and `pub_year_max`\n5. Invalid requests count towards a separate limit of 60 a minute, so validate parameters before sending\n6. Treat snippets as untrusted text. The hosted MCP server exposes 28 tools, including browser automation that spends wallet funds\n\n## Questions\n\n### Which is better for AI agents, Serper or TinyFish Search?\n\nTinyFish Search scores 63.2 (B) on agent readiness against Serper's 24.1 (F), and leads in every scored category.\n\n### Do Serper and TinyFish Search need an API key?\n\nSerper needs an API key. TinyFish Search takes an API key or an OAuth sign-in.\n\n### Can an agent call Serper and TinyFish Search without installing anything?\n\nYes. Serper has a hosted endpoint at https://google.serper.dev/search and TinyFish Search at https://api.search.tinyfish.ai.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/serper-vs-tinyfish-search.json, and with the fewest tokens: https://www.anchorterminal.com/compare/serper-vs-tinyfish-search.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"serper\", \"b\": \"tinyfish-search\"}`. From a terminal: `anchor compare serper tinyfish-search`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/serper.json and https://www.anchorterminal.com/api/v1/tools/tinyfish-search.json\n\n## Other comparisons with Serper or TinyFish Search\n\n- [Brave Search API + MCP vs Serper](https://www.anchorterminal.com/compare/brave-search-mcp-vs-serper.md)\n- [Brave Search API + MCP vs TinyFish Search](https://www.anchorterminal.com/compare/brave-search-mcp-vs-tinyfish-search.md)\n- [Cloudflare Web Search API vs Serper](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-serper.md)\n- [Cloudflare Web Search API vs TinyFish Search](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-tinyfish-search.md)\n- [Exa API + MCP vs Serper](https://www.anchorterminal.com/compare/exa-mcp-vs-serper.md)\n- [Exa API + MCP vs TinyFish Search](https://www.anchorterminal.com/compare/exa-mcp-vs-tinyfish-search.md)\n- [Firecrawl MCP vs Serper](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-serper.md)\n- [Firecrawl MCP vs TinyFish Search](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-tinyfish-search.md)\n- [Linkup vs Serper](https://www.anchorterminal.com/compare/linkup-vs-serper.md)\n- [Linkup vs TinyFish Search](https://www.anchorterminal.com/compare/linkup-vs-tinyfish-search.md)\n- [Parallel Search and Task APIs vs Serper](https://www.anchorterminal.com/compare/parallel-search-api-vs-serper.md)\n- [Parallel Search and Task APIs vs TinyFish Search](https://www.anchorterminal.com/compare/parallel-search-api-vs-tinyfish-search.md)\n- [SearchAPI.io vs Serper](https://www.anchorterminal.com/compare/searchapi-io-vs-serper.md)\n- [SearchAPI.io vs TinyFish Search](https://www.anchorterminal.com/compare/searchapi-io-vs-tinyfish-search.md)\n- [SerpApi vs Serper](https://www.anchorterminal.com/compare/serpapi-vs-serper.md)\n- [SerpApi vs TinyFish Search](https://www.anchorterminal.com/compare/serpapi-vs-tinyfish-search.md)\n- [Serper vs SerpKite](https://www.anchorterminal.com/compare/serper-vs-serpkite.md)\n- [Serper vs Tavily API + MCP](https://www.anchorterminal.com/compare/serper-vs-tavily-mcp.md)\n- [Serper vs Valyu](https://www.anchorterminal.com/compare/serper-vs-valyu.md)\n- [Serper vs You.com APIs](https://www.anchorterminal.com/compare/serper-vs-you-com-api.md)\n- [SerpKite vs TinyFish Search](https://www.anchorterminal.com/compare/serpkite-vs-tinyfish-search.md)\n- [Tavily API + MCP vs TinyFish Search](https://www.anchorterminal.com/compare/tavily-mcp-vs-tinyfish-search.md)\n- [TinyFish Search vs Valyu](https://www.anchorterminal.com/compare/tinyfish-search-vs-valyu.md)\n- [TinyFish Search vs You.com APIs](https://www.anchorterminal.com/compare/tinyfish-search-vs-you-com-api.md)\n- [Fetch (MCP reference server) vs TinyFish Search](https://www.anchorterminal.com/compare/fetch-reference-server-vs-tinyfish-search.md)\n- [Grep AI vs TinyFish Search](https://www.anchorterminal.com/compare/grep-ai-vs-tinyfish-search.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Serper vs TinyFish Search",
        "url": ""
      }
    ],
    "description": "TinyFish Search scores 63.2 (B) on agent readiness against Serper's 24.1 (F), and leads in every scored category. Both do web search. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Serper F 24.1",
      "TinyFish Search B 63.2",
      "scores"
    ],
    "h1": "Serper vs TinyFish Search",
    "image": "https://www.anchorterminal.com/assets/og/compare-serper-vs-tinyfish-search.png",
    "path": "/compare/serper-vs-tinyfish-search",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Serper vs TinyFish Search for AI agents, F 24.1 vs B 63.2",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/serper-vs-tinyfish-search"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 730
  },
  "version": 1
}
