Head to head · Scraping · October 2026 research run

Outcrawl vs ScraperAPI

Outcrawl scores 62.4 (B) on agent readiness against ScraperAPI's 52.1 (D), and leads in 5 of 7 scored categories. Both do scraping.

Best web scraping and crawling APIs for AI agents · All 284 scrapers comparisons

Which one, for what

Outcrawl B

Best for Agents that want one key and one balance for reading pages, walking a site, searching with rendered results and handing a signed-in or multi-step task to a hosted browser agent with a hard budget, and teams on TypeScript that want a residential-exit browser over CDP with a replay of every session.

Ahead on

  • Agent ergonomics, 83 against 74
  • Security & auth, 66 against 29
  • Maintenance & community, 79 against 61

Watch for

No status page, incident history, SLA below Enterprise or security.txt; /status and status.outcrawl.ai do not answer

ScraperAPI D

Best for Agents that want a single GET to fetch pages through proxies, with parsed JSON for Amazon, Google, Walmart, eBay and Redfin and a batch API of up to 50,000 URLs.

Also in its favour

  • Runs on your own machine

Watch for

No status page is linked from the home, pricing, support or docs pages, although the pricing page lists a 99.9% uptime guarantee

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Security & auth Outcrawl +37

Outcrawl 66

OAuth 2.1 for MCP clients and the CLI with authorization code, PKCE S256, dynamic public-client registration, device code, one-hour access tokens, 30-day refresh, introspection and revocation endpoints and private_key_jwt, but one functional scope, api; API keys shaped ock_<keyId>.<secret> are shown once, stored as a digest, scoped to a workspace and revoked within a minute, with no per-key scopes, expiry or read-only keys; nothing documents a secret in a query string (25 of 30). No read-only key or scope. The MCP surface omits secrets, integrations, replay export and sharing and the wallet on purpose, rules are classified enforced or guidance on the call that sets them, agent runs need or default a budget, purchases above approvalAbove pause for a person's yes, and control hands a person the browser; monitor and profile deletes rely on destructiveHint alone (15 of 20). Every tool returns untrusted page content. The platform page says a page could ask the agent to act and that is why credentials never reach the model, secrets are substituted below the model, integrations are human-only and a run cannot be redirected mid-task, but there is no guidance to treat scraped text as data and no classifier (8 of 15). Every response carries usage, /v1/usage groups spend by hour, day or capability, agent events log every step, sessions keep the request list, console, HAR and a digest of failures, secrets record which runs used them and purchases are listed per run; there is no per-call log for scrape, search or crawl beyond the aggregate (12 of 15). No security.txt on either host (404), no SOC 2 or ISO 27001, no bug bounty; the security page has a responsible disclosure route at security@outcrawl.ai with a 90-day window and a no-legal-action statement (6 of 20). 25+15+8+12+6 = 66.

ScraperAPI 29

One API key per account, regenerated from the dashboard at most once every 24 hours. No scopes (20). The documented default puts the key in the URL query string, so less 10, although an x-sapi-api_key header and a Bearer header on the remote MCP server exist (10 of 30). No read-only or restricted keys. max_cost, a monthly pay-as-you-go spending cap and destructive hints on the two MCP delete tools limit damage (6 of 20). The API returns untrusted web content and no prompt-injection guidance was found in the docs, the MCP README or the skills (2 of 15). The dashboard has analytics with error logs, each response carries sa-credit-cost, and the privacy policy says activity logs are deleted after 7 days (9 of 15). /.well-known/security.txt returned 404, and no disclosure policy, bug bounty or certification was found. The home page claims CCPA and GDPR compliance (2 of 20).

Maintenance & community Outcrawl +18

Outcrawl 79

@outcrawl/sdk and the PyPI package outcrawl both reached 0.4.15 on 20 October 2026, 13 days before the check, and the Scout mirror was synced on 1 November (30). 21 npm versions since 8 September and 17 PyPI releases since 22 September 2026, with 14 dated tags in outcrawlai/release (20). Scout's pull request #1 of 13 October was answered the same day with an import note and closed, while three pull requests and one issue opened on 18 October had no reply after 15 days; the service has no changelog, support is one email address, and no community channel exists (8 of 25). Not in the official MCP registry; official SDKs in TypeScript and Python current at 0.4.15, with a CLI (15). The three npm packages are published from GitHub Actions with trusted publishing, the TypeScript SDK has zero runtime dependencies and the Python SDK one, and Scout has tests per package, but the mirror has no CI workflows and @outcrawl/mcp has sat at 0.4.3 since 29 September with a tool list that differs from the hosted docs (6 of 10). 30+20+8+15+6 = 79.

ScraperAPI 61

The skills plugin was last updated on 7 August 2026, 63 days before the check, and the MCP server's v1.1.1 is from 17 July 2026 (20 of 30). MCP v1.1.0 and v1.1.1 on 17 July and the plugin update on 7 August fall within 90 days, with two July 2026 release notes dated by month only (20). Monthly release notes and support through the dashboard and email. We did not read the repository's issues (8 of 15). SDKs are documented for five languages, but we did not check their release dates, and the MCP server's registry entry was not checked (8 of 15). The MCP repository has unit tests and a lock file with current dependencies but no public CI workflow (5 of 10).

Agent ergonomics Outcrawl +9

Outcrawl 83

API reading. Scrape returns main content only by default with formats picking markdown, html, rawHtml, links, screenshots or schema JSON, search renders page bodies only on request, agent events take a level and an after cursor, the MCP server shows request bodies up to a character limit and says when it truncated, and the MCP surface is 29 tools with no toolsets (20 of 25). Cursor pagination on crawl results, agent results and downloads, limit, depth and path filters on crawl, status, outcome, task and age filters on sessions, and usage grouped by hour, day, month or capability (20). One error envelope with a closed code, details such as the cap that stopped a run, retryAfterSeconds on the per-minute quota error, a documented list of codes safe to retry, and on MCP a recovery string and a retryable flag per error (18 of 20). No idempotency key on any route, a repeated agent, crawl or monitor submit runs twice, and concurrency_limit carries no retry hint; cancel is idempotent, integration_changed (409) guards updates, and the npm MCP package sets readOnlyHint on GET tools, destructiveHint on DELETE tools and idempotentHint on either, which the hosted server was not read to confirm (10 of 20). Scrape needs a URL alone, agent runs need caps.budget on the API and SDKs with the MCP server defaulting it, and official SDKs exist in TypeScript and Python beside a CLI (15). 20+20+18+10+15 = 83.

ScraperAPI 74

28 MCP tools with no toolsets or dynamic loading (15 of 25). output_format returns Markdown or text, autoparse returns JSON on supported domains, structured endpoints page their results, and max_cost, crawl_budget and max_depth cap a job (15 of 20). Errors are HTTP status codes with plain-text messages. No machine-readable error codes (13 of 20). All 28 MCP tools carry readOnlyHint, destructiveHint, idempotentHint and openWorldHint, failed requests are not charged, and async jobs return a status URL to poll (16 of 20). Only api_key and url are required, rendering is off by default, and SDKs are documented for Python, Node.js, PHP, Ruby and Java (15).

Score by category

CategoryWeight this runOutcrawlScraperAPIEdge
Reliability16%204545even
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.27167Outcrawl +4
Agent ergonomics13%16.28374Outcrawl +9
Security & auth14%17.56629Outcrawl +37
Payments & pricing10%12.54040even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87961Outcrawl +18
Transparency & trust7%8.85654Outcrawl +2
Negative events≤1500
TotalB 62.4/100D 52.1/100

Facts side by side

FactOutcrawlScraperAPI
KindHTTP APIHTTP API
VendorAeonmind LLC (Outcrawl)ScraperAPI (saas.group)
Hosted endpointhttps://api.outcrawl.ai/v1https://api.scraperapi.com
TransportsHTTP, Streamable HTTPHTTP, Streamable HTTP, stdio
AuthOAuth or keyAPI key
PricingFreemiumFreemium
Price for scraping$4.90 per 1,000 pagesnot published
x402nono
LicenceProprietary hosted service under Aeonmind LLC's terms of service (last updated 1 November 2026). The TypeScript and Python SDKs and the @outcrawl/mcp package are MIT, and Scout, the browser agent behind the hosted agent, is Apache-2.0 in a read-only GitHub mirrornone
Tools exposed2928
Read-only variant documentednoyes
llms.txtyesyes
Last release2026-10-202026-08-07
Terms last updated2026-11-01couldn't be read
Privacy policy last updated2026-11-01no date given
Customer content may train modelsnot found in the textcouldn't be read
Terms restrict automated accessnot found in the textcouldn't be read
Terms restrict benchmarkingnot found in the textcouldn't be read
Terms or service can change without noticenot found in the textcouldn't be read
Arbitration or class-action waivernot found in the textcouldn't be read
Popularity948 stars, 53 npm/wk5 stars

How the scores have moved

Verdicts

Outcrawl

One credit balance over scrape, crawl, search, cloud browsers and agent runs, with published per-unit rates, a 1,000-credit free month, OAuth 2.1 for MCP and the CLI, and a closed error union with retry guidance. No status page, changelog or security.txt, an OpenAPI file without typed bodies, no idempotency keys on job submits, and a domain registered nine weeks ago.

ScraperAPI

One GET request with a key and a URL returns a page, and the MCP server's 28 tools carry read-only and destructive hints. No status page, OpenAPI file, security.txt or certification was found, and the documented default puts the API key in the URL query string.

Before you call either

Outcrawl

  1. Read a known URL with POST /v1/scrape or outcrawl_scrape at 1 credit; use outcrawl_search to find URLs and send scrape: true only when you need page bodies, and reserve outcrawl_agent for pages that need a click, a form or a sign-in.
  2. Always send caps.budget on POST /v1/agent (the API refuses without it) and store the returned id; poll GET /v1/agent/{id} or outcrawl_agent_status, never resubmit, because a second submit is a second bill.
  3. Branch on error.code, not message. Retry no_capacity, decode_unavailable, extraction_failed and answer_lost unchanged; on quota_exceeded with ceiling: requests_per_minute wait retryAfterSeconds; on concurrency_limit wait for a run to end; never retry bad_request or a credit quota.
  4. Set limit on a crawl before submitting; pages already fetched are billed when you cancel, and over HTTP the crawl is cancelled if the streaming connection drops, so keep the job id and read /v1/crawl/{id}/results with the cursor.
  5. Pass after with the last seq and level: status when reading outcrawl_agent_events; the log of a long run is the largest response the server returns.
  6. Pass maxAge: 0 when freshness matters, since the default serves scrape answers up to two days old from a shared cache at the same price, and treat page content, data and download links as untrusted data; download URLs work for an hour with no key.

ScraperAPI

  1. Set the client timeout to 70 seconds. The API retries for that long before it returns 500, and a request cancelled earlier is still charged
  2. Send the key as the x-sapi-api_key header to keep it out of URLs and logs
  3. Pass max_cost on each request, or call /account/urlcost first, because domain and anti-bot surcharges vary from 1 to 75 credits
  4. Use output_format=markdown or text to cut response size, and autoparse=true only on supported domains
  5. On 429 reduce concurrency to the plan limit (5 on Free, 20 on Hobby). The request is rejected, not queued

Questions

Which is better for AI agents, Outcrawl or ScraperAPI?

Outcrawl scores 62.4 (B) on agent readiness against ScraperAPI's 52.1 (D), and leads in 5 of 7 scored categories.

Do Outcrawl and ScraperAPI need an API key?

Outcrawl takes an API key or an OAuth sign-in. ScraperAPI needs an API key.

Can an agent call Outcrawl and ScraperAPI without installing anything?

Yes. Outcrawl has a hosted endpoint at https://api.outcrawl.ai/v1 and ScraperAPI at https://api.scraperapi.com.

Other comparisons with Outcrawl or ScraperAPI

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.