# Diffbot vs ScrapeAtlas

> ScrapeAtlas scores 63 (B) to Diffbot's 54.3 (C) for extraction. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas
- Markdown: https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas.md (~2,900 tokens)
- Slim: https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas.min.md (~780 tokens, same facts, less prose, for token-sensitive contexts)
- JSON: https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas.json (this page as data, same URL with Accept: application/json)
- Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-10-30

ScrapeAtlas scores 63 (B) on agent readiness against Diffbot's 54.3 (C), and leads in 5 of 7 scored categories. Diffbot leads on reliability and transparency & trust. Both do extraction.

- Diffbot: grade C, 54.3/100, rank #811 of 1226. Markdown https://www.anchorterminal.com/tools/diffbot.md · JSON https://www.anchorterminal.com/api/v1/tools/diffbot.json
- ScrapeAtlas: grade B, 63/100, rank #481 of 1226. Markdown https://www.anchorterminal.com/tools/scrapeatlas.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapeatlas.json
- Best web scraping and crawling APIs for AI agents: https://www.anchorterminal.com/best/web-scrapers/index.md
- All 242 scrapers comparisons: https://www.anchorterminal.com/compare/web-scrapers/index.md

## Which one, for what

### Diffbot (C)

Good for: Agents that want typed article, product or discussion data from arbitrary pages without writing selectors, and teams that also want the Knowledge Graph.

Ahead on:
- Reliability, 55 against 42
- Transparency & trust, 68 against 61

Watch for: The token is sent as the `token` query parameter on Extract and Knowledge Graph calls. It is the only scheme in the OpenAPI file

### ScrapeAtlas (B)

Good for: Agents that need structured public data from a named social, video, forum, marketplace or prediction-market platform, such as a creator's profile and recent posts, a thread's comments, a product's reviews or a market's order book, paid per successful request without a subscription.

Ahead on:
- Schema & documentation, 88 against 83
- Agent ergonomics, 76 against 63
- Security & auth, 55 against 21
- Payments & pricing, 55 against 40
- Maintenance & community, 70 against 57

Watch for: No status page or incident history was found, and the terms promise no uptime, throughput or continued availability of an endpoint


## Score by category

| Category | Weight | Diffbot | ScrapeAtlas | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 55 | 42 | Diffbot +13 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 83 | 88 | ScrapeAtlas +5 |
| Agent ergonomics | 13% (16.2 this run) | 63 | 76 | ScrapeAtlas +13 |
| Security & auth | 14% (17.5 this run) | 21 | 55 | ScrapeAtlas +34 |
| Payments & pricing | 10% (12.5 this run) | 40 | 55 | ScrapeAtlas +15 |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 57 | 70 | ScrapeAtlas +13 |
| Transparency & trust | 7% (8.8 this run) | 68 | 61 | Diffbot +7 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **54.3 · C** | **63 · B** | |

## Facts side by side

| Fact | Diffbot | ScrapeAtlas |
| --- | --- | --- |
| Kind | HTTP API | HTTP API |
| Vendor | Diffbot Technologies Corp. | OD. Media & Technology LLC |
| Hosted endpoint | `https://api.diffbot.com/v3` | `https://api.scrapeatlas.com` |
| Transports | HTTP | HTTP, Streamable HTTP |
| Auth | API key | OAuth or key |
| Pricing | Freemium | Pay per use |
| Price for extraction | $0.90 per 1,000 pages | not published |
| x402 | no | no |
| Licence | Proprietary service under Diffbot's Terms of Use. The Python client, the TypeScript client and the agent skills are MIT | Proprietary service under ScrapeAtlas's Terms of Service. The @scrapeatlas/cli package on npm is MIT with no public source repository |
| Tools exposed | none | 373 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | not listed | `io.github.OnlineDopamine/scrapeatlas` |
| Last release | 2026-06-15 | 2026-10-28 |
| Terms last updated | no date given |  |
| Privacy policy last updated | 2025-08-29 |  |
| Customer content may train models | not found in the text |  |
| Terms restrict automated access | yes |  |
| Terms restrict benchmarking | not found in the text |  |
| Terms or service can change without notice | not found in the text |  |
| Arbitration or class-action waiver | yes |  |
| Popularity | 9 npm/wk, 45 PyPI/wk | none |

## Verdicts

**Diffbot.** Extract returns typed JSON for articles, products, discussions and other page types with no selectors to write, under a public OpenAPI 3.1 contract and a free plan that needs no card. The API token travels in the URL query string, tokens carry no scopes, and no security page, certification or security.txt was found.

**ScrapeAtlas.** An OpenAPI 3.1 file with 386 operations, typed parameters and a uniform failure object, published limits of 120 requests a minute and 4 concurrent, and 1 credit per successful request with failed calls free. No status page, security.txt or SDKs, the MCP server is a preview with 373 tools, and the product is five weeks old.

## Before you call either

### Diffbot

1. Call `GET https://api.diffbot.com/v3/analyze?url=<encoded URL>&token=<token>` when the page type is unknown. Use `/v3/article` or `/v3/product` to force one schema
2. Keep the token out of logs and shared URLs. It sits in the query string, so any proxy or log that records the request URL records the token
3. Stay under 5 calls a minute on Free, 5 a second on Startup and 25 a second on Plus. On 429 wait at least one second and back off
4. Check a 200 response for `errorCode`. The official client raises `ExtractionError` when a 200 reports a failed extraction
5. Set `useProxy=default` only when a site blocks the fetch. A proxied page costs 2 credits against 1
6. Install `diffbot` from PyPI, not `diffbot-python`, which stopped at 0.3.0

### ScrapeAtlas

1. Send the key as `x-api-key` on https://api.scrapeatlas.com and check `status` on every HTTP 200; `partial` is usable data with `coverage.warnings`, `failed` and `challenged` carry `failure.code`.
2. Retry only on `upstream_rate_limited`, `timeout` and `busy`, after the `retry-after` on a 429. Stay under 120 requests a minute and 4 concurrent per account.
3. Pass the returned `cursor` back unchanged for the next page, and use `since` and `until` (ISO 8601 or Unix seconds) where listed; each page costs another credit.
4. Each platform has its own response schema, so read the endpoint's response fields before mapping; unknown values are `null`, never 0.
5. For MCP, connect to https://api.scrapeatlas.com/mcp over Streamable HTTP with `Authorization: Bearer` and expect 373 tools; the two account tools and failed calls cost 0 credits.

## Questions

### Which is better for AI agents, Diffbot or ScrapeAtlas?

ScrapeAtlas scores 63 (B) on agent readiness against Diffbot's 54.3 (C), and leads in 5 of 7 scored categories. Diffbot leads on reliability and transparency & trust.

### Do Diffbot and ScrapeAtlas need an API key?

Diffbot needs an API key. ScrapeAtlas takes an API key or an OAuth sign-in.

### Can an agent call Diffbot and ScrapeAtlas without installing anything?

Yes. Diffbot has a hosted endpoint at https://api.diffbot.com/v3 and ScrapeAtlas at https://api.scrapeatlas.com.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas.json, and with the fewest tokens: https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "diffbot", "b": "scrapeatlas"}`. From a terminal: `anchor compare diffbot scrapeatlas`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/diffbot.json and https://www.anchorterminal.com/api/v1/tools/scrapeatlas.json

## Other comparisons with Diffbot or ScrapeAtlas

- [Bright Data vs Diffbot](https://www.anchorterminal.com/compare/bright-data-vs-diffbot.md)
- [Context.dev vs Diffbot](https://www.anchorterminal.com/compare/context-dev-vs-diffbot.md)
- [Diffbot vs Jina Reader](https://www.anchorterminal.com/compare/diffbot-vs-jina-reader.md)
- [Diffbot vs Scrape.do](https://www.anchorterminal.com/compare/diffbot-vs-scrape-do.md)
- [Diffbot vs Scrapeless](https://www.anchorterminal.com/compare/diffbot-vs-scrapeless.md)
- [Context.dev vs ScrapeAtlas](https://www.anchorterminal.com/compare/context-dev-vs-scrapeatlas.md)
- [Diffbot vs Firecrawl MCP](https://www.anchorterminal.com/compare/diffbot-vs-firecrawl-mcp.md)
- [Diffbot vs jevcrawl](https://www.anchorterminal.com/compare/diffbot-vs-jevcrawl.md)
- [Diffbot vs Olostep](https://www.anchorterminal.com/compare/diffbot-vs-olostep.md)
- [Diffbot vs Oxylabs Web Scraper API](https://www.anchorterminal.com/compare/diffbot-vs-oxylabs-web-scraper.md)
- [Diffbot vs ScrapeGraphAI](https://www.anchorterminal.com/compare/diffbot-vs-scrapegraphai.md)
- [Diffbot vs ScraperAPI](https://www.anchorterminal.com/compare/diffbot-vs-scraperapi.md)
- [Diffbot vs Scrapewise](https://www.anchorterminal.com/compare/diffbot-vs-scrapewise.md)
- [Diffbot vs Scrapfly](https://www.anchorterminal.com/compare/diffbot-vs-scrapfly.md)
- [Diffbot vs ScrapingAnt](https://www.anchorterminal.com/compare/diffbot-vs-scrapingant.md)
- [Diffbot vs ScrapingBee](https://www.anchorterminal.com/compare/diffbot-vs-scrapingbee.md)
- [Diffbot vs Scrapingdog](https://www.anchorterminal.com/compare/diffbot-vs-scrapingdog.md)
- [Diffbot vs Spider](https://www.anchorterminal.com/compare/diffbot-vs-spider-cloud.md)
- [Diffbot vs ZenRows](https://www.anchorterminal.com/compare/diffbot-vs-zenrows.md)
- [Diffbot vs Zyte API](https://www.anchorterminal.com/compare/diffbot-vs-zyte.md)
- [Firecrawl MCP vs ScrapeAtlas](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapeatlas.md)
- [jevcrawl vs ScrapeAtlas](https://www.anchorterminal.com/compare/jevcrawl-vs-scrapeatlas.md)
- [Olostep vs ScrapeAtlas](https://www.anchorterminal.com/compare/olostep-vs-scrapeatlas.md)
- [Oxylabs Web Scraper API vs ScrapeAtlas](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapeatlas.md)
- [ScrapeAtlas vs ScrapeGraphAI](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapegraphai.md)
- [ScrapeAtlas vs ScraperAPI](https://www.anchorterminal.com/compare/scrapeatlas-vs-scraperapi.md)
- [ScrapeAtlas vs Scrapewise](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapewise.md)
- [ScrapeAtlas vs Scrapfly](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapfly.md)
- [ScrapeAtlas vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingant.md)
- [ScrapeAtlas vs ScrapingBee](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingbee.md)
- [ScrapeAtlas vs Scrapingdog](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingdog.md)
- [ScrapeAtlas vs Spider](https://www.anchorterminal.com/compare/scrapeatlas-vs-spider-cloud.md)
- [ScrapeAtlas vs ZenRows](https://www.anchorterminal.com/compare/scrapeatlas-vs-zenrows.md)
- [ScrapeAtlas vs Zyte API](https://www.anchorterminal.com/compare/scrapeatlas-vs-zyte.md)
- [Apify MCP Server vs Diffbot](https://www.anchorterminal.com/compare/apify-mcp-vs-diffbot.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
