{
  "data": {
    "a": {
      "slug": "mojeek",
      "name": "Mojeek Web Search API",
      "vendor": "Mojeek Limited",
      "vendorUrl": "https://www.mojeek.com/services/search/web-search-api/",
      "kind": "http-api",
      "category": "search",
      "summary": "Mojeek's Web Search API returns results from Mojeek's own independent web index as JSON or XML, with country and language boosting, date and domain filters. Mojeek Limited runs it from the UK on pay-as-you-go plans.",
      "url": "https://www.anchorterminal.com/tools/mojeek",
      "markdownUrl": "https://www.anchorterminal.com/tools/mojeek.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mojeek.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mojeek.json",
      "dns": "mojeek.grade.anchorterminal.com",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "One API key per account, sent as the `api_key` query parameter, the only method the docs show. A key is issued after a browser signup with a bank card. Rotating or revoking a key is done by emailing api@mojeek.com, per a staff reply on the community forum on 22 October 2026.",
      "pricing": "usage",
      "pricingNotes": "£2 per 1,000 requests on Startup (5 a second, 100,000 a day, up to 10 results a request) and £3 on Business (10 a second, 400,000 a day, up to 40 results, storage rights). Enterprise by contract. A free credit on signup, but a card is required. No automatic payments; prices exclude VAT.",
      "priceSummary": "$2.68 / 1k req",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the Search API page, the API docs or the API terms (checked 2026-11-06). Payments go through Stripe after a browser signup.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://www.mojeek.com/support/api/search/",
      "capabilities": [
        "web.search"
      ],
      "tags": [
        "hosted",
        "usage",
        "uk",
        "eu",
        "status-page"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 36.4,
        "grade": "F",
        "agentReady": false,
        "rank": 1365,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 24,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 10,
          "payments": 20,
          "reliability": 45,
          "schema": 29,
          "security": 15,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Mojeek sells search over its own independent index at published per-request prices, with region, language, date and domain controls and storage rights on the Business plan. The key travels only in the URL, rotation is by email, a card is needed to start, and there is no OpenAPI, changelog, 429 handling or SLA.",
        "bestFor": "Agents and products that want a second, independent index beside Google-derived results, or European data handling with no sub-processors.",
        "strengths": [
          "Results come from Mojeek's own crawler and index, not from Google or Bing",
          "Published prices of £2 and £3 per 1,000 requests, with no minimum commitment and no automatic payments",
          "Region and language boosts, date windows, up to 25 included or excluded domains, and adjustable title and snippet lengths",
          "The API page states 90-day retention, zero retention on request and no sub-processors, with infrastructure run in Europe",
          "Business and Enterprise plans allow results to be stored indefinitely and combined with other engines"
        ],
        "weaknesses": [
          "The API key is documented only as a URL query parameter, and rotating a key means emailing the API team",
          "A bank card is required to open an account, even for the free credit",
          "No OpenAPI, llms.txt, changelog, version or error code list; errors arrive as a free-text status string",
          "No HTTP 429 or retry guidance and no SLA; the terms allow interruption without notice",
          "Startup results may be cached for one hour only, and the terms forbid using results in a search index"
        ],
        "agentNotes": [
          "Send `fmt=json`, since the default response is XML",
          "Read `response.status` on every call; a daily limit shows as 'ERROR: Daily Limit Reached' rather than an HTTP error",
          "Set `lb`, `lbb`, `rb` and `rbb` as the quickstart recommends, or results lean to no language or region",
          "Keep the key out of logs and shared URLs, since it travels in the query string",
          "On the Startup plan, don't keep results for more than an hour"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 36.4
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 10,
          "payments": 20,
          "reliability": 45,
          "schema": 29,
          "security": 15,
          "transparency": 50
        },
        "provenanceScore": 85,
        "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": {
        "http": "curl \"https://api.mojeek.com/search?q=mojeek\u0026api_key=YOUR_API_KEY\u0026lb=EN\u0026lbb=100\u0026rb=GB\u0026rbb=10\u0026fmt=json\""
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/mojeek"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Search request, Startup",
          "unit": "1k-requests",
          "usd": 2.68,
          "note": "£2, converted at the ECB rates of 6 November 2026 (USD 1.1165, GBP 0.83415 per euro). Excludes VAT"
        },
        {
          "item": "Search request, Business",
          "unit": "1k-requests",
          "usd": 4.02,
          "note": "£3, with storage rights"
        }
      ],
      "provenance": {
        "legalEntity": "Mojeek Limited",
        "domain": "mojeek.com",
        "domainRegistered": "2004-09-30",
        "endpointOnVendorDomain": true,
        "terms": "https://www.mojeek.com/about/legal/api-terms.html",
        "privacy": "https://www.mojeek.com/about/privacy/",
        "statusPage": "https://status.mojeek.com/",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "Mojeek Limited, registered in England number 06918197, registered address in Croydon, office at the Sussex Innovation Centre in Brighton, per the site footer.",
          "The API terms name Mojeek Limited, choose English law and forbid using the services 'by any automated means unless you are an authorised Services user'. Recorded as a fact; only public pages were read.",
          "www.mojeek.com/robots.txt disallows /search, /url, /focus/dashboard, /eval and /image? for all agents; none of the pages read is under those paths.",
          "The privacy policy is dated 2 February 2022 and covers the search website. It says logs are kept indefinitely with IP addresses replaced by a country code.",
          "/.well-known/security.txt names security@mojeek.com and the contact page, with no Expires field. /security.txt answers 404.",
          "status.mojeek.com is a Site24x7 StatusIQ page drawn by script. Its RSS feed lists Search, Website, Blog and Community components, all operational on 6 November 2026.",
          "RDAP gives mojeek.com a registration date of 30 September 2004."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mojeek.json",
      "live": {
        "slug": "mojeek",
        "vendorStatus": {
          "page": "https://status.mojeek.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:12.320117499Z"
        },
        "securityTxt": {
          "url": "https://mojeek.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-07T16:01:02.996132936Z"
        },
        "pages": [
          {
            "url": "https://www.mojeek.com/about/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:48.341040926Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cd749befb394"
          },
          {
            "url": "https://www.mojeek.com/about/legal/api-terms.html",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:46.299086085Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f593843e677e"
          }
        ],
        "updatedAt": "2026-11-07T16:01:02.996132936Z"
      }
    },
    "answer": "Tavily API + MCP scores 77.1 (BB) on agent readiness against Mojeek Web Search API's 36.4 (F), and leads in 6 of 7 scored categories. Mojeek Web Search API leads on transparency \u0026 trust.",
    "b": {
      "slug": "tavily-mcp",
      "name": "Tavily API + MCP",
      "vendor": "Tavily",
      "vendorUrl": "https://www.tavily.com",
      "kind": "mcp",
      "category": "search",
      "summary": "Tavily's REST API for web search, URL extraction, site mapping, crawling and cited research reports, with the official MCP server hosted at mcp.tavily.com or run locally from npm.",
      "url": "https://www.anchorterminal.com/tools/tavily-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/tavily-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tavily-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tavily-mcp.json",
      "dns": "tavily-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/tavily-ai/tavily-mcp",
      "license": "MIT",
      "transports": [
        "stdio",
        "streamable-http",
        "http"
      ],
      "remoteUrl": "https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e",
      "packages": [
        {
          "registry": "npm",
          "name": "@tavily/core"
        },
        {
          "registry": "pypi",
          "name": "tavily-python"
        },
        {
          "registry": "npm",
          "name": "tavily-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key as `Authorization: Bearer tvly-...`. Development keys and production keys have different rate limits, and production keys need a paid plan or pay as you go. The `X-Tavily-Access-Mode: keyless` header gives rate-limited search and extract with no key. x402.tavily.com takes a `PAYMENT-SIGNATURE` header instead. MCP server: API key in the URL query (?tavilyApiKey=) or Authorization header; OAuth flow also supported on the hosted server (uses an mcp_auth_default key from the dashboard).",
      "pricing": "freemium",
      "pricingNotes": "Free 1,000 credits a month, no card. Project $30 a month (4,000 credits), Bootstrap $100 (15,000), Startup $220 (38,000), Growth $500 (100,000), pay as you go $0.008 a credit. Basic search 1 credit, advanced 2, extract 1 per 5 URLs (advanced 2), map 1 per 10 pages, crawl is map plus extract, research 4 to 250 credits by model. Failed extracts and maps aren't charged (https://www.tavily.com/pricing).",
      "priceSummary": "$7.50 / 1k req",
      "where": "both",
      "x402": {
        "level": "partial",
        "evidence": "Official x402 endpoint at x402.tavily.com sells POST /search in advanced mode only, $0.01 in USDC on Base. An unpaid request returned 402 and /.well-known/pricing listed the price on 2026-09-30. Extract, map, crawl and research aren't sold over x402 (https://docs.tavily.com/documentation/machine-payments/x402.md)",
        "endpoints": [
          {
            "url": "https://x402.tavily.com/search",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": 5,
      "popularity": {
        "githubStars": 2400,
        "npmWeekly": 451969,
        "pypiWeekly": 1589963,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.tavily.com",
      "llmsTxt": "https://docs.tavily.com/llms.txt",
      "openapi": "https://docs.tavily.com/documentation/api-reference/openapi.json",
      "registryName": "io.github.tavily-ai/tavily-mcp",
      "capabilities": [
        "web.search",
        "web.extract",
        "web.crawl",
        "web.fetch",
        "search.answer",
        "search.research",
        "search.news",
        "search.images"
      ],
      "tags": [
        "official",
        "hosted",
        "local",
        "open-source",
        "freemium",
        "llms-txt",
        "no-card",
        "free-tier",
        "x402",
        "openapi",
        "python",
        "typescript",
        "async-jobs",
        "enterprise",
        "mcp"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 77.1,
        "grade": "BB",
        "agentReady": true,
        "rank": 36,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 81,
          "maintenance": 85,
          "payments": 75,
          "reliability": 90,
          "schema": 90,
          "security": 52,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "Keyless search and extract, plus a free 1,000 credits a month with no card. x402 covers advanced search only, not extract, map, crawl or research, and the npm MCP release has trailed the GitHub source since August.",
        "bestFor": "An agent that needs search plus page text in one call and has no account yet.",
        "strengths": [
          "Keyless search and extract, plus a free 1,000 credits a month with no card",
          "x402 endpoint for advanced search at $0.01 in USDC on Base",
          "Public OpenAPI, llms.txt and an error table that tells plan limits (432) from pay-as-you-go limits (433) and flex tier capacity (434)",
          "429 carries Retry-After, with limits published per key type and endpoint",
          "Logs API filters calls by key and endpoint"
        ],
        "weaknesses": [
          "x402 covers advanced search only, not extract, map, crawl or research",
          "Hosted MCP docs lead with `?tavilyApiKey=` in the URL query string",
          "No readOnlyHint or destructiveHint on the MCP tools, and the npm server (0.2.22, 5 August 2026) trails the GitHub source",
          "Privacy policy lets query data improve future responses unless a contract says otherwise, with no zero-retention option found",
          "SLAs named only for the custom Enterprise plan, and no security.txt or deprecation policy found"
        ],
        "agentNotes": [
          "Try `X-Tavily-Access-Mode: keyless` first for search and extract. Over MCP, the keyless cap arrives as plain text without `isError`, so read the text before treating it as results",
          "Send the key in `Authorization: Bearer`, not `?tavilyApiKey=` in the MCP URL",
          "On 429, wait for `Retry-After`. A 432 or 433 means a spend limit, and retrying won't help. A 434 on a free plan means retry shortly or drop `max_age_hours`",
          "Run /map before /crawl to bound the crawl, since crawl is billed as map plus extract",
          "Research is async and runs 4 to 250 credits. Create the task, then poll /research/{request_id}"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.6,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 77.1
          }
        ],
        "editorialScores": {
          "ergonomics": 81,
          "maintenance": 85,
          "payments": 75,
          "reliability": 90,
          "schema": 90,
          "security": 52,
          "transparency": 47
        },
        "provenanceScore": 77,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST https://api.tavily.com/search \\\n  -H \"Authorization: Bearer $TAVILY_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"query\":\"latest AI news\",\"max_results\":5}'",
        "claudeCode": "claude mcp add --transport http tavily https://mcp.tavily.com/mcp/ --header \"Authorization: Bearer ${TAVILY_API_KEY}\"",
        "config": {
          "mcpServers": {
            "tavily": {
              "headers": {
                "Authorization": "Bearer ${TAVILY_API_KEY}"
              },
              "url": "https://mcp.tavily.com/mcp/"
            }
          }
        },
        "x402": "curl -i -X POST https://x402.tavily.com/search -H 'content-type: application/json' -d '{\"query\":\"Who is Leo Messi?\"}'\n# HTTP/2 402, PAYMENT-REQUIRED header carries the terms (10000 base units of USDC on eip155:8453)\n# retry with PAYMENT-SIGNATURE: \u003cbase64 signed authorization\u003e"
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/tavily-mcp"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Basic search on Project plan",
          "unit": "1k-requests",
          "usd": 7.5,
          "note": "1 credit a search at $0.0075 a credit"
        },
        {
          "item": "Project plan",
          "unit": "month",
          "usd": 30,
          "note": "4,000 credits"
        },
        {
          "item": "Bootstrap plan",
          "unit": "month",
          "usd": 100,
          "note": "15,000 credits"
        },
        {
          "item": "Credit, pay as you go",
          "unit": "credit",
          "usd": 0.008,
          "note": "basic search 1 credit, advanced 2"
        }
      ],
      "provenance": {
        "legalEntity": "AlphaAI Technologies Inc. dba Tavily",
        "domain": "tavily.com",
        "domainRegistered": "2023-04-13",
        "endpointOnVendorDomain": true,
        "terms": "https://www.tavily.com/terms",
        "privacy": "https://www.tavily.com/privacy",
        "statusPage": "https://status.tavily.com",
        "changelog": "https://docs.tavily.com/changelog",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "score": 77
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "agentAlone": true,
        "card": "no",
        "freeTier": true,
        "minutes": 3,
        "credential": "api-key",
        "euResidency": "unknown",
        "trainsOnData": "unknown",
        "zeroRetention": "yes",
        "selfHost": "no"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tavily-mcp.json",
      "live": {
        "slug": "tavily-mcp",
        "probe": {
          "target": "https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T18:20:58.421507107Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 339,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 269,
          "p95ms24h": 373,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tavily.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:22:04.9668085Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.tavily-ai/tavily-mcp",
            "version": "0.2.15",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "@tavily/core",
            "version": "1.0.0",
            "seenAt": "2026-11-07T00:10:05.152132676Z"
          },
          {
            "registry": "npm",
            "name": "tavily-mcp",
            "version": "0.2.22",
            "seenAt": "2026-11-07T00:10:06.134241705Z"
          },
          {
            "registry": "pypi",
            "name": "tavily-python",
            "version": "0.8.5",
            "released": "2026-10-06",
            "seenAt": "2026-11-07T00:10:05.976258203Z"
          }
        ],
        "githubStars": 2477,
        "npmWeekly": 447987,
        "pypiWeekly": 1613317,
        "securityTxt": {
          "url": "https://tavily.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:37.146791944Z"
        },
        "llmsTxt": {
          "url": "https://docs.tavily.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:06.080885411Z"
        },
        "domain": {
          "domain": "tavily.com",
          "registered": "2023-04-13",
          "source": "https://rdap.verisign.com/com/v1/domain/tavily.com",
          "checkedAt": "2026-11-01T14:09:04.459267204Z"
        },
        "pages": [
          {
            "url": "https://docs.tavily.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:08:17.170675544Z",
            "changedAt": "2026-10-31T06:11:24.93929399Z",
            "fingerprint": "8d59498d375a"
          },
          {
            "url": "https://www.tavily.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:35:25.891850973Z",
            "changedAt": "2026-10-30T06:01:19.352647695Z",
            "fingerprint": "faa220363671"
          },
          {
            "url": "https://www.tavily.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:35:30.039252485Z",
            "changedAt": "2026-10-30T06:01:21.508978221Z",
            "fingerprint": "93c5b2b1e233"
          },
          {
            "url": "https://www.tavily.com/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:35:30.454176939Z",
            "changedAt": "2026-10-30T06:01:24.057384431Z",
            "fingerprint": "48b828360e08"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e",
          "checkedAt": "2026-11-07T01:48:14.102426624Z",
          "status": "ok",
          "protocol": "2026-07-28",
          "tools": [
            {
              "name": "tavily_search",
              "title": "Tavily Search",
              "description": "Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff, and before answering any question about specific facts, figures or recent events. Returns snippets and source URLs. Results are short excerpts; read a page with tavily_extract to confirm what it says.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "country": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Boost search results from a specific country. Must be a full country name (e.g., 'United States', 'Japan', 'Germany'). ISO country codes (e.g., 'us', 'jp') are not supported. Available only if topic is general. See https://docs.tavily.com/documentation/api-reference/search for the full list of supported countries."
                  },
                  "end_date": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Will return all results before the specified end date. Required to be written in the format YYYY-MM-DD. Filters by publish date, not by when events happened; leave it empty when looking for facts about past events."
                  },
                  "exact_match": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Only return results containing the exact phrase(s) in quotes in your query"
                  },
                  "exclude_domains": {
                    "anyOf": [
                      {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "List of domains to specifically exclude, if the user asks to exclude a domain set this to the domain of the site"
                  },
                  "filter_by_published_date": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Filter results to the requested date window and exclude results with no detected publication date"
                  },
                  "include_domains": {
                    "anyOf": [
                      {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "A list of domains to specifically include in the search results, if the user asks to search on specific sites set this to the domain of the site. Use full domains such as 'en.wikipedia.org' or 'sec.gov', not suffixes such as 'edu'. This is a hard filter: if results come back empty or thin, search again without it."
                  },
                  "include_favicon": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Whether to include the favicon URL for each result"
                  },
                  "include_image_descriptions": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include a list of query-related images and their descriptions in the response"
                  },
                  "include_images": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include a list of query-related images in the response"
                  },
                  "include_published_date": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include detected publication dates (beta)"
                  },
                  "include_raw_content": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include the cleaned and parsed HTML content of each search result. Whole pages can make the response too large to read; to read one page, use tavily_extract with a query instead."
                  },
                  "max_results": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "The maximum number of search results to return. Ask for 10 when looking for a specific fact, page or entity."
                  },
                  "query": {
                    "description": "Search query. Keep it short and specific, in the words the page itself would use; one idea per query.",
                    "type": "string"
                  },
                  "search_depth": {
                    "anyOf": [
                      {
                        "enum": [
                          "basic",
                          "advanced",
                          "fast",
                          "ultra-fast"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "The depth of the search. 'basic' for generic results, 'advanced' for more thorough search, 'fast' for optimized low latency with high relevance, 'ultra-fast' for prioritizing latency above all else. Use 'advanced' when looking for a specific fact, page or entity, or when 'basic' did not find it."
                  },
                  "start_date": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Will return all results after the specified start date. Required to be written in the format YYYY-MM-DD. Filters by publish date, not by when events happened; leave it empty when looking for facts about past events."
                  },
                  "time_range": {
                    "anyOf": [
                      {
                        "enum": [
                          "day",
                          "week",
                          "month",
                          "year"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "The time range back from the current date to include in the search results. Filters by when a page was published, not by when the events it describes happened."
                  },
                  "topic": {
                    "anyOf": [
                      {
                        "enum": [
                          "general",
                          "news"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Search category. Use 'general' for almost all searches, including current events and requests that combine news with other information. Use 'news' only when the user explicitly asks for news, headlines, or news coverage."
                  }
                },
                "required": [
                  "query"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_extract",
              "title": "Tavily Extract",
              "description": "Extract content from URLs. Returns raw page content in markdown or text format. Use it to read a page in full or to confirm a fact found in search results. Pages that could not be read are listed in failed_results; retry a timeout once, then try another source.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "extract_depth": {
                    "default": "basic",
                    "description": "Use 'advanced' for LinkedIn, protected sites, or tables/embedded content",
                    "enum": [
                      "basic",
                      "advanced"
                    ],
                    "type": "string"
                  },
                  "format": {
                    "default": "markdown",
                    "description": "Output format",
                    "enum": [
                      "markdown",
                      "text"
                    ],
                    "type": "string"
                  },
                  "include_favicon": {
                    "default": false,
                    "description": "Include favicon URLs",
                    "type": "boolean"
                  },
                  "include_images": {
                    "default": false,
                    "description": "Include images from pages",
                    "type": "boolean"
                  },
                  "include_usage": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include credit usage"
                  },
                  "query": {
                    "default": "",
                    "description": "Query to rerank content chunks by relevance. Set it to get only the relevant passages of a long article or PDF. Leave it empty for tables, lists, data files and API responses, which it can cut short; read those whole, or request a narrower URL.",
                    "type": "string"
                  },
                  "urls": {
                    "description": "List of URLs to extract content from. Prefer URLs from search results; guessed page URLs often fail.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "urls"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_crawl",
              "title": "Tavily Crawl",
              "description": "Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "allow_external": {
                    "default": true,
                    "description": "Whether to return external links in the final response",
                    "type": "boolean"
                  },
                  "chunks_per_source": {
                    "anyOf": [
                      {
                        "maximum": 5,
                        "minimum": 1,
                        "type": "integer"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Chunks per source; requires instructions"
                  },
                  "extract_depth": {
                    "default": "basic",
                    "description": "Advanced extraction retrieves more data, including tables and embedded content, with higher success but may increase latency",
                    "enum": [
                      "basic",
                      "advanced"
                    ],
                    "type": "string"
                  },
                  "format": {
                    "default": "markdown",
                    "description": "The format of the extracted web page content. markdown returns content in markdown format. text returns plain text and may increase latency.",
                    "enum": [
                      "markdown",
                      "text"
                    ],
                    "type": "string"
                  },
                  "include_favicon": {
                    "default": false,
                    "description": "Whether to include the favicon URL for each result",
                    "type": "boolean"
                  },
                  "include_usage": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include credit usage"
                  },
                  "instructions": {
                    "default": "",
                    "description": "Natural language instructions for the crawler. Instructions specify which types of pages the crawler should return.",
                    "type": "string"
                  },
                  "limit": {
                    "default": 50,
                    "description": "Total number of links the crawler will process before stopping",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_breadth": {
                    "default": 20,
                    "description": "Max number of links to follow per level of the tree (i.e., per page)",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_depth": {
                    "default": 1,
                    "description": "Max depth of the crawl. Defines how far from the base URL the crawler can explore.",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "select_domains": {
                    "default": [],
                    "description": "Regex patterns to restrict crawling to specific domains or subdomains (e.g., ^docs\\.example\\.com$)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "select_paths": {
                    "default": [],
                    "description": "Regex patterns to select only URLs with specific path patterns (e.g., /docs/.*, /api/v1.*)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "url": {
                    "description": "The root URL to begin the crawl",
                    "type": "string"
                  }
                },
                "required": [
                  "url"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_map",
              "title": "Tavily Map",
              "description": "Map a website's structure. Returns a list of URLs found starting from the base URL.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "allow_external": {
                    "default": true,
                    "description": "Whether to return external links in the final response",
                    "type": "boolean"
                  },
                  "include_usage": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Include credit usage"
                  },
                  "instructions": {
                    "default": "",
                    "description": "Natural language instructions for the crawler",
                    "type": "string"
                  },
                  "limit": {
                    "default": 50,
                    "description": "Total number of links the crawler will process before stopping",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_breadth": {
                    "default": 20,
                    "description": "Max number of links to follow per level of the tree (i.e., per page)",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_depth": {
                    "default": 1,
                    "description": "Max depth of the mapping. Defines how far from the base URL the crawler can explore",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "select_domains": {
                    "default": [],
                    "description": "Regex patterns to restrict crawling to specific domains or subdomains (e.g., ^docs\\.example\\.com$)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "select_paths": {
                    "default": [],
                    "description": "Regex patterns to select only URLs with specific path patterns (e.g., /docs/.*, /api/v1.*)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "url": {
                    "description": "The root URL to begin the mapping",
                    "type": "string"
                  }
                },
                "required": [
                  "url"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_research",
              "title": "Tavily Research",
              "description": "Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources, including web pages, documents, and other resources, to answer a question or complete a task. Returns a detailed response based on the research findings. Rate limit: 20 requests per minute.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "files": {
                    "anyOf": [
                      {
                        "items": {
                          "properties": {
                            "data": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "type": {
                              "const": "base64",
                              "default": "base64",
                              "type": "string"
                            }
                          },
                          "required": [
                            "name",
                            "data"
                          ],
                          "type": "object"
                        },
                        "maxItems": 5,
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Base64 .txt/.md/.json attachments; up to 80000 words combined"
                  },
                  "input": {
                    "description": "A comprehensive description of the research task",
                    "type": "string"
                  },
                  "model": {
                    "default": "auto",
                    "description": "Defines the degree of depth of the research. 'mini' is good for narrow tasks with few subtopics. 'pro' is good for broad tasks with many subtopics",
                    "enum": [
                      "mini",
                      "pro",
                      "auto"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "input"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 3042,
          "changedAt": "2026-09-28T21:55:54.996628221Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 3042,
            "counts": {
              "error": 0,
              "note": 0,
              "warn": 0
            },
            "findings": []
          }
        },
        "github": {
          "repo": "tavily-ai/tavily-mcp",
          "checkedAt": "2026-11-02T09:29:58.314496639Z",
          "stars": 2471,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-29T15:09:45Z",
          "openIssues": 42,
          "openPRs": 23,
          "issuesOpened90d": 15,
          "issuesClosed90d": 3,
          "prsMerged90d": 13,
          "replies": {
            "sampled": 25,
            "unanswered": 22,
            "medianDays": 8.7
          }
        },
        "updatedAt": "2026-11-07T18:22:04.9668085Z"
      }
    },
    "edges": [
      {
        "by": 75,
        "category": "maintenance",
        "leads": "tavily-mcp",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read for a closed service. No API changelog, release notes or dated API change were found, and the blog's posts since 2024 are about search in general, so the last change can't be dated (0). No dated changes in the 90 days from 8 August (0). A staff member answered API questions on the community forum within a day in December 2025 and October 2026, and support is by email; no public changelog (10 of 15). No official SDKs or MCP server (0). No public packages or CI to measure (0). 0 + 0 + 10 + 0 + 0 = 10.",
          "b": "@tavily/core 0.7.14 on npm, published on 6 October 2026, and tavily-python bumped to 0.8.5 in the repository the same day (PyPI's pages and release feed returned nothing to us on 1 November, so its publication there is unchecked). No newer SDK release by 1 November, so this line drops to 20 after 5 November unless one lands (30). The tavily-mcp npm release is older, 0.2.22 on 5 August 2026. Version 0.2.23 was committed on 16 September and still isn't on npm on 1 November, though the MCP repository had dependency bumps on 15 and 26 October and new descriptions on 27 October. Eight @tavily/core releases on npm since 5 August, tavily-python version bumps in its repository, tavily-mcp 0.2.22, and August and October changelog entries in the last 90 days (20). Maintainers merge pull requests and dependency fixes within days. Ten issues were open on tavily-mcp on 4 October, the oldest from 14 July 2026, including OAuth failures (#203, #220), empty extracts on single-page sites (#204) and a missing `isError` on a 401 (#211), per the 4 October check, not re-read on 1 November (GitHub answered 403) (15). Listed in the official MCP registry as io.github.tavily-ai/tavily-mcp, though the entry is still at 0.2.15 from 26 January 2026 on 1 November (15). The MCP repo has no CI workflows and no git tags, though it has a test file and regular security bumps. tavily-python runs tests in CI (5)."
        },
        "scores": {
          "a": 10,
          "b": 85
        }
      },
      {
        "by": 61,
        "category": "schema",
        "leads": "tavily-mcp",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI or other machine-readable contract (0). No llms.txt (404) and no Markdown pages for agents (0). The parameters page states what each parameter does, with notes on when not to use `reg` and `clufmt`, but nothing on when another endpoint fits better (12 of 20). Every parameter has a type, defaults and valid ranges (tlen 0 to 127, dlen 0 to 511, rbb and lbb 1 to 100, up to 25 domains), though `reg` is called an enum without listing its values (11 of 15). One curl example and annotated JSON and XML response formats; errors appear only as a `status` string with one example (6 of 15). No API version, changelog or dated release notes, and the quickstart and the parameters page give different hosts (0). 0 + 0 + 12 + 11 + 6 + 0 = 29.",
          "b": "Public OpenAPI at docs.tavily.com, and typed JSON Schema on every MCP tool (25). llms.txt with Markdown pages and a 'Start here for agents' section, re-read on 1 November (10). Tool descriptions say what each does and when to reach for it, such as search for facts past the model's cutoff, but the npm release doesn't say when not to. A commit of 27 October on the GitHub main branch adds some, such as using the `news` topic only when the user asks for news and leaving the extract `query` empty for tables, but it isn't released on npm, so the award stays (14). Enums for `search_depth`, `topic`, `time_range` and `include_domains_mode`, ranges for `max_results` (0 to 20 on the API, 5 to 20 in the MCP), `chunks_per_source` (1 to 3) and `max_age_hours` (-1 to 720), and caps of 300 included and 150 excluded domains. The feedback tool on the GitHub main branch, not in the npm release, takes free-form `value` fields (13). Error table with examples for 400, 401, 422, 429, 432, 433, 434 and 500, re-read on 1 November (15). Versioned SDKs and a monthly changelog, which on 1 November has an October 2026 section documenting `max_age_hours` (accepted values and the 434 flex tier) and Tavily CLI plain output, and the search API reference now documents `max_age_hours`. `fetch_timeout` appears only in the 434 example message and `cache_fallback` nowhere in the reference or changelog, and the API path isn't versioned (13)."
        },
        "scores": {
          "a": 29,
          "b": 90
        }
      },
      {
        "by": 55,
        "category": "payments",
        "leads": "tavily-mcp",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Per-request prices published without login, £2 and £3 per 1,000 requests (20). The FAQ says a free credit comes with the Startup plan, but a bank card is required to open an account (0). A person signs up in a browser and adds a card (0). 0 + 20 + 0 + 0 = 20.",
          "b": "Official x402 at x402.tavily.com sells advanced search only, $0.01 in USDC on Base. An unpaid POST to /search returned 402 on 1 November with an x402 version 2 envelope offering the `exact` scheme on eip155:8453 for 10000 units (0.01 USDC), and a second `agent-pay` option on aws:base for 0.016, described as advanced mode. Extract, map, crawl and research aren't sold over x402 (15). Credit costs per endpoint and $0.008 a credit pay as you go, published without a login and unchanged on 1 November (20). 1,000 free credits a month, no card, re-read on 1 November (20). Keyless search and extract with the `X-Tavily-Access-Mode: keyless` header, plus the x402 route, so an agent needs no human signup (20)."
        },
        "scores": {
          "a": 20,
          "b": 75
        }
      },
      {
        "by": 45,
        "category": "reliability",
        "leads": "tavily-mcp",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. status.mojeek.com is a Site24x7 StatusIQ page with Search, Website, Blog and Community components. It is drawn by script, so only its RSS feed could be read, which shows each component's current state (Search operational since 7 September 2026) and no incident entries (15 of 20). No readable incident history (5). Rate limits are published per plan, 5 a second and 100,000 a day on Startup, 10 a second and 400,000 a day on Business (15). Over the daily limit the JSON `status` reads 'ERROR: Daily Limit Reached'; no HTTP 429, Retry-After or backoff guidance was found (0). No SLA, and the API terms say the service is provided as is and may be interrupted without notice (0). Generally available, with only the `lr` parameter marked beta (10). 15 + 5 + 15 + 0 + 0 + 10 = 45.",
          "b": "incident.io status page at status.tavily.com with separate API, MCP and website components (20). One incident in the 90 days from 3 August, website degraded performance on 17 September 2026, and none since per the status feed re-read on 1 November. The API and MCP showed 100% per the 1 October check (30). Published limits, re-read on 1 November, 100 requests a minute on development keys and 1,000 on production, crawl 100 and research 20 task creations on both (15). 429 carries `Retry-After` and the docs say to use that value and the status code rather than parse the message. Since October a 434 tells non-paying plans that live fetching with `max_age_hours` is refused under load, with the advice to retry or omit it (15). The pricing page lists 'Enterprise-grade support and SLAs' for the custom Enterprise plan but publishes no SLA terms, per the 17 October check, and none were found in the docs index or terms (0). GA (10)."
        },
        "scores": {
          "a": 45,
          "b": 90
        }
      },
      {
        "by": 37,
        "category": "security",
        "leads": "tavily-mcp",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "One key per account, documented only as the `api_key` query parameter, and rotation or revocation is by email to the API team (a staff reply of 22 October 2026 on the community forum asks for the key's last 8 digits). One all-powerful key (10) less 10 for the key in the URL (0). Search is read-only and there is nothing to write, but no scoped or restricted key (10 of 20). Results are third-party titles and snippets, with no prompt-injection guidance found (0). No audit log or per-call usage view was found in the docs; the FAQ mentions budget alerts on the account (0 of 15). security.txt names security@mojeek.com, with no Expires field. No bug bounty, disclosure policy, SOC 2 or ISO 27001 found; the API page claims compliance with European rules such as the EU Data Act without a certification (5 of 20). 0 + 10 + 0 + 0 + 5 = 15.",
          "b": "Revocable keys, separate development and production keys, and the Logs API filters by key, so several keys per account work. The hosted MCP adds OAuth but maps it to one dashboard key with no scopes (22). The MCP README and docs still lead with `?tavilyApiKey=` in the URL on 1 November (minus 10). The five tools in the npm release all read. The GitHub main branch adds `tavily_feedback`, which posts scores to Tavily, the hosted server's tool list is unknown, and there's no read-only toolset (10). The home page says requests pass through 'security, privacy, and content validation layers that block PII leakage, prompt injection, and malicious sources'. That's a claim with no technical detail in the docs, plus a `safe_search` flag for adult content, per the 1 October check (7). The Logs API (filter by key and endpoint since August 2026) and `include_usage` give per-call visibility (13). SOC 2 and ISO 27001 named on the privacy page, per the 4 October check, and the MCP repo patches vulnerable dependencies about monthly (seven updates on 26 October). The trust centre is JavaScript-only for us (per the 1 October check, not re-read on 1 November), www.tavily.com/.well-known/security.txt returned 404 on 1 November, and no bug bounty found (10)."
        },
        "scores": {
          "a": 15,
          "b": 52
        }
      },
      {
        "by": 15,
        "category": "ergonomics",
        "leads": "tavily-mcp",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Responses can be sized with `t` (up to 10, 40 or 100 results by plan), `tlen`, `dlen` and opt-in date and size fields (22 of 25). `s` for paging, `since` and `before`, `site`, included and excluded domains, region and language boosting and safe search (20). Errors are a free-text `status` with no documented codes, which an agent can't branch on reliably (5 of 20). Searches only read, so a retry is safe, but no page says whether failed or empty requests are billed (12 of 20). Only `q` and `api_key` are required, with recommended values for the boosts. No official SDK in any language (7 of 15). 22 + 20 + 5 + 12 + 7 = 66.",
          "b": "Five tools in the published tavily-mcp 0.2.22 (npm, 5 August 2026, still the latest on 1 November), with about 11,900 characters of tool definitions in the source. The unreleased 0.2.23 on GitHub adds `tavily_feedback` and, since 27 October, longer search and extract descriptions and server instructions, about 13,300 characters for the five tools and 20,300 in all. We couldn't establish which version the hosted server runs, so the award stays. No tool filter found. Raw content, images and answers are opt-in, which keeps API responses small (18). `max_results`, domain include and exclude lists, `time_range`, start and end dates, country, and crawl depth, breadth and limit (20). 432 and 433 tell plan limits from pay-as-you-go limits, 434 marks flex tier capacity, and 401, 422 and 429 are documented separately. Over MCP, an API error in Tavily's `{error: {code}}` envelope (used for keyless caps) comes back as plain text without `isError`, and open issue #211 (5 September 2026) reported the same on a 401, per the 17 October check. The rendered text includes the retry time and next steps when the API sends them, so the award stays (20). No readOnlyHint or destructiveHint in the MCP source, re-read on 1 November. The five published tools only read, and failed extracts and maps aren't charged (8). Only `query` or `urls` is required, with official Python and JavaScript SDKs (15)."
        },
        "scores": {
          "a": 66,
          "b": 81
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Mojeek Limited",
        "b": "Tavily",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "stdio, Streamable HTTP, HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$2.68 per 1,000 requests",
        "b": "$7.50 per 1,000 requests",
        "name": "Price for web search"
      },
      {
        "a": "no",
        "b": "payer tooling only",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "5",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.tavily-ai/tavily-mcp",
        "name": "MCP registry"
      },
      {
        "a": "none",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-05-04",
        "name": "Terms last updated"
      },
      {
        "a": "2022-02-02",
        "b": "2025-11-24",
        "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": "yes",
        "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": "2.4k stars, 452k npm/wk, 1.6M PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.6/5 (8)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Tavily API + MCP scores 77.1 (BB) on agent readiness against Mojeek Web Search API's 36.4 (F), and leads in 6 of 7 scored categories. Mojeek Web Search API leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Mojeek Web Search API or Tavily API + MCP?"
      },
      {
        "answer": "Mojeek Web Search API, at $2.68 per 1,000 requests against $7.50 per 1,000 requests for Tavily API + MCP. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for web search, Mojeek Web Search API or Tavily API + MCP?"
      },
      {
        "answer": "Mojeek Web Search API needs an API key. Tavily API + MCP takes an API key or an OAuth sign-in.",
        "question": "Do Mojeek Web Search API and Tavily API + MCP need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Mojeek Web Search API. Tavily API + MCP has a hosted endpoint at https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e.",
        "question": "Can an agent call Mojeek Web Search API and Tavily API + MCP without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Mojeek Web Search API. Tavily API + MCP is open source (MIT).",
        "question": "Are Mojeek Web Search API and Tavily API + MCP open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Transparency \u0026 trust, 68 against 62"
        ],
        "also": [
          "Cheaper for web search, $2.68 against $7.50 per 1,000 requests"
        ],
        "goodFor": "Agents and products that want a second, independent index beside Google-derived results, or European data handling with no sub-processors.",
        "slug": "mojeek",
        "watchFor": "The API key is documented only as a URL query parameter, and rotating a key means emailing the API team"
      },
      {
        "aheadOn": [
          "Reliability, 90 against 45",
          "Schema \u0026 documentation, 90 against 29",
          "Agent ergonomics, 81 against 66",
          "Security \u0026 auth, 52 against 15",
          "Payments \u0026 pricing, 75 against 20",
          "Maintenance \u0026 community, 85 against 10"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine",
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "An agent that needs search plus page text in one call and has no account yet.",
        "slug": "tavily-mcp",
        "watchFor": "x402 covers advanced search only, not extract, map, crawl or research"
      }
    ],
    "history": {
      "mojeek": null,
      "tavily-mcp": [
        {
          "causes": [
            "product"
          ],
          "date": "2026-11-01",
          "delta": 0.1,
          "from": 77,
          "fromGrade": "BB",
          "to": 77.1,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 76.8,
          "fromGrade": "BB",
          "to": 77,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.4,
          "from": 77.2,
          "fromGrade": "BB",
          "to": 76.8,
          "toGrade": "BB"
        }
      ]
    },
    "job": {
      "capability": "web.search",
      "name": "Web search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-mojeek.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-tavily-mcp.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-mojeek.json",
        "title": "Arcmira vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-mojeek.json",
        "title": "Grounding with Bing Search vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-tavily-mcp.json",
        "title": "Grounding with Bing Search vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-mojeek.json",
        "title": "Brave Search API + MCP vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-tavily-mcp.json",
        "title": "Brave Search API + MCP vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-mojeek.json",
        "title": "Cloudflare Web Search API vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-tavily-mcp.json",
        "title": "Cloudflare Web Search API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-tavily-mcp"
      },
      {
        "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-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/exa-mcp-vs-mojeek.json",
        "title": "Exa API + MCP vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp.json",
        "title": "Exa API + MCP vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-mojeek.json",
        "title": "Firecrawl MCP vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-tavily-mcp.json",
        "title": "Firecrawl MCP vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-mojeek.json",
        "title": "Grep AI vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-mojeek.json",
        "title": "Kagi Search API vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-tavily-mcp.json",
        "title": "Kagi Search API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-mojeek.json",
        "title": "Linkup vs Mojeek Web Search API",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-mojeek"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-tavily-mcp.json",
        "title": "Linkup vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-newscatcher.json",
        "title": "Mojeek Web Search API vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-parallel-search-api.json",
        "title": "Mojeek Web Search API vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-perplexity-search-api.json",
        "title": "Mojeek Web Search API vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-searchapi-io.json",
        "title": "Mojeek Web Search API vs SearchAPI.io",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-searchapi-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-serpapi.json",
        "title": "Mojeek Web Search API vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-serper.json",
        "title": "Mojeek Web Search API vs Serper",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-serper"
      },
      {
        "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/mojeek-vs-serpkite.json",
        "title": "Mojeek Web Search API vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-specstream.json",
        "title": "Mojeek Web Search API vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-tinyfish-search.json",
        "title": "Mojeek Web Search API vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-valyu.json",
        "title": "Mojeek Web Search API vs Valyu",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mojeek-vs-you-com-api.json",
        "title": "Mojeek Web Search API vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/mojeek-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-tavily-mcp.json",
        "title": "Parallel Search and Task APIs vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp.json",
        "title": "Perplexity Search API vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/searchapi-io-vs-tavily-mcp.json",
        "title": "SearchAPI.io vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/searchapi-io-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/serpapi-vs-tavily-mcp.json",
        "title": "SerpApi vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/serpapi-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/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/serpkite-vs-tavily-mcp.json",
        "title": "SerpKite vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/serpkite-vs-tavily-mcp"
      },
      {
        "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/tavily-mcp-vs-valyu.json",
        "title": "Tavily API + MCP vs Valyu",
        "url": "https://www.anchorterminal.com/compare/tavily-mcp-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tavily-mcp-vs-you-com-api.json",
        "title": "Tavily API + MCP vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/tavily-mcp-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-tavily-mcp.json",
        "title": "Arcmira vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-tavily-mcp.json",
        "title": "Grep AI vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/specstream-vs-tavily-mcp.json",
        "title": "SpecStream vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/specstream-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp.json",
        "title": "Fetch (MCP reference server) vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-tavily-mcp.json",
        "title": "NewsCatcher vs Tavily API + MCP",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-tavily-mcp"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 45,
        "edge": "tavily-mcp",
        "key": "reliability",
        "mojeek": 45,
        "name": "Reliability",
        "tavily-mcp": 90,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 61,
        "edge": "tavily-mcp",
        "key": "schema",
        "mojeek": 29,
        "name": "Schema \u0026 documentation",
        "tavily-mcp": 90,
        "weight": 13
      },
      {
        "by": 15,
        "edge": "tavily-mcp",
        "key": "ergonomics",
        "mojeek": 66,
        "name": "Agent ergonomics",
        "tavily-mcp": 81,
        "weight": 13
      },
      {
        "by": 37,
        "edge": "tavily-mcp",
        "key": "security",
        "mojeek": 15,
        "name": "Security \u0026 auth",
        "tavily-mcp": 52,
        "weight": 14
      },
      {
        "by": 55,
        "edge": "tavily-mcp",
        "key": "payments",
        "mojeek": 20,
        "name": "Payments \u0026 pricing",
        "tavily-mcp": 75,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 75,
        "edge": "tavily-mcp",
        "key": "maintenance",
        "mojeek": 10,
        "name": "Maintenance \u0026 community",
        "tavily-mcp": 85,
        "weight": 7
      },
      {
        "by": 6,
        "edge": "mojeek",
        "key": "transparency",
        "mojeek": 68,
        "name": "Transparency \u0026 trust",
        "tavily-mcp": 62,
        "weight": 7
      }
    ],
    "summary": "Tavily API + MCP scores 77.1 (BB) on agent readiness against Mojeek Web Search API's 36.4 (F), and leads in 6 of 7 scored categories. Mojeek Web Search API leads on transparency \u0026 trust. Both do web search. Mojeek Web Search API is cheaper for web search, $2.68 against $7.50 per 1,000 requests.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "mojeek": "Mojeek sells search over its own independent index at published per-request prices, with region, language, date and domain controls and storage rights on the Business plan. The key travels only in the URL, rotation is by email, a card is needed to start, and there is no OpenAPI, changelog, 429 handling or SLA.",
      "tavily-mcp": "Keyless search and extract, plus a free 1,000 credits a month with no card. x402 covers advanced search only, not extract, map, crawl or research, and the npm MCP release has trailed the GitHub source since August."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp",
    "json": "https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp.min.md"
  },
  "markdown": "Tavily API + MCP scores 77.1 (BB) on agent readiness against Mojeek Web Search API's 36.4 (F), and leads in 6 of 7 scored categories. Mojeek Web Search API leads on transparency \u0026 trust. Both do web search. Mojeek Web Search API is cheaper for web search, $2.68 against $7.50 per 1,000 requests.\n\n- Mojeek Web Search API: grade F, 36.4/100, rank #1365 of 1486. Markdown https://www.anchorterminal.com/tools/mojeek.md · JSON https://www.anchorterminal.com/api/v1/tools/mojeek.json\n- Tavily API + MCP: grade BB, 77.1/100, rank #36 of 1486. Markdown https://www.anchorterminal.com/tools/tavily-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/tavily-mcp.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### Mojeek Web Search API (F)\n\nGood for: Agents and products that want a second, independent index beside Google-derived results, or European data handling with no sub-processors.\n\nAhead on:\n- Transparency \u0026 trust, 68 against 62\n\nAlso in its favour:\n- Cheaper for web search, $2.68 against $7.50 per 1,000 requests\n\nWatch for: The API key is documented only as a URL query parameter, and rotating a key means emailing the API team\n\n### Tavily API + MCP (BB)\n\nGood for: An agent that needs search plus page text in one call and has no account yet.\n\nAhead on:\n- Reliability, 90 against 45\n- Schema \u0026 documentation, 90 against 29\n- Agent ergonomics, 81 against 66\n- Security \u0026 auth, 52 against 15\n- Payments \u0026 pricing, 75 against 20\n- Maintenance \u0026 community, 85 against 10\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n- Free to start without a card\n- Open source\n\nWatch for: x402 covers advanced search only, not extract, map, crawl or research\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Tavily API + MCP +75\n\n- Mojeek Web Search API (10): Read for a closed service. No API changelog, release notes or dated API change were found, and the blog's posts since 2024 are about search in general, so the last change can't be dated (0). No dated changes in the 90 days from 8 August (0). A staff member answered API questions on the community forum within a day in December 2025 and October 2026, and support is by email; no public changelog (10 of 15). No official SDKs or MCP server (0). No public packages or CI to measure (0). 0 + 0 + 10 + 0 + 0 = 10.\n- Tavily API + MCP (85): @tavily/core 0.7.14 on npm, published on 6 October 2026, and tavily-python bumped to 0.8.5 in the repository the same day (PyPI's pages and release feed returned nothing to us on 1 November, so its publication there is unchecked). No newer SDK release by 1 November, so this line drops to 20 after 5 November unless one lands (30). The tavily-mcp npm release is older, 0.2.22 on 5 August 2026. Version 0.2.23 was committed on 16 September and still isn't on npm on 1 November, though the MCP repository had dependency bumps on 15 and 26 October and new descriptions on 27 October. Eight @tavily/core releases on npm since 5 August, tavily-python version bumps in its repository, tavily-mcp 0.2.22, and August and October changelog entries in the last 90 days (20). Maintainers merge pull requests and dependency fixes within days. Ten issues were open on tavily-mcp on 4 October, the oldest from 14 July 2026, including OAuth failures (#203, #220), empty extracts on single-page sites (#204) and a missing `isError` on a 401 (#211), per the 4 October check, not re-read on 1 November (GitHub answered 403) (15). Listed in the official MCP registry as io.github.tavily-ai/tavily-mcp, though the entry is still at 0.2.15 from 26 January 2026 on 1 November (15). The MCP repo has no CI workflows and no git tags, though it has a test file and regular security bumps. tavily-python runs tests in CI (5).\n\n### Schema \u0026 documentation: Tavily API + MCP +61\n\n- Mojeek Web Search API (29): No OpenAPI or other machine-readable contract (0). No llms.txt (404) and no Markdown pages for agents (0). The parameters page states what each parameter does, with notes on when not to use `reg` and `clufmt`, but nothing on when another endpoint fits better (12 of 20). Every parameter has a type, defaults and valid ranges (tlen 0 to 127, dlen 0 to 511, rbb and lbb 1 to 100, up to 25 domains), though `reg` is called an enum without listing its values (11 of 15). One curl example and annotated JSON and XML response formats; errors appear only as a `status` string with one example (6 of 15). No API version, changelog or dated release notes, and the quickstart and the parameters page give different hosts (0). 0 + 0 + 12 + 11 + 6 + 0 = 29.\n- Tavily API + MCP (90): Public OpenAPI at docs.tavily.com, and typed JSON Schema on every MCP tool (25). llms.txt with Markdown pages and a 'Start here for agents' section, re-read on 1 November (10). Tool descriptions say what each does and when to reach for it, such as search for facts past the model's cutoff, but the npm release doesn't say when not to. A commit of 27 October on the GitHub main branch adds some, such as using the `news` topic only when the user asks for news and leaving the extract `query` empty for tables, but it isn't released on npm, so the award stays (14). Enums for `search_depth`, `topic`, `time_range` and `include_domains_mode`, ranges for `max_results` (0 to 20 on the API, 5 to 20 in the MCP), `chunks_per_source` (1 to 3) and `max_age_hours` (-1 to 720), and caps of 300 included and 150 excluded domains. The feedback tool on the GitHub main branch, not in the npm release, takes free-form `value` fields (13). Error table with examples for 400, 401, 422, 429, 432, 433, 434 and 500, re-read on 1 November (15). Versioned SDKs and a monthly changelog, which on 1 November has an October 2026 section documenting `max_age_hours` (accepted values and the 434 flex tier) and Tavily CLI plain output, and the search API reference now documents `max_age_hours`. `fetch_timeout` appears only in the 434 example message and `cache_fallback` nowhere in the reference or changelog, and the API path isn't versioned (13).\n\n### Payments \u0026 pricing: Tavily API + MCP +55\n\n- Mojeek Web Search API (20): No x402, MPP or L402 (0). Per-request prices published without login, £2 and £3 per 1,000 requests (20). The FAQ says a free credit comes with the Startup plan, but a bank card is required to open an account (0). A person signs up in a browser and adds a card (0). 0 + 20 + 0 + 0 = 20.\n- Tavily API + MCP (75): Official x402 at x402.tavily.com sells advanced search only, $0.01 in USDC on Base. An unpaid POST to /search returned 402 on 1 November with an x402 version 2 envelope offering the `exact` scheme on eip155:8453 for 10000 units (0.01 USDC), and a second `agent-pay` option on aws:base for 0.016, described as advanced mode. Extract, map, crawl and research aren't sold over x402 (15). Credit costs per endpoint and $0.008 a credit pay as you go, published without a login and unchanged on 1 November (20). 1,000 free credits a month, no card, re-read on 1 November (20). Keyless search and extract with the `X-Tavily-Access-Mode: keyless` header, plus the x402 route, so an agent needs no human signup (20).\n\n### Reliability: Tavily API + MCP +45\n\n- Mojeek Web Search API (45): Read with the hosted lines. status.mojeek.com is a Site24x7 StatusIQ page with Search, Website, Blog and Community components. It is drawn by script, so only its RSS feed could be read, which shows each component's current state (Search operational since 7 September 2026) and no incident entries (15 of 20). No readable incident history (5). Rate limits are published per plan, 5 a second and 100,000 a day on Startup, 10 a second and 400,000 a day on Business (15). Over the daily limit the JSON `status` reads 'ERROR: Daily Limit Reached'; no HTTP 429, Retry-After or backoff guidance was found (0). No SLA, and the API terms say the service is provided as is and may be interrupted without notice (0). Generally available, with only the `lr` parameter marked beta (10). 15 + 5 + 15 + 0 + 0 + 10 = 45.\n- Tavily API + MCP (90): incident.io status page at status.tavily.com with separate API, MCP and website components (20). One incident in the 90 days from 3 August, website degraded performance on 17 September 2026, and none since per the status feed re-read on 1 November. The API and MCP showed 100% per the 1 October check (30). Published limits, re-read on 1 November, 100 requests a minute on development keys and 1,000 on production, crawl 100 and research 20 task creations on both (15). 429 carries `Retry-After` and the docs say to use that value and the status code rather than parse the message. Since October a 434 tells non-paying plans that live fetching with `max_age_hours` is refused under load, with the advice to retry or omit it (15). The pricing page lists 'Enterprise-grade support and SLAs' for the custom Enterprise plan but publishes no SLA terms, per the 17 October check, and none were found in the docs index or terms (0). GA (10).\n\n### Security \u0026 auth: Tavily API + MCP +37\n\n- Mojeek Web Search API (15): One key per account, documented only as the `api_key` query parameter, and rotation or revocation is by email to the API team (a staff reply of 22 October 2026 on the community forum asks for the key's last 8 digits). One all-powerful key (10) less 10 for the key in the URL (0). Search is read-only and there is nothing to write, but no scoped or restricted key (10 of 20). Results are third-party titles and snippets, with no prompt-injection guidance found (0). No audit log or per-call usage view was found in the docs; the FAQ mentions budget alerts on the account (0 of 15). security.txt names security@mojeek.com, with no Expires field. No bug bounty, disclosure policy, SOC 2 or ISO 27001 found; the API page claims compliance with European rules such as the EU Data Act without a certification (5 of 20). 0 + 10 + 0 + 0 + 5 = 15.\n- Tavily API + MCP (52): Revocable keys, separate development and production keys, and the Logs API filters by key, so several keys per account work. The hosted MCP adds OAuth but maps it to one dashboard key with no scopes (22). The MCP README and docs still lead with `?tavilyApiKey=` in the URL on 1 November (minus 10). The five tools in the npm release all read. The GitHub main branch adds `tavily_feedback`, which posts scores to Tavily, the hosted server's tool list is unknown, and there's no read-only toolset (10). The home page says requests pass through 'security, privacy, and content validation layers that block PII leakage, prompt injection, and malicious sources'. That's a claim with no technical detail in the docs, plus a `safe_search` flag for adult content, per the 1 October check (7). The Logs API (filter by key and endpoint since August 2026) and `include_usage` give per-call visibility (13). SOC 2 and ISO 27001 named on the privacy page, per the 4 October check, and the MCP repo patches vulnerable dependencies about monthly (seven updates on 26 October). The trust centre is JavaScript-only for us (per the 1 October check, not re-read on 1 November), www.tavily.com/.well-known/security.txt returned 404 on 1 November, and no bug bounty found (10).\n\n### Agent ergonomics: Tavily API + MCP +15\n\n- Mojeek Web Search API (66): Responses can be sized with `t` (up to 10, 40 or 100 results by plan), `tlen`, `dlen` and opt-in date and size fields (22 of 25). `s` for paging, `since` and `before`, `site`, included and excluded domains, region and language boosting and safe search (20). Errors are a free-text `status` with no documented codes, which an agent can't branch on reliably (5 of 20). Searches only read, so a retry is safe, but no page says whether failed or empty requests are billed (12 of 20). Only `q` and `api_key` are required, with recommended values for the boosts. No official SDK in any language (7 of 15). 22 + 20 + 5 + 12 + 7 = 66.\n- Tavily API + MCP (81): Five tools in the published tavily-mcp 0.2.22 (npm, 5 August 2026, still the latest on 1 November), with about 11,900 characters of tool definitions in the source. The unreleased 0.2.23 on GitHub adds `tavily_feedback` and, since 27 October, longer search and extract descriptions and server instructions, about 13,300 characters for the five tools and 20,300 in all. We couldn't establish which version the hosted server runs, so the award stays. No tool filter found. Raw content, images and answers are opt-in, which keeps API responses small (18). `max_results`, domain include and exclude lists, `time_range`, start and end dates, country, and crawl depth, breadth and limit (20). 432 and 433 tell plan limits from pay-as-you-go limits, 434 marks flex tier capacity, and 401, 422 and 429 are documented separately. Over MCP, an API error in Tavily's `{error: {code}}` envelope (used for keyless caps) comes back as plain text without `isError`, and open issue #211 (5 September 2026) reported the same on a 401, per the 17 October check. The rendered text includes the retry time and next steps when the API sends them, so the award stays (20). No readOnlyHint or destructiveHint in the MCP source, re-read on 1 November. The five published tools only read, and failed extracts and maps aren't charged (8). Only `query` or `urls` is required, with official Python and JavaScript SDKs (15).\n\n## Score by category\n\n| Category | Weight | Mojeek Web Search API | Tavily API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 90 | Tavily API + MCP +45 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 29 | 90 | Tavily API + MCP +61 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 81 | Tavily API + MCP +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 15 | 52 | Tavily API + MCP +37 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 75 | Tavily API + MCP +55 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 10 | 85 | Tavily API + MCP +75 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 62 | Mojeek Web Search API +6 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **36.4 · F** | **77.1 · BB** | |\n\n## Facts side by side\n\n| Fact | Mojeek Web Search API | Tavily API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Mojeek Limited | Tavily |\n| Hosted endpoint | no (local only) | `https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e` |\n| Transports |  | stdio, Streamable HTTP, HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Freemium |\n| Price for web search | $2.68 per 1,000 requests | $7.50 per 1,000 requests |\n| x402 | no | payer tooling only |\n| Licence | none | MIT |\n| Tools exposed | 0 | 5 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `io.github.tavily-ai/tavily-mcp` |\n| Last release | none | 2026-10-06 |\n| Terms last updated | no date given | 2026-05-04 |\n| Privacy policy last updated | 2022-02-02 | 2025-11-24 |\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 | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | none | 2.4k stars, 452k npm/wk, 1.6M PyPI/wk |\n| Agent reviews | none | 3.6/5 (8) |\n\n## How the scores have moved\n\n### Mojeek Web Search API\n\nNo score change since it was listed.\n\n### Tavily API + MCP\n\n- +0.1 on 1 November 2026: product\n- +0.2 on 27 October 2026: checklist\n- -0.4 on 8 October 2026: checklist\n\n## Verdicts\n\n**Mojeek Web Search API.** Mojeek sells search over its own independent index at published per-request prices, with region, language, date and domain controls and storage rights on the Business plan. The key travels only in the URL, rotation is by email, a card is needed to start, and there is no OpenAPI, changelog, 429 handling or SLA.\n\n**Tavily API + MCP.** Keyless search and extract, plus a free 1,000 credits a month with no card. x402 covers advanced search only, not extract, map, crawl or research, and the npm MCP release has trailed the GitHub source since August.\n\n## Before you call either\n\n### Mojeek Web Search API\n\n1. Send `fmt=json`, since the default response is XML\n2. Read `response.status` on every call; a daily limit shows as 'ERROR: Daily Limit Reached' rather than an HTTP error\n3. Set `lb`, `lbb`, `rb` and `rbb` as the quickstart recommends, or results lean to no language or region\n4. Keep the key out of logs and shared URLs, since it travels in the query string\n5. On the Startup plan, don't keep results for more than an hour\n\n### Tavily API + MCP\n\n1. Try `X-Tavily-Access-Mode: keyless` first for search and extract. Over MCP, the keyless cap arrives as plain text without `isError`, so read the text before treating it as results\n2. Send the key in `Authorization: Bearer`, not `?tavilyApiKey=` in the MCP URL\n3. On 429, wait for `Retry-After`. A 432 or 433 means a spend limit, and retrying won't help. A 434 on a free plan means retry shortly or drop `max_age_hours`\n4. Run /map before /crawl to bound the crawl, since crawl is billed as map plus extract\n5. Research is async and runs 4 to 250 credits. Create the task, then poll /research/{request_id}\n\n## Questions\n\n### Which is better for AI agents, Mojeek Web Search API or Tavily API + MCP?\n\nTavily API + MCP scores 77.1 (BB) on agent readiness against Mojeek Web Search API's 36.4 (F), and leads in 6 of 7 scored categories. Mojeek Web Search API leads on transparency \u0026 trust.\n\n### Which is cheaper for web search, Mojeek Web Search API or Tavily API + MCP?\n\nMojeek Web Search API, at $2.68 per 1,000 requests against $7.50 per 1,000 requests for Tavily API + MCP. These are the vendors' published prices for the job.\n\n### Do Mojeek Web Search API and Tavily API + MCP need an API key?\n\nMojeek Web Search API needs an API key. Tavily API + MCP takes an API key or an OAuth sign-in.\n\n### Can an agent call Mojeek Web Search API and Tavily API + MCP without installing anything?\n\nNo hosted endpoint is listed for Mojeek Web Search API. Tavily API + MCP has a hosted endpoint at https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e.\n\n### Are Mojeek Web Search API and Tavily API + MCP open source?\n\nNo open-source release is listed for Mojeek Web Search API. Tavily API + MCP is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"mojeek\", \"b\": \"tavily-mcp\"}`. From a terminal: `anchor compare mojeek tavily-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/mojeek.json and https://www.anchorterminal.com/api/v1/tools/tavily-mcp.json\n\n## Other comparisons with Mojeek Web Search API or Tavily API + MCP\n\n- [Web Search Tool on Amazon Bedrock AgentCore vs Mojeek Web Search API](https://www.anchorterminal.com/compare/agentcore-web-search-vs-mojeek.md)\n- [Web Search Tool on Amazon Bedrock AgentCore vs Tavily API + MCP](https://www.anchorterminal.com/compare/agentcore-web-search-vs-tavily-mcp.md)\n- [Arcmira vs Mojeek Web Search API](https://www.anchorterminal.com/compare/arcmira-vs-mojeek.md)\n- [Grounding with Bing Search vs Mojeek Web Search API](https://www.anchorterminal.com/compare/bing-grounding-vs-mojeek.md)\n- [Grounding with Bing Search vs Tavily API + MCP](https://www.anchorterminal.com/compare/bing-grounding-vs-tavily-mcp.md)\n- [Brave Search API + MCP vs Mojeek Web Search API](https://www.anchorterminal.com/compare/brave-search-mcp-vs-mojeek.md)\n- [Brave Search API + MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/brave-search-mcp-vs-tavily-mcp.md)\n- [Cloudflare Web Search API vs Mojeek Web Search API](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-mojeek.md)\n- [Cloudflare Web Search API vs Tavily API + MCP](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-tavily-mcp.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 Tavily API + MCP](https://www.anchorterminal.com/compare/deepseek-search-api-vs-tavily-mcp.md)\n- [Exa API + MCP vs Mojeek Web Search API](https://www.anchorterminal.com/compare/exa-mcp-vs-mojeek.md)\n- [Exa API + MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp.md)\n- [Firecrawl MCP vs Mojeek Web Search API](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-mojeek.md)\n- [Firecrawl MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-tavily-mcp.md)\n- [Grep AI vs Mojeek Web Search API](https://www.anchorterminal.com/compare/grep-ai-vs-mojeek.md)\n- [Kagi Search API vs Mojeek Web Search API](https://www.anchorterminal.com/compare/kagi-search-vs-mojeek.md)\n- [Kagi Search API vs Tavily API + MCP](https://www.anchorterminal.com/compare/kagi-search-vs-tavily-mcp.md)\n- [Linkup vs Mojeek Web Search API](https://www.anchorterminal.com/compare/linkup-vs-mojeek.md)\n- [Linkup vs Tavily API + MCP](https://www.anchorterminal.com/compare/linkup-vs-tavily-mcp.md)\n- [Mojeek Web Search API vs NewsCatcher](https://www.anchorterminal.com/compare/mojeek-vs-newscatcher.md)\n- [Mojeek Web Search API vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/mojeek-vs-parallel-search-api.md)\n- [Mojeek Web Search API vs Perplexity Search API](https://www.anchorterminal.com/compare/mojeek-vs-perplexity-search-api.md)\n- [Mojeek Web Search API vs SearchAPI.io](https://www.anchorterminal.com/compare/mojeek-vs-searchapi-io.md)\n- [Mojeek Web Search API vs SerpApi](https://www.anchorterminal.com/compare/mojeek-vs-serpapi.md)\n- [Mojeek Web Search API vs Serper](https://www.anchorterminal.com/compare/mojeek-vs-serper.md)\n- [Mojeek Web Search API vs SERPHouse](https://www.anchorterminal.com/compare/mojeek-vs-serphouse.md)\n- [Mojeek Web Search API vs SerpKite](https://www.anchorterminal.com/compare/mojeek-vs-serpkite.md)\n- [Mojeek Web Search API vs SpecStream](https://www.anchorterminal.com/compare/mojeek-vs-specstream.md)\n- [Mojeek Web Search API vs TinyFish Search](https://www.anchorterminal.com/compare/mojeek-vs-tinyfish-search.md)\n- [Mojeek Web Search API vs Valyu](https://www.anchorterminal.com/compare/mojeek-vs-valyu.md)\n- [Mojeek Web Search API vs You.com APIs](https://www.anchorterminal.com/compare/mojeek-vs-you-com-api.md)\n- [Parallel Search and Task APIs vs Tavily API + MCP](https://www.anchorterminal.com/compare/parallel-search-api-vs-tavily-mcp.md)\n- [Perplexity Search API vs Tavily API + MCP](https://www.anchorterminal.com/compare/perplexity-search-api-vs-tavily-mcp.md)\n- [SearchAPI.io vs Tavily API + MCP](https://www.anchorterminal.com/compare/searchapi-io-vs-tavily-mcp.md)\n- [SerpApi vs Tavily API + MCP](https://www.anchorterminal.com/compare/serpapi-vs-tavily-mcp.md)\n- [Serper vs Tavily API + MCP](https://www.anchorterminal.com/compare/serper-vs-tavily-mcp.md)\n- [SERPHouse vs Tavily API + MCP](https://www.anchorterminal.com/compare/serphouse-vs-tavily-mcp.md)\n- [SerpKite vs Tavily API + MCP](https://www.anchorterminal.com/compare/serpkite-vs-tavily-mcp.md)\n- [Tavily API + MCP vs TinyFish Search](https://www.anchorterminal.com/compare/tavily-mcp-vs-tinyfish-search.md)\n- [Tavily API + MCP vs Valyu](https://www.anchorterminal.com/compare/tavily-mcp-vs-valyu.md)\n- [Tavily API + MCP vs You.com APIs](https://www.anchorterminal.com/compare/tavily-mcp-vs-you-com-api.md)\n- [Arcmira vs Tavily API + MCP](https://www.anchorterminal.com/compare/arcmira-vs-tavily-mcp.md)\n- [Grep AI vs Tavily API + MCP](https://www.anchorterminal.com/compare/grep-ai-vs-tavily-mcp.md)\n- [SpecStream vs Tavily API + MCP](https://www.anchorterminal.com/compare/specstream-vs-tavily-mcp.md)\n- [Fetch (MCP reference server) vs Tavily API + MCP](https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp.md)\n- [NewsCatcher vs Tavily API + MCP](https://www.anchorterminal.com/compare/newscatcher-vs-tavily-mcp.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Mojeek Web Search API vs Tavily API + MCP",
        "url": ""
      }
    ],
    "description": "Tavily scores 77.1 (BB) to Mojeek Web Search's 36.4 (F) for web search. Mojeek Web Search is cheaper for web search, $2.68 against $7.50 per 1,000 requests. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Mojeek Web Search API F 36.4",
      "Tavily API + MCP BB 77.1",
      "scores"
    ],
    "h1": "Mojeek Web Search API vs Tavily API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/mojeek-vs-tavily-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Mojeek Web Search vs Tavily for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/mojeek-vs-tavily-mcp"
  },
  "tokens": {
    "markdown": 6300,
    "slim": 3680
  },
  "version": 1
}
