{
  "data": {
    "a": {
      "slug": "newscatcher",
      "name": "NewsCatcher",
      "vendor": "NewsCatcher, Inc.",
      "vendorUrl": "https://www.newscatcherapi.com",
      "kind": "http-api",
      "category": "search",
      "summary": "NewsCatcher's API searches the last 30 days of news in every language, grouped into stories, and runs a background agent that builds tables of events or company news, through REST and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/newscatcher",
      "markdownUrl": "https://www.anchorterminal.com/tools/newscatcher.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/newscatcher.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/newscatcher.json",
      "dns": "newscatcher.grade.anchorterminal.com",
      "repo": "https://github.com/Newscatcher/newscatcher-mcp",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.newscatcherapi.com/mcp",
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key from the NewsCatcher platform after a browser signup, sent in the `x-api-key` header. One key works for the News API and the agent; several keys can be made and revoked in the platform. The MCP server also accepts `Authorization: Bearer` or `?apiKey=` in the URL; OAuth is announced as coming soon. No scopes found.",
      "pricing": "usage",
      "pricingNotes": "Prepaid credits at $1 per 1,000 (top-ups from $25, valid 12 months). Search costs 1, 5 or 10 credits by effort, a story 1, `/articles` 5 per call. Agent runs 1,000 to 6,000 credits. 10,000 free credits every 30 days. Failed and refused requests aren't charged.",
      "priceSummary": "$1 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the docs, the pricing page or the OpenAPI specs (checked 2026-11-06). An empty balance returns 402 with no payment requirements; top-ups go through the platform.",
        "endpoints": []
      },
      "toolCount": 15,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://www.newscatcherapi.com/docs/get-started/overview",
      "llmsTxt": "https://www.newscatcherapi.com/docs/llms.txt",
      "openapi": "https://github.com/NewscatcherAPI/docs/blob/main/api-reference/news-api/openapi.json",
      "capabilities": [
        "search.news",
        "search.research",
        "web.search"
      ],
      "tags": [
        "hosted",
        "usage",
        "prepaid",
        "free-tier",
        "mcp",
        "remote-mcp",
        "openapi",
        "llms-txt",
        "status-page",
        "yc"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.5,
        "grade": "B",
        "agentReady": false,
        "rank": 321,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 76,
          "payments": 30,
          "reliability": 67,
          "schema": 94,
          "security": 45,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "One key and one credit balance cover a ranked news search, a background research agent and a hosted MCP server with toolsets and annotated tools, under OpenAPI 3.1 specs and a dated changelog. The current API launched on 30 October 2026, the MCP server accepts the key in its URL, and no SLA is published below Enterprise.",
        "bestFor": "Agents that need current news across languages, grouped into stories, or tables of events and company news on a schedule.",
        "strengths": [
          "OpenAPI 3.1 specs for the News API and the agent, llms.txt, Markdown pages and a docs MCP server",
          "Hosted MCP server with 15 tools in four toolsets, selectable with `?tools=`, and read-only, destructive and idempotent hints on every tool",
          "Documented errors with retry advice per status, 429 with Retry-After, and refused or failed requests never charged",
          "Published credit prices, $1 per 1,000 credits, and 10,000 free credits every 30 days",
          "Terms say inputs and generated data are never used to train models, with a dated sub-processor list"
        ],
        "weaknesses": [
          "The current News API and agent launched on 30 October 2026 and the MCP repository went public on 6 November 2026",
          "The MCP server documents `?apiKey=` in the URL for clients without headers, and keys have no scopes found",
          "No SLA below a signed Enterprise agreement; the status page monitors one News API component",
          "API logs, which can include query text, are archived indefinitely after 90 days",
          "The pricing page and the docs disagree on whether empty agent runs are charged and on the price of `/articles`"
        ],
        "agentNotes": [
          "Send the key in the `x-api-key` header, and use a separate key for the MCP server so it can be revoked alone",
          "Call `start_research` with `dry_run` first, since agent runs cost 1,000 to 6,000 credits",
          "Use `effort=low` for quick lookups; the default `medium` costs five times as much",
          "Use `/articles` or `list_articles` for news older than 30 days or exact counts; `/search` covers 30 days only",
          "On 429 or 503 wait for Retry-After, and quote the Correlation-ID header to support"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.5
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 76,
          "payments": 30,
          "reliability": 67,
          "schema": 94,
          "security": 45,
          "transparency": 73
        },
        "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 -X POST \"https://api.newscatcherapi.com/news-api/search\" \\\n  -H \"x-api-key: $NEWSCATCHER_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"q\": \"hurricane recovery florida\", \"limit\": 5}'",
        "claudeCode": "claude mcp add --transport http newscatcher https://mcp.newscatcherapi.com/mcp --header \"x-api-key: YOUR_API_KEY\"",
        "config": {
          "mcpServers": {
            "newscatcher": {
              "headers": {
                "x-api-key": "YOUR_API_KEY"
              },
              "url": "https://mcp.newscatcherapi.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/search.news",
        "tool": "https://letme.dev/newscatcher"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "News search, low effort",
          "unit": "1k-requests",
          "usd": 1,
          "note": "1 credit a search at $1 per 1,000 credits"
        },
        {
          "item": "News search, medium effort (default)",
          "unit": "1k-requests",
          "usd": 5,
          "note": "5 credits"
        },
        {
          "item": "News search, high effort",
          "unit": "1k-requests",
          "usd": 10,
          "note": "10 credits"
        },
        {
          "item": "Articles listing",
          "unit": "1k-requests",
          "usd": 5,
          "note": "5 credits a call per the docs; the pricing page says 15 a page"
        },
        {
          "item": "Agent event research, fast run",
          "unit": "tx",
          "usd": 1,
          "note": "1,000 credits, 50 rows included; standard $3, max $6"
        },
        {
          "item": "Credit",
          "unit": "credit",
          "usd": 0.001,
          "note": "Top-ups from $25 for 25,000 credits, valid 12 months"
        }
      ],
      "provenance": {
        "legalEntity": "NewsCatcher, Inc.",
        "domain": "newscatcherapi.com",
        "domainRegistered": "2020-02-16",
        "endpointOnVendorDomain": true,
        "terms": "https://www.newscatcherapi.com/company/legal/terms-and-conditions",
        "privacy": "https://www.newscatcherapi.com/company/legal/privacy-policy",
        "statusPage": "https://status.newscatcherapi.com/",
        "changelog": "https://www.newscatcherapi.com/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The service terms (Terms and Conditions) and the website Terms of Service are both dated 2 November 2026 and name NewsCatcher, Inc. under Delaware law.",
          "The website Terms of Service forbid using the site or its content 'to spam, phish, pharm, pretext, spider, crawl, or scrape'. Recorded as a fact; only public pages were read, within robots.txt.",
          "www.newscatcherapi.com/robots.txt disallows /~gitbook, /*?ref= and /api/ for all agents; none of the pages read is under those paths. status.newscatcherapi.com allows all.",
          "/.well-known/security.txt answers 404. The MCP repository's SECURITY.md takes private reports through GitHub with a 3-business-day acknowledgement target.",
          "Status page on Hyperping with one News API component, 99.820% uptime for August to November 2026 and one incident in the 90 days, on 1 September 2026.",
          "RDAP gives newscatcherapi.com a registration date of 16 February 2020."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/newscatcher.json",
      "live": {
        "slug": "newscatcher",
        "probe": {
          "target": "https://mcp.newscatcherapi.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:41.854849144Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 305,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 167,
          "p95ms24h": 346,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.newscatcherapi.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:15.638845153Z"
        },
        "githubStars": 0,
        "securityTxt": {
          "url": "https://newscatcherapi.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:58.85886795Z"
        },
        "llmsTxt": {
          "url": "https://www.newscatcherapi.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:19.853404264Z"
        },
        "pages": [
          {
            "url": "https://www.newscatcherapi.com/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:32:00.60078463Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "849b66383503"
          },
          {
            "url": "https://www.newscatcherapi.com/company/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:56.385466242Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "818e0cf9f82d"
          },
          {
            "url": "https://www.newscatcherapi.com/company/legal/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:58.548719689Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "79f84eff4353"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.newscatcherapi.com/mcp",
          "checkedAt": "2026-11-07T01:46:25.078047109Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:46:25.078047109Z"
        },
        "updatedAt": "2026-11-07T18:20:41.854849144Z"
      }
    },
    "answer": "Parallel Search and Task APIs scores 75 (BB) on agent readiness against NewsCatcher's 67.5 (B), and leads in 4 of 7 scored categories. NewsCatcher leads on transparency \u0026 trust.",
    "b": {
      "slug": "parallel-search-api",
      "name": "Parallel Search and Task APIs",
      "vendor": "Parallel Web Systems",
      "vendorUrl": "https://parallel.ai",
      "kind": "http-api",
      "category": "search",
      "summary": "Parallel's web APIs for agents, covering search, page extraction, asynchronous research tasks, closed-ended decisions answered from current web evidence and an OpenAI-compatible Responses endpoint, with hosted Search and Task MCP servers.",
      "url": "https://www.anchorterminal.com/tools/parallel-search-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/parallel-search-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/parallel-search-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/parallel-search-api.json",
      "dns": "parallel-search-api.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.parallel.ai/v1/search",
      "packages": [
        {
          "registry": "npm",
          "name": "parallel-web"
        },
        {
          "registry": "pypi",
          "name": "parallel-web"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key in the `x-api-key` header. The Search MCP at search.parallel.ai/mcp works anonymously at lower limits, takes a Bearer key, and /mcp-oauth adds OAuth. An OAuth provider can issue keys on behalf of your users.",
      "pricing": "freemium",
      "pricingNotes": "Up to 5,000 free requests a month, with $5 of free credit monthly and up to $80 at signup. Search $1 per 1,000 requests in turbo or fast, $5 in basic or advanced, 10 results included and $1 per 1,000 extra results. Image Search $1 (fast) or $5 (advanced) per 1,000, up to 20 results. Extract $1 per 1,000 URLs. Task $5 (lite) to $2,400 (ultra8x) per 1,000 successful runs. Responses $10 to $250 per 1,000 by reasoning effort. Decisions $1 per 1,000 requests, up to 100 questions a request. Failed runs aren't billed (https://parallel.ai/pricing).",
      "priceSummary": "$1 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "partial",
        "evidence": "Not on api.parallel.ai. A separate gateway at parallelmpp.dev takes x402 (USDC on Base) and MPP (Stripe or Tempo) for search and extract at $0.01 and an ultra task at $0.30. An unauthenticated POST to /api/search returned 402 with an x402 v2 challenge for 10000 base units on eip155:8453 (checked 2026-09-30) (https://docs.parallel.ai/integrations/agentic-payments).",
        "endpoints": [
          {
            "url": "https://parallelmpp.dev/api/search",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          },
          {
            "url": "https://parallelmpp.dev/api/extract",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          },
          {
            "url": "https://parallelmpp.dev/api/task",
            "priceUsd": 0.3,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": 28,
        "npmWeekly": 249803,
        "pypiWeekly": 994376,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.parallel.ai",
      "llmsTxt": "https://docs.parallel.ai/llms.txt",
      "openapi": "https://docs.parallel.ai/public-openapi.json",
      "registryName": "ai.parallel/search-mcp",
      "capabilities": [
        "web.search",
        "web.fetch",
        "web.extract",
        "search.answer",
        "search.research"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "llms-txt",
        "openapi",
        "x402",
        "python",
        "typescript",
        "async-jobs",
        "webhooks"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75,
        "grade": "BB",
        "agentReady": true,
        "rank": 73,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 87,
          "maintenance": 87,
          "payments": 75,
          "reliability": 75,
          "schema": 94,
          "security": 45,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "Fast-mode search at $1 per 1,000 with 10 excerpted results, and a keyless two-tool Search MCP annotated read-only. Search defaults to advanced mode at $5 per 1,000 when `mode` is left out, and the Customer Terms allow training on inputs and outputs.",
        "bestFor": "Agents that mix quick search with long research or enrichment jobs and want one vendor and one bill.",
        "strengths": [
          "Fast-mode search at $1 per 1,000 with 10 excerpted results, and Extract at $1 per 1,000 URLs",
          "Task runs billed only on success, and documented limits of 600 searches and 2,000 task creations a minute",
          "Keyless hosted MCP servers whose search, fetch and decision tools are annotated read-only, plus Bearer and OAuth sign-in",
          "Public OpenAPI, llms.txt and an errors table that says which codes to retry and how",
          "SDK releases several times a month, with CI and a breaking-change check on the Python SDK, and a dated changelog with entries on 19 and 26 October 2026"
        ],
        "weaknesses": [
          "Search defaults to advanced mode at $5 per 1,000 when `mode` is left out",
          "SDKs retry Task creation on 429 and 5xx with no idempotency key",
          "x402 and MPP only through parallelmpp.dev at a flat $0.01, not on api.parallel.ai",
          "Customer Terms let Parallel train on inputs and outputs, and no retention period is stated outside the EU endpoint",
          "No prompt-injection guidance, no security.txt and no public subprocessor list"
        ],
        "agentNotes": [
          "Pass `mode: \"fast\"` on every API search. Without it you pay the advanced rate. On an authenticated MCP connection, pin it with `?mode=fast`",
          "Create Task runs with `max_retries=0` and check for an existing run before retrying",
          "Give an `objective` plus two or three short `search_queries`. That's what ranks the excerpts",
          "On 402, check available balance rather than total. Running tasks reserve credit",
          "Ask for zero data retention or use the EU endpoint before sending private queries. The default terms allow training on them",
          "On Decisions, check each answer's `type` before reading it. A refusal is a 200, not an error, and a predicate is a probability you threshold yourself"
        ],
        "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": 75
          }
        ],
        "editorialScores": {
          "ergonomics": 87,
          "maintenance": 87,
          "payments": 75,
          "reliability": 75,
          "schema": 94,
          "security": 45,
          "transparency": 45
        },
        "provenanceScore": 85,
        "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-10-30",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.parallel.ai/v1/search -H \"x-api-key: $PARALLEL_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"mode\":\"fast\",\"objective\":\"Latest Parallel Web Systems announcements\",\"search_queries\":[\"Parallel Web Systems news\"]}'",
        "claudeCode": "claude mcp add --transport http parallel-search https://search.parallel.ai/mcp",
        "config": {
          "mcpServers": {
            "parallel-search": {
              "headers": {
                "Authorization": "Bearer ${PARALLEL_API_KEY}"
              },
              "url": "https://search.parallel.ai/mcp"
            }
          }
        },
        "x402": "curl -i -X POST https://parallelmpp.dev/api/search -H 'content-type: application/json' -d '{\"query\":\"test\"}'\n# 402 -\u003e pay $0.01 USDC on eip155:8453 (or MPP via Stripe/Tempo) -\u003e resend"
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/parallel-search-api"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Search, turbo or fast",
          "unit": "1k-requests",
          "usd": 1,
          "note": "10 results included"
        },
        {
          "item": "Search, basic or advanced",
          "unit": "1k-requests",
          "usd": 5,
          "note": "advanced is the default mode"
        },
        {
          "item": "Extract",
          "unit": "1k-pages",
          "usd": 1
        },
        {
          "item": "Task, lite processor",
          "unit": "1k-calls",
          "usd": 5
        },
        {
          "item": "Task, pro processor",
          "unit": "1k-calls",
          "usd": 100
        },
        {
          "item": "Responses, medium effort",
          "unit": "1k-requests",
          "usd": 50
        },
        {
          "item": "Decisions, up to 100 questions a request",
          "unit": "1k-requests",
          "usd": 1,
          "note": "docs pricing page, 1 November 2026"
        },
        {
          "item": "x402 search via gateway",
          "unit": "call",
          "usd": 0.01,
          "note": "parallelmpp.dev"
        }
      ],
      "provenance": {
        "legalEntity": "Parallel Web Systems Inc.",
        "domain": "parallel.ai",
        "domainRegistered": "2017-12-16",
        "domainNote": "Registered in 2017 and transferred on 2024-07-01, so the registration date predates the company's use of it.",
        "endpointOnVendorDomain": true,
        "terms": "https://parallel.ai/customer-terms",
        "privacy": "https://parallel.ai/privacy-policy",
        "statusPage": "https://status.parallel.ai",
        "changelog": "https://docs.parallel.ai/resources/changelog",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "score": 85
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "agentAlone": true,
        "card": "unknown",
        "freeTier": true,
        "minutes": 5,
        "credential": "mixed",
        "hosting": [
          "US",
          "EU"
        ],
        "euResidency": "enterprise",
        "trainsOnData": "unknown",
        "zeroRetention": "enterprise",
        "certifications": [
          "GDPR"
        ],
        "dpa": true,
        "selfHost": "no"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/parallel-search-api.json",
      "live": {
        "slug": "parallel-search-api",
        "probe": {
          "target": "https://api.parallel.ai/v1/search",
          "method": "get",
          "lastAt": "2026-11-07T18:20:45.797474111Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 1251,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 1156,
          "p95ms24h": 1251,
          "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.parallel.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:52.770771808Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "ai.parallel/search-mcp",
            "version": "1.0.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "parallel-web",
            "version": "1.3.7",
            "seenAt": "2026-11-06T23:54:39.327146641Z"
          },
          {
            "registry": "pypi",
            "name": "parallel-web",
            "version": "1.3.7",
            "released": "2026-10-23",
            "seenAt": "2026-11-06T23:54:40.221328103Z"
          }
        ],
        "npmWeekly": 499802,
        "pypiWeekly": 1280811,
        "securityTxt": {
          "url": "https://parallel.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:47.651524803Z"
        },
        "llmsTxt": {
          "url": "https://docs.parallel.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:35.374820292Z"
        },
        "domain": {
          "domain": "parallel.ai",
          "registered": "2017-12-16",
          "source": "https://rdap.identitydigital.services/rdap/domain/parallel.ai",
          "checkedAt": "2026-11-01T14:08:31.990227623Z"
        },
        "pages": [
          {
            "url": "https://docs.parallel.ai/resources/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:07:25.166885545Z",
            "changedAt": "2026-11-06T13:29:46.487630215Z",
            "fingerprint": "64580beee981"
          },
          {
            "url": "https://parallel.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:57.961317128Z",
            "changedAt": "2026-11-07T14:15:57.961317128Z",
            "fingerprint": "6907599c6534"
          },
          {
            "url": "https://parallel.ai/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:59.73217133Z",
            "changedAt": "2026-11-06T13:37:39.393174208Z",
            "fingerprint": "4f0dd0d135d9"
          },
          {
            "url": "https://parallel.ai/customer-terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:55.334035778Z",
            "changedAt": "2026-11-06T13:37:35.126347484Z",
            "fingerprint": "0f2621896abb"
          },
          {
            "url": "https://parallel.ai/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-16T22:28:19.906253644Z",
            "changedAt": "2026-10-15T22:01:22.246898534Z",
            "fingerprint": "5d9bafee0ed2"
          }
        ],
        "mcpTools": {
          "url": "https://search.parallel.ai/mcp",
          "checkedAt": "2026-11-07T01:46:44.757089899Z",
          "status": "ok",
          "protocol": "2026-07-28",
          "tools": [
            {
              "name": "web_search",
              "description": "Purpose: Perform web searches and return\nLLM-friendly results, including excerpts that are usually sufficient to\nanswer directly without a follow-up fetch.\n\nIdeal Use Cases:\n- Answering questions that require fresh or current information\n- Research, comparison, documentation, and troubleshooting questions\n- Broad tasks where multiple `search_queries` can be issued in a single call\n\nFor multiple independent objectives, make one web_search call per objective\nconcurrently. Put related query variations for the same objective in a single\ncall's search_queries list.\n",
              "inputSchema": {
                "properties": {
                  "model_name": {
                    "description": "The identifier of the LLM model making this tool call (e.g. 'claude-opus-4.7', 'gpt-5.5', 'gemini-2.5-pro'). Before the first call, verify the exact active model slug from trusted runtime/session metadata or active client configuration. Pass the full slug verbatim; never shorten or substitute a model-family alias like 'gpt-5'. Used for product analytics only; does not affect search behavior.",
                    "maxLength": 100,
                    "type": "string"
                  },
                  "objective": {
                    "description": "Natural-language description of what the web search is trying to find.\nTry to make the search objective atomic, looking for a specific piece of information. May include guidance about preferred sources or freshness.",
                    "title": "Objective",
                    "type": "string"
                  },
                  "search_queries": {
                    "description": "Concise keyword search queries, 3-6 words\neach. They may use site: with a bare domain (such as site:example.com), but\nnever a URL path after the domain and never quoted phrases. At least one query\nis required; provide 2-3 for best results. For broad tasks, you can include\nmultiple related queries in a single call instead of chaining web_search\ncalls. The queries should be related to the objective.",
                    "items": {
                      "type": "string"
                    },
                    "title": "Search Queries",
                    "type": "array"
                  },
                  "session_id": {
                    "description": "Stable identifier for the current conversation. Generate a random value (UUID or 32+ character hex string) at the start of your session and reuse the exact same value on every web_search / web_fetch call. Do NOT change it between turns. Used for free-tier rate limiting and correlating your tool calls in our logs; ignored on paid-tier keys.",
                    "maxLength": 100,
                    "type": "string"
                  }
                },
                "required": [
                  "objective",
                  "search_queries"
                ],
                "title": "v1_search_toolArguments",
                "type": "object"
              },
              "outputSchema": {
                "$defs": {
                  "UsageItem": {
                    "description": "Usage item for a single operation.",
                    "properties": {
                      "count": {
                        "description": "Count of the SKU.",
                        "examples": [
                          1
                        ],
                        "title": "Count",
                        "type": "integer"
                      },
                      "name": {
                        "description": "Name of the SKU.",
                        "examples": [
                          "sku_search",
                          "sku_extract_excerpts"
                        ],
                        "title": "Name",
                        "type": "string"
                      }
                    },
                    "required": [
                      "name",
                      "count"
                    ],
                    "title": "UsageItem",
                    "type": "object"
                  },
                  "V1WebSearchResult": {
                    "description": "A single search result from the web search API.",
                    "properties": {
                      "excerpts": {
                        "description": "Relevant excerpted content from the URL, formatted as markdown.",
                        "items": {
                          "type": "string"
                        },
                        "title": "Excerpts",
                        "type": "array"
                      },
                      "publish_date": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "Publish date of the webpage in YYYY-MM-DD format, if available.",
                        "title": "Publish Date"
                      },
                      "title": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "Title of the webpage, if available.",
                        "title": "Title"
                      },
                      "url": {
                        "description": "URL associated with the search result.",
                        "title": "Url",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url",
                      "excerpts"
                    ],
                    "title": "V1WebSearchResult",
                    "type": "object"
                  },
                  "Warning": {
                    "description": "Human-readable message for a task.",
                    "properties": {
                      "detail": {
                        "anyOf": [
                          {
                            "additionalProperties": true,
                            "type": "object"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "Optional detail supporting the warning.",
                        "title": "Detail"
                      },
                      "message": {
                        "description": "Human-readable message.",
                        "title": "Message",
                        "type": "string"
                      },
                      "type": {
                        "description": "Type of warning. Note that adding new warning types is considered a backward-compatible change.",
                        "enum": [
                          "spec_validation_warning",
                          "input_validation_warning",
                          "warning"
                        ],
                        "examples": [
                          "spec_validation_warning",
                          "input_validation_warning"
                        ],
                        "title": "Type",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "message"
                    ],
                    "title": "Warning",
                    "type": "object"
                  }
                },
                "description": "Search response.",
                "properties": {
                  "results": {
                    "description": "A list of search results, ordered by decreasing relevance.",
                    "items": {
                      "$ref": "#/$defs/V1WebSearchResult"
                    },
                    "title": "Results",
                    "type": "array"
                  },
                  "search_id": {
                    "description": "Search ID. Example: `search_cad0a6d2dec046bd95ae900527d880e7`",
                    "title": "Search Id",
                    "type": "string"
                  },
                  "session_id": {
                    "description": "Session identifier, echoed back from the request if provided, otherwise generated by the server. Should be passed to future search and extract calls made by the agent as part of the same larger task.",
                    "examples": [
                      "session_8a911eb27c7a4afaa20d0d9dc98d07c0"
                    ],
                    "title": "Session Id",
                    "type": "string"
                  },
                  "usage": {
                    "anyOf": [
                      {
                        "items": {
                          "$ref": "#/$defs/UsageItem"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Usage metrics for the search request.",
                    "title": "Usage"
                  },
                  "warnings": {
                    "anyOf": [
                      {
                        "items": {
                          "$ref": "#/$defs/Warning"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Warnings for the search request, if any.",
                    "title": "Warnings"
                  }
                },
                "required": [
                  "search_id",
                  "results",
                  "session_id"
                ],
                "title": "V1SearchResponse",
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true,
                "title": "Web search"
              }
            },
            {
              "name": "web_fetch",
              "description": "Purpose: Fetch and extract relevant content\nfrom specific web URLs. Use only when web_search excerpts are insufficient\nfor the task at hand.\n\nIdeal Use Cases:\n- The user asked about a specific URL or page\n- You need exact wording or quotes that excerpts may have truncated\n- You need full-page analysis (long article, document, or page structure)\n- web_search excerpts are conflicting or clearly insufficient to answer\n\nFor multiple independent extraction objectives, make separate web_fetch calls\nconcurrently. Put related URLs that share one objective in a single call.\n",
              "inputSchema": {
                "properties": {
                  "allow_live_fetch": {
                    "default": true,
                    "description": "Whether live fetching is allowed. Leave\ntrue for the freshest available content. Set false to use cached content only,\nwhich makes web_fetch much faster by avoiding the source website, but may return\nolder content.",
                    "title": "Allow Live Fetch",
                    "type": "boolean"
                  },
                  "full_content": {
                    "default": false,
                    "description": "Prefer leaving this off. The default\nexcerpt mode returns LLM-optimized snippets focused on your objective — they\nare much smaller, cheaper, and usually all you need. Only set to true when\nyou explicitly need the entire page as markdown (e.g. reading a long article\nin full, or running a document through a downstream summarizer).\n\nWarning: enabling full content can return a large amount of content —\noften tens of thousands of tokens for a long article. This may exceed your\nMCP client's tool-output limit and will substantially increase response\nsize and latency.",
                    "title": "Full Content",
                    "type": "boolean"
                  },
                  "model_name": {
                    "description": "The identifier of the LLM model making this tool call (e.g. 'claude-opus-4.7', 'gpt-5.5', 'gemini-2.5-pro'). Before the first call, verify the exact active model slug from trusted runtime/session metadata or active client configuration. Pass the full slug verbatim; never shorten or substitute a model-family alias like 'gpt-5'. Used for product analytics only; does not affect search behavior.",
                    "maxLength": 100,
                    "type": "string"
                  },
                  "objective": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Natural-language description of what\ninformation you're looking for from the URLs. Limit to 200 characters.",
                    "title": "Objective"
                  },
                  "search_queries": {
                    "anyOf": [
                      {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Optional keyword search queries (3-6\nwords each) used together with objective to focus excerpts on the most\nrelevant content. Pass the queries from the prior web_search call that\nsurfaced these URLs, if applicable.",
                    "title": "Search Queries"
                  },
                  "session_id": {
                    "description": "Stable identifier for the current conversation. Generate a random value (UUID or 32+ character hex string) at the start of your session and reuse the exact same value on every web_search / web_fetch call. Do NOT change it between turns. Used for free-tier rate limiting and correlating your tool calls in our logs; ignored on paid-tier keys.",
                    "maxLength": 100,
                    "type": "string"
                  },
                  "urls": {
                    "description": "List of URLs to extract content from. Must be\nvalid HTTP/HTTPS URLs. Up to 20 URLs per request.",
                    "items": {
                      "type": "string"
                    },
                    "title": "Urls",
                    "type": "array"
                  }
                },
                "required": [
                  "urls"
                ],
                "title": "v1_extract_toolArguments",
                "type": "object"
              },
              "outputSchema": {
                "$defs": {
                  "ExtractError": {
                    "description": "Extract error details.",
                    "properties": {
                      "content": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "description": "Content returned for http client or server errors, if any.",
                        "title": "Content"
                      },
                      "error_type": {
                        "description": "Error type.",
                        "title": "Error Type",
                        "type": "string"
                      },
                      "http_status_code": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "description": "HTTP status code, if available.",
                        "title": "Http Status Code"
                      },
                      "url": {
                        "title": "Url",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url",
                      "error_type",
                      "http_status_code",
                      "content"
                    ],
                    "title": "ExtractError",
                    "type": "object"
                  },
                  "UsageItem": {
                    "description": "Usage item for a single operation.",
                    "properties": {
                      "count": {
                        "description": "Count of the SKU.",
                        "examples": [
                          1
                        ],
                        "title": "Count",
                        "type": "integer"
                      },
                      "name": {
                        "description": "Name of the SKU.",
                        "examples": [
                          "sku_search",
                          "sku_extract_excerpts"
                        ],
                        "title": "Name",
                        "type": "string"
                      }
                    },
                    "required": [
                      "name",
                      "count"
                    ],
                    "title": "UsageItem",
                    "type": "object"
                  },
                  "V1ExtractResult": {
                    "description": "Extract result for a single URL.",
                    "properties": {
                      "acquired_at": {
                        "anyOf": [
                          {
                            "format": "date-time",
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "When the returned content was acquired, as an RFC 3339 timestamp truncated to the start of the UTC day. Null when unknown.",
                        "examples": [
                          "2026-10-08T00:00:00Z"
                        ],
                        "title": "Acquired At"
                      },
                      "excerpts": {
                        "description": "Relevant excerpted content from the URL, formatted as markdown.",
                        "items": {
                          "type": "string"
                        },
                        "title": "Excerpts",
                        "type": "array"
                      },
                      "full_content": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "Full content from the URL formatted as markdown, if requested.",
                        "title": "Full Content"
                      },
                      "links": {
                        "anyOf": [
                          {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "Links from the page's rendered content, if requested: up to 512 unique absolute URLs in document order. Empty for pages with no links, including PDFs. Present only when advanced_settings.links was requested.",
                        "title": "Links"
                      },
                      "publish_date": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "Publish date of the webpage in YYYY-MM-DD format, if available.",
                        "title": "Publish Date"
                      },
                      "title": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "Title of the webpage, if available.",
                        "title": "Title"
                      },
                      "url": {
                        "description": "URL associated with the search result.",
                        "title": "Url",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url",
                      "excerpts"
                    ],
                    "title": "V1ExtractResult",
                    "type": "object"
                  },
                  "Warning": {
                    "description": "Human-readable message for a task.",
                    "properties": {
                      "detail": {
                        "anyOf": [
                          {
                            "additionalProperties": true,
                            "type": "object"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "Optional detail supporting the warning.",
                        "title": "Detail"
                      },
                      "message": {
                        "description": "Human-readable message.",
                        "title": "Message",
                        "type": "string"
                      },
                      "type": {
                        "description": "Type of warning. Note that adding new warning types is considered a backward-compatible change.",
                        "enum": [
                          "spec_validation_warning",
                          "input_validation_warning",
                          "warning"
                        ],
                        "examples": [
                          "spec_validation_warning",
                          "input_validation_warning"
                        ],
                        "title": "Type",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "message"
                    ],
                    "title": "Warning",
                    "type": "object"
                  }
                },
                "description": "Extract response.",
                "properties": {
                  "errors": {
                    "description": "Extract errors: requested URLs not in the results.",
                    "items": {
                      "$ref": "#/$defs/ExtractError"
                    },
                    "title": "Errors",
                    "type": "array"
                  },
                  "extract_id": {
                    "description": "Extract request ID, e.g. `extract_cad0a6d2dec046bd95ae900527d880e7`",
                    "title": "Extract Id",
                    "type": "string"
                  },
                  "results": {
                    "description": "Successful extract results.",
                    "items": {
                      "$ref": "#/$defs/V1ExtractResult"
                    },
                    "title": "Results",
                    "type": "array"
                  },
                  "session_id": {
                    "description": "Session identifier. Echoed back from the request if provided, otherwise generated by the server. Should be passed to future search and extract calls made by the agent as part of the same larger task.",
                    "examples": [
                      "session_8a911eb27c7a4afaa20d0d9dc98d07c0"
                    ],
                    "title": "Session Id",
                    "type": "string"
                  },
                  "usage": {
                    "anyOf": [
                      {
                        "items": {
                          "$ref": "#/$defs/UsageItem"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Usage metrics for the extract request.",
                    "title": "Usage"
                  },
                  "warnings": {
                    "anyOf": [
                      {
                        "items": {
                          "$ref": "#/$defs/Warning"
                        },
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Warnings for the extract request, if any.",
                    "title": "Warnings"
                  }
                },
                "required": [
                  "extract_id",
                  "results",
                  "errors",
                  "session_id"
                ],
                "title": "V1ExtractResponse",
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true,
                "title": "Web fetch"
              }
            },
            {
              "name": "send_feedback",
              "description": "Report a problem with Parallel to the Parallel team. Use it when, while\nworking with Parallel, you see any of these:\n- A Parallel tool returned an error you didn't cause: a 5xx, a timeout, or a\n  rate limit you didn't expect.\n- Results were wrong, irrelevant, stale or missing something you know exists:\n  a wrong date or number, an excerpt the page doesn't support, an empty fetch of\n  a page that has content.\n- Parallel's docs, tool descriptions and behavior disagree, or you couldn't work\n  out how to call a tool.\n- An evaluation, benchmark or comparison you ran shows Parallel doing worse than\n  expected.\nProblems you worked around count too. It isn't for mistakes in your own\nrequests, or for questions.\n\nAsk the user first. When you tell them about the problem, offer to report it\nand show what you'd send: the message and the IDs. Send it only if they agree,\nthen tell them it was sent.\n\nPut the IDs involved (search_id, extract_id, run_id) in `examples`, with a\nshort note on each. web_decisions returns no ID: put the subject and the\nquestions it answered wrongly in `message`.\n\nParallel receives only the fields you fill in, plus the account and client the\nrequest came from; nothing else from your conversation. Leave out secrets and\npersonal data.\n",
              "inputSchema": {
                "$defs": {
                  "FeedbackExample": {
                    "properties": {
                      "expected": {
                        "anyOf": [
                          {
                            "maxLength": 1000,
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "What you expected instead, such as a fact or URL Parallel missed.",
                        "title": "Expected"
                      },
                      "id": {
                        "description": "ID of the Parallel request this example is about, such as a search_id, extract_id, task run_id, findall_id or monitor_id.",
                        "maxLength": 128,
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "title": "Id",
                        "type": "string"
                      },
                      "issue": {
                        "anyOf": [
                          {
                            "maxLength": 1000,
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "What was wrong with this result.",
                        "title": "Issue"
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "title": "FeedbackExample",
                    "type": "object"
                  }
                },
                "additionalProperties": false,
                "properties": {
                  "actual": {
                    "anyOf": [
                      {
                        "maxLength": 2000,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "The overall observed behavior.",
                    "title": "Actual"
                  },
                  "category": {
                    "description": "The kind of problem.",
                    "enum": [
                      "results_quality",
                      "error",
                      "latency",
                      "missing_capability",
                      "docs",
                      "billing",
                      "other"
                    ],
                    "title": "Category",
                    "type": "string"
                  },
                  "examples": {
                    "anyOf": [
                      {
                        "items": {
                          "$ref": "#/$defs/FeedbackExample"
                        },
                        "maxItems": 50,
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "The specific requests involved, each with a short note.",
                    "title": "Examples"
                  },
                  "expected": {
                    "anyOf": [
                      {
                        "maxLength": 2000,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "The overall expected behavior.",
                    "title": "Expected"
                  },
                  "message": {
                    "description": "What you were doing, what went wrong, and what you expected. Do not include secrets or personal data.",
                    "maxLength": 4000,
                    "minLength": 20,
                    "title": "Message",
                    "type": "string"
                  },
                  "product": {
                    "description": "The Parallel product involved.",
                    "enum": [
                      "search",
                      "extract",
                      "task",
                      "findall",
                      "monitor",
                      "responses",
                      "decisions",
                      "mcp",
                      "cli",
                      "other"
                    ],
                    "title": "Product",
                    "type": "string"
                  },
                  "severity": {
                    "default": "degraded",
                    "description": "How much the problem affected the work: blocking, degraded (a workaround was needed) or minor (noticeable, but the work went on unchanged).",
                    "enum": [
                      "blocking",
                      "degraded",
                      "minor"
                    ],
                    "title": "Severity",
                    "type": "string"
                  }
                },
                "required": [
                  "message",
                  "category",
                  "product"
                ],
                "title": "send_feedback_toolArguments",
                "type": "object"
              },
              "outputSchema": {
                "$defs": {
                  "FeedbackReport": {
                    "properties": {
                      "actual": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "title": "Actual"
                      },
                      "category": {
                        "enum": [
                          "results_quality",
                          "error",
                          "latency",
                          "missing_capability",
                          "docs",
                          "billing",
                          "other"
                        ],
                        "title": "Category",
                        "type": "string"
                      },
                      "context": {
                        "$ref": "#/$defs/FeedbackReportContext"
                      },
                      "examples": {
                        "items": {
                          "$ref": "#/$defs/FeedbackReportExample"
                        },
                        "title": "Examples",
                        "type": "array"
                      },
                      "expected": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "title": "Expected"
                      },
                      "message": {
                        "title": "Message",
                        "type": "string"
                      },
                      "product": {
                        "enum": [
                          "search",
                          "extract",
                          "task",
                          "findall",
                          "monitor",
                          "responses",
                          "decisions",
                          "mcp",
                          "cli",
                          "other"
                        ],
                        "title": "Product",
                        "type": "string"
                      },
                      "recipient": {
                        "description": "Who receives the report and how long it is kept.",
                        "title": "Recipient",
                        "type": "string"
                      },
                      "redactions": {
                        "description": "How many secrets were removed.",
                        "title": "Redactions",
                        "type": "integer"
                      },
                      "severity": {
                        "enum": [
                          "blocking",
                          "degraded",
                          "minor"
                        ],
                        "title": "Severity",
                        "type": "string"
                      }
                    },
                    "required": [
                      "message",
                      "category",
                      "product",
                      "severity",
                      "examples",
                      "context",
                      "redactions",
                      "recipient"
                    ],
                    "title": "FeedbackReport",
                    "type": "object"
                  },
                  "FeedbackReportContext": {
                    "properties": {
                      "llm_model": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "title": "Llm Model"
                      },
                      "org_id": {
                        "title": "Org Id",
                        "type": "string"
                      },
                      "sender": {
                        "description": "Who Parallel sees as the sender.",
                        "title": "Sender",
                        "type": "string"
                      },
                      "session_id": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "title": "Session Id"
                      },
                      "surface": {
                        "description": "How the feedback was sent: api, cli, mcp or platform.",
                        "enum": [
                          "api",
                          "cli",
                          "mcp",
                          "platform"
                        ],
                        "title": "Surface",
                        "type": "string"
                      },
                      "user_agent": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "title": "User Agent"
                      }
                    },
                    "required": [
                      "org_id",
                      "sender",
                      "surface"
                    ],
                    "title": "FeedbackReportContext",
                    "type": "object"
                  },
                  "FeedbackReportExample": {
                    "properties": {
                      "expected": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "title": "Expected"
                      },
                      "id": {
                        "title": "Id",
                        "type": "string"
                      },
                      "issue": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "title": "Issue"
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "title": "FeedbackReportExample",
                    "type": "object"
                  }
                },
                "properties": {
                  "duplicate": {
                    "default": false,
                    "description": "True when the same report was received in the last 24 hours; feedback_id is the original report and nothing new was stored.",
                    "title": "Duplicate",
                    "type": "boolean"
                  },
                  "feedback_id": {
                    "description": "ID of the stored report.",
                    "title": "Feedback Id",
                    "type": "string"
                  },
                  "next_step": {
                    "description": "What the agent should do next.",
                    "title": "Next Step",
                    "type": "string"
                  },
                  "report": {
                    "$ref": "#/$defs/FeedbackReport",
                    "description": "Exactly what Parallel received, with secrets removed."
                  },
                  "status": {
                    "const": "received",
                    "title": "Status",
                    "type": "string"
                  }
                },
                "required": [
                  "status",
                  "feedback_id",
                  "report",
                  "next_step"
                ],
                "title": "FeedbackResponse",
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Send feedback to Parallel"
              }
            }
          ],
          "schemaTokens": 5322,
          "changedAt": "2026-11-07T01:46:44.757089899Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 5322,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 3
            },
            "findings": [
              {
                "rule": "TC15",
                "severity": "warn",
                "tool": "send_feedback",
                "message": "inputSchema uses $ref/$defs",
                "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
              },
              {
                "rule": "TC22",
                "severity": "warn",
                "tool": "send_feedback",
                "message": "the definition is about 1,634 tokens",
                "fix": "Trim the description and parameter docs, or split the tool."
              },
              {
                "rule": "TC22",
                "severity": "warn",
                "tool": "web_fetch",
                "message": "the definition is about 1,970 tokens",
                "fix": "Trim the description and parameter docs, or split the tool."
              },
              {
                "rule": "TC29",
                "severity": "note",
                "message": "about 396 tokens (7% of the definitions) are titles that repeat property or function names",
                "fix": "Strip \"title\" keys that only restate a name before listing tools."
              }
            ]
          }
        },
        "updatedAt": "2026-11-07T18:21:52.770771808Z"
      }
    },
    "edges": [
      {
        "by": 45,
        "category": "payments",
        "leads": "parallel-search-api",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Credit prices per call published without login, and credits cost $1 per 1,000 through top-ups from $25 (20). 10,000 free credits every 30 days on a $0 plan, and the first top-up moves an account to pay as you go. No page says whether a card is needed to open the free plan, so half (10). A person signs up in the platform in a browser to get a key (0). NewsMCP's keyless tier belongs to a separate product and isn't counted. 0 + 20 + 10 + 0 = 30.",
          "b": "Parallel runs a separate gateway at parallelmpp.dev that takes x402 (USDC on Base) and MPP (Stripe or Tempo) for search and extract at $0.01 and an ultra task at $0.30. Our unpaid POST to /api/search on 6 October returned 402 with an x402 v2 challenge for 10000 base units on eip155:8453 and a Tempo MPP challenge. Nothing on api.parallel.ai, and the gateway sells one price per endpoint with no mode choice, so partial (25). Per-unit prices published without login (20). Up to 5,000 free requests a month, $5 monthly credit and up to $80 at signup on the pricing page, which still doesn't say whether a card is needed (10). The hosted Search MCP works with no key, and the gateway needs only a wallet (20)."
        },
        "scores": {
          "a": 30,
          "b": 75
        }
      },
      {
        "by": 14,
        "category": "transparency",
        "leads": "newscatcher",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The API is closed under terms of 2 November 2026 naming NewsCatcher, Inc., and the MCP server is MIT, so between the two bands (20 of 30). The terms say inputs and generated data are not used to train models, a DPA applies automatically, and the privacy policy gives retention periods (server logs 7 days, API logs with query text 90 days, then archived indefinitely, billing records about seven years). They agree with each other, but indefinite archives of query logs hold it back (22 of 30). The terms promise 30 days' email notice before a paid product or API version is discontinued, with refunds of unused credits, and the v3 News API has a migration guide (15 of 20). A sub-processor list dated 2 November 2026 with each provider's location and the data it handles. The MCP repository deploys to Vercel and can send pseudonymised analytics to PostHog, and neither appears on the list (16 of 20). 20 + 22 + 15 + 16 = 73.",
          "b": "The API is closed with published terms, and the SDKs are MIT (20). Privacy policy effective 11 August 2026 and Customer Terms effective 17 October 2026, both re-read on 1 November. EU-endpoint search requests keep no request or response content, but the default endpoint gets only \"as long as necessary\". The Customer Terms still let Parallel use Customer IP (inputs and outputs) to train and improve its models, not linked to an individual, and ask for a separate DPA before personal data is processed. No retention period is stated, and the DPA wasn't found as a public page (12). No deprecation notices or policy found in the changelog, which points older integrations from /v1beta to /v1 without an end date, and the docs now call the standalone Search and Task MCP servers legacy while saying both keep running, also without a date (5). EU data residency for basic-mode Search and Extract is documented, on enterprise agreements since 19 October. Subprocessors sit behind the trust centre and the privacy policy says to ask your Parallel contact (8)."
        },
        "scores": {
          "a": 79,
          "b": 65
        }
      },
      {
        "by": 11,
        "category": "maintenance",
        "leads": "parallel-search-api",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read for a closed service, with the MCP repository read as code. News API 1.1.0 and Agent 1.5.0 on 4 November 2026, MCP server 0.1.0 on 6 November and v3 News API 3.25.0 on 6 November (30). In the 90 days from 8 August, the 30 October launch, News API 1.1.0, Agent 1.5.0, MCP 0.1.0 and v3 releases 3.19.0 to 3.25.0 (20). Public dated changelogs, support by email and Pylon, and a security policy with a 3-business-day target. The MCP repository is a day old, so there are no issues to judge (10 of 15). The CatchAll MCP server is in the official registry under the verified namespace com.newscatcherapi, but the new server isn't, and no official SDK for the current API was found; the Enterprise APIs list libraries (8 of 15). The MCP repository runs its test suite in CI with a read-only token; pass state not read (8 of 10). 30 + 20 + 10 + 8 + 8 = 76.",
          "b": "parallel-web 1.3.7 for Python on 2026-10-23 and for TypeScript on 2026-10-28, and changelog entries on 19 and 26 October, the second launching the Decisions API (30). Counted from the tags and the changelog, the 90 days from 3 August hold Python SDK releases 1.3.1 to 1.3.7, TypeScript 1.3.1 to 1.3.7 and ten changelog entries from 19 August to 26 October (20). The SDK releases since 1.3.5 are dependency bumps. Closed service with a changelog and support@parallel.ai. We didn't test whether support answers (12). Current Python and TypeScript SDKs, and ai.parallel/search-mcp and ai.parallel/task-mcp in the official registry (15). The Python SDK runs lint and build in CI on push, plus a workflow that detects breaking changes (10)."
        },
        "scores": {
          "a": 76,
          "b": 87
        }
      },
      {
        "by": 8,
        "category": "reliability",
        "leads": "parallel-search-api",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines, for the News API, the agent and the hosted MCP server. status.newscatcherapi.com (Hyperping) shows one News API component with 99.820% uptime from August to November 2026 and an incident history. The agent and the MCP server have no component of their own (20). In the 90 days from 8 August, one incident, on 1 September 2026, when the vendor wrote that for about four hours a higher-than-usual number of requests to the production News API timed out because of one client's queries. Read as one major (10). Rate limits published per plan, 1 request a second free and up to 10 on pay as you go, with exact limits from the free `GET /subscription` (15). 429 carries Retry-After with instructions to retry the same request, 503 carries Retry-After, and failed or refused requests are not charged. Agent runs and monitor creation have no idempotency keys (12 of 15). An uptime SLA exists only in signed Enterprise agreements; none is published (0). Generally available since 30 October 2026, with OAuth for the MCP server announced as coming soon (10). 20 + 10 + 15 + 12 + 0 + 10 = 67.",
          "b": "incident.io page at status.parallel.ai with Search, Task, Chat, Monitor, FindAll and Entity Search components and history (20). The feed, re-read on 1 November, has nothing after 13 October, so the 90 days from 3 August hold the same four incidents, all partial or degraded. Elevated 503s on 6 August, about an hour of Task API latency on 2 September, intermittent 4xx errors on 7 September, and transient 502s from the network gateway on 13 October, degraded performance from 01:23 to 01:43 UTC. Most have no duration listed (20). Published limits, 600 a minute for Search, Image Search, Extract, Decisions and Entity Search, 2,000 for Tasks, 300 for Chat and Monitor (15). The errors page marks 429 as retryable with exponential backoff, but there's no `Retry-After` and no idempotency guidance for creating Task runs, which the SDKs retry twice by default (10). No SLA found (0). Search, Extract and Task are GA (10)."
        },
        "scores": {
          "a": 67,
          "b": 75
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "NewsCatcher, Inc.",
        "b": "Parallel Web Systems",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.newscatcherapi.com/mcp",
        "b": "https://api.parallel.ai/v1/search",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$1 per 1,000 requests",
        "b": "$1 per 1,000 requests",
        "name": "Price for web search"
      },
      {
        "a": "no",
        "b": "payer tooling only",
        "name": "x402"
      },
      {
        "a": "15",
        "b": "6",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "ai.parallel/search-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-11-06",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "2026-11-02",
        "b": "2026-10-17",
        "name": "Terms last updated"
      },
      {
        "a": "2026-11-02",
        "b": "2026-08-11",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "28 stars, 250k npm/wk, 994k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.6/5 (8)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Parallel Search and Task APIs scores 75 (BB) on agent readiness against NewsCatcher's 67.5 (B), and leads in 4 of 7 scored categories. NewsCatcher leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, NewsCatcher or Parallel Search and Task APIs?"
      },
      {
        "answer": "They cost about the same, $1 per 1,000 requests for NewsCatcher and $1 per 1,000 requests for Parallel Search and Task APIs. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for web search, NewsCatcher or Parallel Search and Task APIs?"
      },
      {
        "answer": "NewsCatcher needs an API key. Parallel Search and Task APIs takes an API key or an OAuth sign-in.",
        "question": "Do NewsCatcher and Parallel Search and Task APIs need an API key?"
      },
      {
        "answer": "Yes. NewsCatcher has a hosted endpoint at https://mcp.newscatcherapi.com/mcp and Parallel Search and Task APIs at https://api.parallel.ai/v1/search.",
        "question": "Can an agent call NewsCatcher and Parallel Search and Task APIs without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Transparency \u0026 trust, 79 against 65"
        ],
        "also": null,
        "goodFor": "Agents that need current news across languages, grouped into stories, or tables of events and company news on a schedule.",
        "slug": "newscatcher",
        "watchFor": "The current News API and agent launched on 30 October 2026 and the MCP repository went public on 6 November 2026"
      },
      {
        "aheadOn": [
          "Reliability, 75 against 67",
          "Payments \u0026 pricing, 75 against 30",
          "Maintenance \u0026 community, 87 against 76"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Agents that mix quick search with long research or enrichment jobs and want one vendor and one bill.",
        "slug": "parallel-search-api",
        "watchFor": "Search defaults to advanced mode at $5 per 1,000 when `mode` is left out"
      }
    ],
    "history": {
      "newscatcher": null,
      "parallel-search-api": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-30",
          "delta": -0.1,
          "from": 75.1,
          "fromGrade": "BB",
          "to": 75,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 75,
          "fromGrade": "BB",
          "to": 75.1,
          "toGrade": "BB"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-17",
          "delta": 1,
          "from": 74,
          "fromGrade": "BB",
          "to": 75,
          "toGrade": "BB"
        }
      ]
    },
    "job": {
      "capability": "web.search",
      "name": "Web search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-newscatcher.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-parallel-search-api.json",
        "title": "Web Search Tool on Amazon Bedrock AgentCore vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/agentcore-web-search-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-newscatcher.json",
        "title": "Grounding with Bing Search vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bing-grounding-vs-parallel-search-api.json",
        "title": "Grounding with Bing Search vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/bing-grounding-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-newscatcher.json",
        "title": "Brave Search API + MCP vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-parallel-search-api.json",
        "title": "Brave Search API + MCP vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/brave-search-mcp-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-newscatcher.json",
        "title": "Cloudflare Web Search API vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-parallel-search-api.json",
        "title": "Cloudflare Web Search API vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/cloudflare-web-search-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-newscatcher.json",
        "title": "DeepSeek Search and Fetch API vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-parallel-search-api.json",
        "title": "DeepSeek Search and Fetch API vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/deepseek-search-api-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher.json",
        "title": "Exa API + MCP vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-parallel-search-api.json",
        "title": "Exa API + MCP vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-parallel-search-api.json",
        "title": "Firecrawl MCP vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-newscatcher.json",
        "title": "Kagi Search API vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kagi-search-vs-parallel-search-api.json",
        "title": "Kagi Search API vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/kagi-search-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-newscatcher.json",
        "title": "Linkup vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linkup-vs-parallel-search-api.json",
        "title": "Linkup vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/linkup-vs-parallel-search-api"
      },
      {
        "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/newscatcher-vs-perplexity-search-api.json",
        "title": "NewsCatcher vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-tinyfish-search.json",
        "title": "NewsCatcher vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-perplexity-search-api.json",
        "title": "Parallel Search and Task APIs vs Perplexity Search API",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-perplexity-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-searchapi-io.json",
        "title": "Parallel Search and Task APIs vs SearchAPI.io",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-searchapi-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serpapi.json",
        "title": "Parallel Search and Task APIs vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serper.json",
        "title": "Parallel Search and Task APIs vs Serper",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serphouse.json",
        "title": "Parallel Search and Task APIs vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serpkite.json",
        "title": "Parallel Search and Task APIs vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-serpkite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-specstream.json",
        "title": "Parallel Search and Task APIs vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-specstream"
      },
      {
        "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/parallel-search-api-vs-tinyfish-search.json",
        "title": "Parallel Search and Task APIs vs TinyFish Search",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-tinyfish-search"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-valyu.json",
        "title": "Parallel Search and Task APIs vs Valyu",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallel-search-api-vs-you-com-api.json",
        "title": "Parallel Search and Task APIs vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/parallel-search-api-vs-you-com-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-newscatcher.json",
        "title": "Arcmira vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcmira-vs-parallel-search-api.json",
        "title": "Arcmira vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/arcmira-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-newscatcher.json",
        "title": "Grep AI vs NewsCatcher",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-newscatcher"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grep-ai-vs-parallel-search-api.json",
        "title": "Grep AI vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/grep-ai-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-specstream.json",
        "title": "NewsCatcher vs SpecStream",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-specstream"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-parallel-search-api.json",
        "title": "Fetch (MCP reference server) vs Parallel Search and Task APIs",
        "url": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-parallel-search-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-searchapi-io.json",
        "title": "NewsCatcher vs SearchAPI.io",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-searchapi-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-serpapi.json",
        "title": "NewsCatcher vs SerpApi",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-serpapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-serper.json",
        "title": "NewsCatcher vs Serper",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-serper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-serphouse.json",
        "title": "NewsCatcher vs SERPHouse",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-serphouse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-serpkite.json",
        "title": "NewsCatcher vs SerpKite",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-serpkite"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-valyu.json",
        "title": "NewsCatcher vs Valyu",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-valyu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/newscatcher-vs-you-com-api.json",
        "title": "NewsCatcher vs You.com APIs",
        "url": "https://www.anchorterminal.com/compare/newscatcher-vs-you-com-api"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 8,
        "edge": "parallel-search-api",
        "key": "reliability",
        "name": "Reliability",
        "newscatcher": 67,
        "parallel-search-api": 75,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "edge": "",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "newscatcher": 94,
        "parallel-search-api": 94,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "parallel-search-api",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "newscatcher": 84,
        "parallel-search-api": 87,
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "key": "security",
        "name": "Security \u0026 auth",
        "newscatcher": 45,
        "parallel-search-api": 45,
        "weight": 14
      },
      {
        "by": 45,
        "edge": "parallel-search-api",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "newscatcher": 30,
        "parallel-search-api": 75,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "parallel-search-api",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "newscatcher": 76,
        "parallel-search-api": 87,
        "weight": 7
      },
      {
        "by": 14,
        "edge": "newscatcher",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "newscatcher": 79,
        "parallel-search-api": 65,
        "weight": 7
      }
    ],
    "summary": "Parallel Search and Task APIs scores 75 (BB) on agent readiness against NewsCatcher's 67.5 (B), and leads in 4 of 7 scored categories. NewsCatcher leads on transparency \u0026 trust. Both do web search.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "newscatcher": "One key and one credit balance cover a ranked news search, a background research agent and a hosted MCP server with toolsets and annotated tools, under OpenAPI 3.1 specs and a dated changelog. The current API launched on 30 October 2026, the MCP server accepts the key in its URL, and no SLA is published below Enterprise.",
      "parallel-search-api": "Fast-mode search at $1 per 1,000 with 10 excerpted results, and a keyless two-tool Search MCP annotated read-only. Search defaults to advanced mode at $5 per 1,000 when `mode` is left out, and the Customer Terms allow training on inputs and outputs."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/newscatcher-vs-parallel-search-api",
    "json": "https://www.anchorterminal.com/compare/newscatcher-vs-parallel-search-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/newscatcher-vs-parallel-search-api.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/newscatcher-vs-parallel-search-api.min.md"
  },
  "markdown": "Parallel Search and Task APIs scores 75 (BB) on agent readiness against NewsCatcher's 67.5 (B), and leads in 4 of 7 scored categories. NewsCatcher leads on transparency \u0026 trust. Both do web search.\n\n- NewsCatcher: grade B, 67.5/100, rank #321 of 1486. Markdown https://www.anchorterminal.com/tools/newscatcher.md · JSON https://www.anchorterminal.com/api/v1/tools/newscatcher.json\n- Parallel Search and Task APIs: grade BB, 75/100, rank #73 of 1486. Markdown https://www.anchorterminal.com/tools/parallel-search-api.md · JSON https://www.anchorterminal.com/api/v1/tools/parallel-search-api.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### NewsCatcher (B)\n\nGood for: Agents that need current news across languages, grouped into stories, or tables of events and company news on a schedule.\n\nAhead on:\n- Transparency \u0026 trust, 79 against 65\n\nWatch for: The current News API and agent launched on 30 October 2026 and the MCP repository went public on 6 November 2026\n\n### Parallel Search and Task APIs (BB)\n\nGood for: Agents that mix quick search with long research or enrichment jobs and want one vendor and one bill.\n\nAhead on:\n- Reliability, 75 against 67\n- Payments \u0026 pricing, 75 against 30\n- Maintenance \u0026 community, 87 against 76\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: Search defaults to advanced mode at $5 per 1,000 when `mode` is left out\n\n\n## Why the edge\n\n### Payments \u0026 pricing: Parallel Search and Task APIs +45\n\n- NewsCatcher (30): No x402, MPP or L402 (0). Credit prices per call published without login, and credits cost $1 per 1,000 through top-ups from $25 (20). 10,000 free credits every 30 days on a $0 plan, and the first top-up moves an account to pay as you go. No page says whether a card is needed to open the free plan, so half (10). A person signs up in the platform in a browser to get a key (0). NewsMCP's keyless tier belongs to a separate product and isn't counted. 0 + 20 + 10 + 0 = 30.\n- Parallel Search and Task APIs (75): Parallel runs a separate gateway at parallelmpp.dev that takes x402 (USDC on Base) and MPP (Stripe or Tempo) for search and extract at $0.01 and an ultra task at $0.30. Our unpaid POST to /api/search on 6 October returned 402 with an x402 v2 challenge for 10000 base units on eip155:8453 and a Tempo MPP challenge. Nothing on api.parallel.ai, and the gateway sells one price per endpoint with no mode choice, so partial (25). Per-unit prices published without login (20). Up to 5,000 free requests a month, $5 monthly credit and up to $80 at signup on the pricing page, which still doesn't say whether a card is needed (10). The hosted Search MCP works with no key, and the gateway needs only a wallet (20).\n\n### Transparency \u0026 trust: NewsCatcher +14\n\n- NewsCatcher (79): The API is closed under terms of 2 November 2026 naming NewsCatcher, Inc., and the MCP server is MIT, so between the two bands (20 of 30). The terms say inputs and generated data are not used to train models, a DPA applies automatically, and the privacy policy gives retention periods (server logs 7 days, API logs with query text 90 days, then archived indefinitely, billing records about seven years). They agree with each other, but indefinite archives of query logs hold it back (22 of 30). The terms promise 30 days' email notice before a paid product or API version is discontinued, with refunds of unused credits, and the v3 News API has a migration guide (15 of 20). A sub-processor list dated 2 November 2026 with each provider's location and the data it handles. The MCP repository deploys to Vercel and can send pseudonymised analytics to PostHog, and neither appears on the list (16 of 20). 20 + 22 + 15 + 16 = 73.\n- Parallel Search and Task APIs (65): The API is closed with published terms, and the SDKs are MIT (20). Privacy policy effective 11 August 2026 and Customer Terms effective 17 October 2026, both re-read on 1 November. EU-endpoint search requests keep no request or response content, but the default endpoint gets only \"as long as necessary\". The Customer Terms still let Parallel use Customer IP (inputs and outputs) to train and improve its models, not linked to an individual, and ask for a separate DPA before personal data is processed. No retention period is stated, and the DPA wasn't found as a public page (12). No deprecation notices or policy found in the changelog, which points older integrations from /v1beta to /v1 without an end date, and the docs now call the standalone Search and Task MCP servers legacy while saying both keep running, also without a date (5). EU data residency for basic-mode Search and Extract is documented, on enterprise agreements since 19 October. Subprocessors sit behind the trust centre and the privacy policy says to ask your Parallel contact (8).\n\n### Maintenance \u0026 community: Parallel Search and Task APIs +11\n\n- NewsCatcher (76): Read for a closed service, with the MCP repository read as code. News API 1.1.0 and Agent 1.5.0 on 4 November 2026, MCP server 0.1.0 on 6 November and v3 News API 3.25.0 on 6 November (30). In the 90 days from 8 August, the 30 October launch, News API 1.1.0, Agent 1.5.0, MCP 0.1.0 and v3 releases 3.19.0 to 3.25.0 (20). Public dated changelogs, support by email and Pylon, and a security policy with a 3-business-day target. The MCP repository is a day old, so there are no issues to judge (10 of 15). The CatchAll MCP server is in the official registry under the verified namespace com.newscatcherapi, but the new server isn't, and no official SDK for the current API was found; the Enterprise APIs list libraries (8 of 15). The MCP repository runs its test suite in CI with a read-only token; pass state not read (8 of 10). 30 + 20 + 10 + 8 + 8 = 76.\n- Parallel Search and Task APIs (87): parallel-web 1.3.7 for Python on 2026-10-23 and for TypeScript on 2026-10-28, and changelog entries on 19 and 26 October, the second launching the Decisions API (30). Counted from the tags and the changelog, the 90 days from 3 August hold Python SDK releases 1.3.1 to 1.3.7, TypeScript 1.3.1 to 1.3.7 and ten changelog entries from 19 August to 26 October (20). The SDK releases since 1.3.5 are dependency bumps. Closed service with a changelog and support@parallel.ai. We didn't test whether support answers (12). Current Python and TypeScript SDKs, and ai.parallel/search-mcp and ai.parallel/task-mcp in the official registry (15). The Python SDK runs lint and build in CI on push, plus a workflow that detects breaking changes (10).\n\n### Reliability: Parallel Search and Task APIs +8\n\n- NewsCatcher (67): Read with the hosted lines, for the News API, the agent and the hosted MCP server. status.newscatcherapi.com (Hyperping) shows one News API component with 99.820% uptime from August to November 2026 and an incident history. The agent and the MCP server have no component of their own (20). In the 90 days from 8 August, one incident, on 1 September 2026, when the vendor wrote that for about four hours a higher-than-usual number of requests to the production News API timed out because of one client's queries. Read as one major (10). Rate limits published per plan, 1 request a second free and up to 10 on pay as you go, with exact limits from the free `GET /subscription` (15). 429 carries Retry-After with instructions to retry the same request, 503 carries Retry-After, and failed or refused requests are not charged. Agent runs and monitor creation have no idempotency keys (12 of 15). An uptime SLA exists only in signed Enterprise agreements; none is published (0). Generally available since 30 October 2026, with OAuth for the MCP server announced as coming soon (10). 20 + 10 + 15 + 12 + 0 + 10 = 67.\n- Parallel Search and Task APIs (75): incident.io page at status.parallel.ai with Search, Task, Chat, Monitor, FindAll and Entity Search components and history (20). The feed, re-read on 1 November, has nothing after 13 October, so the 90 days from 3 August hold the same four incidents, all partial or degraded. Elevated 503s on 6 August, about an hour of Task API latency on 2 September, intermittent 4xx errors on 7 September, and transient 502s from the network gateway on 13 October, degraded performance from 01:23 to 01:43 UTC. Most have no duration listed (20). Published limits, 600 a minute for Search, Image Search, Extract, Decisions and Entity Search, 2,000 for Tasks, 300 for Chat and Monitor (15). The errors page marks 429 as retryable with exponential backoff, but there's no `Retry-After` and no idempotency guidance for creating Task runs, which the SDKs retry twice by default (10). No SLA found (0). Search, Extract and Task are GA (10).\n\n## Score by category\n\n| Category | Weight | NewsCatcher | Parallel Search and Task APIs | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 75 | Parallel Search and Task APIs +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 94 | 94 | even |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 87 | Parallel Search and Task APIs +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 45 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 75 | Parallel Search and Task APIs +45 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 76 | 87 | Parallel Search and Task APIs +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 79 | 65 | NewsCatcher +14 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.5 · B** | **75 · BB** | |\n\n## Facts side by side\n\n| Fact | NewsCatcher | Parallel Search and Task APIs |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | NewsCatcher, Inc. | Parallel Web Systems |\n| Hosted endpoint | `https://mcp.newscatcherapi.com/mcp` | `https://api.parallel.ai/v1/search` |\n| Transports | Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Freemium |\n| Price for web search | $1 per 1,000 requests | $1 per 1,000 requests |\n| x402 | no | payer tooling only |\n| Tools exposed | 15 | 6 |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `ai.parallel/search-mcp` |\n| Last release | 2026-11-06 | 2026-10-28 |\n| Terms last updated | 2026-11-02 | 2026-10-17 |\n| Privacy policy last updated | 2026-11-02 | 2026-08-11 |\n| Customer content may train models | yes | yes |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | none | 28 stars, 250k npm/wk, 994k PyPI/wk |\n| Agent reviews | none | 3.6/5 (8) |\n\n## How the scores have moved\n\n### NewsCatcher\n\nNo score change since it was listed.\n\n### Parallel Search and Task APIs\n\n- -0.1 on 30 October 2026: checklist\n- +0.1 on 27 October 2026: checklist\n- +1.0 on 17 October 2026: new evidence\n\n## Verdicts\n\n**NewsCatcher.** One key and one credit balance cover a ranked news search, a background research agent and a hosted MCP server with toolsets and annotated tools, under OpenAPI 3.1 specs and a dated changelog. The current API launched on 30 October 2026, the MCP server accepts the key in its URL, and no SLA is published below Enterprise.\n\n**Parallel Search and Task APIs.** Fast-mode search at $1 per 1,000 with 10 excerpted results, and a keyless two-tool Search MCP annotated read-only. Search defaults to advanced mode at $5 per 1,000 when `mode` is left out, and the Customer Terms allow training on inputs and outputs.\n\n## Before you call either\n\n### NewsCatcher\n\n1. Send the key in the `x-api-key` header, and use a separate key for the MCP server so it can be revoked alone\n2. Call `start_research` with `dry_run` first, since agent runs cost 1,000 to 6,000 credits\n3. Use `effort=low` for quick lookups; the default `medium` costs five times as much\n4. Use `/articles` or `list_articles` for news older than 30 days or exact counts; `/search` covers 30 days only\n5. On 429 or 503 wait for Retry-After, and quote the Correlation-ID header to support\n\n### Parallel Search and Task APIs\n\n1. Pass `mode: \"fast\"` on every API search. Without it you pay the advanced rate. On an authenticated MCP connection, pin it with `?mode=fast`\n2. Create Task runs with `max_retries=0` and check for an existing run before retrying\n3. Give an `objective` plus two or three short `search_queries`. That's what ranks the excerpts\n4. On 402, check available balance rather than total. Running tasks reserve credit\n5. Ask for zero data retention or use the EU endpoint before sending private queries. The default terms allow training on them\n6. On Decisions, check each answer's `type` before reading it. A refusal is a 200, not an error, and a predicate is a probability you threshold yourself\n\n## Questions\n\n### Which is better for AI agents, NewsCatcher or Parallel Search and Task APIs?\n\nParallel Search and Task APIs scores 75 (BB) on agent readiness against NewsCatcher's 67.5 (B), and leads in 4 of 7 scored categories. NewsCatcher leads on transparency \u0026 trust.\n\n### Which is cheaper for web search, NewsCatcher or Parallel Search and Task APIs?\n\nThey cost about the same, $1 per 1,000 requests for NewsCatcher and $1 per 1,000 requests for Parallel Search and Task APIs. These are the vendors' published prices for the job.\n\n### Do NewsCatcher and Parallel Search and Task APIs need an API key?\n\nNewsCatcher needs an API key. Parallel Search and Task APIs takes an API key or an OAuth sign-in.\n\n### Can an agent call NewsCatcher and Parallel Search and Task APIs without installing anything?\n\nYes. NewsCatcher has a hosted endpoint at https://mcp.newscatcherapi.com/mcp and Parallel Search and Task APIs at https://api.parallel.ai/v1/search.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/newscatcher-vs-parallel-search-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/newscatcher-vs-parallel-search-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"newscatcher\", \"b\": \"parallel-search-api\"}`. From a terminal: `anchor compare newscatcher parallel-search-api`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/newscatcher.json and https://www.anchorterminal.com/api/v1/tools/parallel-search-api.json\n\n## Other comparisons with NewsCatcher or Parallel Search and Task APIs\n\n- [Web Search Tool on Amazon Bedrock AgentCore vs NewsCatcher](https://www.anchorterminal.com/compare/agentcore-web-search-vs-newscatcher.md)\n- [Web Search Tool on Amazon Bedrock AgentCore vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/agentcore-web-search-vs-parallel-search-api.md)\n- [Grounding with Bing Search vs NewsCatcher](https://www.anchorterminal.com/compare/bing-grounding-vs-newscatcher.md)\n- [Grounding with Bing Search vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/bing-grounding-vs-parallel-search-api.md)\n- [Brave Search API + MCP vs NewsCatcher](https://www.anchorterminal.com/compare/brave-search-mcp-vs-newscatcher.md)\n- [Brave Search API + MCP vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/brave-search-mcp-vs-parallel-search-api.md)\n- [Cloudflare Web Search API vs NewsCatcher](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-newscatcher.md)\n- [Cloudflare Web Search API vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/cloudflare-web-search-vs-parallel-search-api.md)\n- [DeepSeek Search and Fetch API vs NewsCatcher](https://www.anchorterminal.com/compare/deepseek-search-api-vs-newscatcher.md)\n- [DeepSeek Search and Fetch API vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/deepseek-search-api-vs-parallel-search-api.md)\n- [Exa API + MCP vs NewsCatcher](https://www.anchorterminal.com/compare/exa-mcp-vs-newscatcher.md)\n- [Exa API + MCP vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/exa-mcp-vs-parallel-search-api.md)\n- [Firecrawl MCP vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-parallel-search-api.md)\n- [Kagi Search API vs NewsCatcher](https://www.anchorterminal.com/compare/kagi-search-vs-newscatcher.md)\n- [Kagi Search API vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/kagi-search-vs-parallel-search-api.md)\n- [Linkup vs NewsCatcher](https://www.anchorterminal.com/compare/linkup-vs-newscatcher.md)\n- [Linkup vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/linkup-vs-parallel-search-api.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- [NewsCatcher vs Perplexity Search API](https://www.anchorterminal.com/compare/newscatcher-vs-perplexity-search-api.md)\n- [NewsCatcher vs TinyFish Search](https://www.anchorterminal.com/compare/newscatcher-vs-tinyfish-search.md)\n- [Parallel Search and Task APIs vs Perplexity Search API](https://www.anchorterminal.com/compare/parallel-search-api-vs-perplexity-search-api.md)\n- [Parallel Search and Task APIs vs SearchAPI.io](https://www.anchorterminal.com/compare/parallel-search-api-vs-searchapi-io.md)\n- [Parallel Search and Task APIs vs SerpApi](https://www.anchorterminal.com/compare/parallel-search-api-vs-serpapi.md)\n- [Parallel Search and Task APIs vs Serper](https://www.anchorterminal.com/compare/parallel-search-api-vs-serper.md)\n- [Parallel Search and Task APIs vs SERPHouse](https://www.anchorterminal.com/compare/parallel-search-api-vs-serphouse.md)\n- [Parallel Search and Task APIs vs SerpKite](https://www.anchorterminal.com/compare/parallel-search-api-vs-serpkite.md)\n- [Parallel Search and Task APIs vs SpecStream](https://www.anchorterminal.com/compare/parallel-search-api-vs-specstream.md)\n- [Parallel Search and Task APIs vs Tavily API + MCP](https://www.anchorterminal.com/compare/parallel-search-api-vs-tavily-mcp.md)\n- [Parallel Search and Task APIs vs TinyFish Search](https://www.anchorterminal.com/compare/parallel-search-api-vs-tinyfish-search.md)\n- [Parallel Search and Task APIs vs Valyu](https://www.anchorterminal.com/compare/parallel-search-api-vs-valyu.md)\n- [Parallel Search and Task APIs vs You.com APIs](https://www.anchorterminal.com/compare/parallel-search-api-vs-you-com-api.md)\n- [Arcmira vs NewsCatcher](https://www.anchorterminal.com/compare/arcmira-vs-newscatcher.md)\n- [Arcmira vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/arcmira-vs-parallel-search-api.md)\n- [Grep AI vs NewsCatcher](https://www.anchorterminal.com/compare/grep-ai-vs-newscatcher.md)\n- [Grep AI vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/grep-ai-vs-parallel-search-api.md)\n- [NewsCatcher vs SpecStream](https://www.anchorterminal.com/compare/newscatcher-vs-specstream.md)\n- [Fetch (MCP reference server) vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/fetch-reference-server-vs-parallel-search-api.md)\n- [NewsCatcher vs SearchAPI.io](https://www.anchorterminal.com/compare/newscatcher-vs-searchapi-io.md)\n- [NewsCatcher vs SerpApi](https://www.anchorterminal.com/compare/newscatcher-vs-serpapi.md)\n- [NewsCatcher vs Serper](https://www.anchorterminal.com/compare/newscatcher-vs-serper.md)\n- [NewsCatcher vs SERPHouse](https://www.anchorterminal.com/compare/newscatcher-vs-serphouse.md)\n- [NewsCatcher vs SerpKite](https://www.anchorterminal.com/compare/newscatcher-vs-serpkite.md)\n- [NewsCatcher vs Tavily API + MCP](https://www.anchorterminal.com/compare/newscatcher-vs-tavily-mcp.md)\n- [NewsCatcher vs Valyu](https://www.anchorterminal.com/compare/newscatcher-vs-valyu.md)\n- [NewsCatcher vs You.com APIs](https://www.anchorterminal.com/compare/newscatcher-vs-you-com-api.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": "NewsCatcher vs Parallel Search and Task APIs",
        "url": ""
      }
    ],
    "description": "Parallel Search and Task scores 75 (BB) to NewsCatcher's 67.5 (B) for web search. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "NewsCatcher B 67.5",
      "Parallel Search and Task APIs BB 75",
      "scores"
    ],
    "h1": "NewsCatcher vs Parallel Search and Task APIs",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/newscatcher-vs-parallel-search-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "NewsCatcher vs Parallel Search and Task for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/newscatcher-vs-parallel-search-api"
  },
  "tokens": {
    "markdown": 5250,
    "slim": 2430
  },
  "version": 1
}
