{
  "data": {
    "a": {
      "slug": "diffbot",
      "name": "Diffbot",
      "vendor": "Diffbot Technologies Corp.",
      "vendorUrl": "https://www.diffbot.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Diffbot is a hosted set of web data APIs from Diffbot Technologies Corp. of Menlo Park, California. Its Extract API classifies a page and returns typed JSON, alongside Crawl, Web Search, Natural Language and Knowledge Graph APIs.",
      "url": "https://www.anchorterminal.com/tools/diffbot",
      "markdownUrl": "https://www.anchorterminal.com/tools/diffbot.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/diffbot.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/diffbot.json",
      "repo": "https://github.com/diffbot/diffbot-python",
      "license": "Proprietary service under Diffbot's Terms of Use. The Python client, the TypeScript client and the agent skills are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.diffbot.com/v3",
      "packages": [
        {
          "registry": "pypi",
          "name": "diffbot"
        },
        {
          "registry": "npm",
          "name": "@diffbot/typescript"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve token from the dashboard at app.diffbot.com, sent as the `token` query parameter on Extract and Knowledge Graph calls. The official client sends it as a Bearer header to the Web Search endpoint. Tokens carry no scopes. Child tokens have the same rights as the primary token and can be created in the dashboard on the Plus plan and above, or through support. A changelog entry of 30 June 2025 is titled as adding labels and a disable switch for tokens in the dashboard.",
      "pricing": "freemium",
      "pricingNotes": "Free plan of 10,000 credits a month at 5 requests a minute, with no card, so an agent's owner can start without a contract. Startup is $299 a month for 250,000 credits with overage at $0.001 a credit, Plus $899 for 1,000,000 with overage at $0.0009 and access to Crawl, Enterprise by sales. One extracted page is 1 credit, or 2 through the data centre proxy. Whether a failed extraction uses a credit was not found (https://www.diffbot.com/pricing).",
      "priceSummary": "$1 / 1k pages",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the pricing page, the authentication and rate limit docs, the Extract OpenAPI file or the official clients (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 9,
        "pypiWeekly": 45,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://www.diffbot.com/docs/",
      "llmsTxt": "https://www.diffbot.com/llms.txt",
      "openapi": "https://www.diffbot.com/openapi/extract.json",
      "capabilities": [
        "web.extract",
        "web.scrape",
        "web.crawl",
        "scraping.proxies",
        "web.search",
        "data.knowledge",
        "data.company"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "api-key",
        "openapi",
        "llms-txt",
        "agent-skills",
        "cli",
        "python",
        "typescript",
        "proxies",
        "knowledge-graph",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-06-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.3,
        "grade": "C",
        "agentReady": false,
        "rank": 811,
        "ranked": true,
        "rankOf": 1226,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 63,
          "maintenance": 57,
          "payments": 40,
          "reliability": 55,
          "schema": 83,
          "security": 21,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Agents that want typed article, product or discussion data from arbitrary pages without writing selectors, and teams that also want the Knowledge Graph.",
        "strengths": [
          "OpenAPI 3.1.0 description of the Extract APIs (version 1.1.0, 13 operations) is published at `/openapi/extract.json` and the reference pages are generated from it",
          "Free plan of 10,000 credits a month with no card, and a public credit table. One extracted page costs 1 credit, or 2 through the data centre proxy",
          "Official Python and TypeScript clients and ten agent skills, all MIT. The Python client reached 3.0.0 on 28 September 2026 with tests on Python 3.9 to 3.13",
          "Dated changelog with an RSS feed going back to 2015, and a `/v3` path for the Extract APIs",
          "The privacy policy of 29 August 2025 names each service provider, among them AWS, Stripe, Intercom and Salesforce, and says all are in the United States"
        ],
        "weaknesses": [
          "The token is sent as the `token` query parameter on Extract and Knowledge Graph calls. It is the only scheme in the OpenAPI file",
          "Child tokens have the same access rights as the primary token, and creating them needs the Plus plan ($899 a month) or a request to support",
          "No security page, certification, bug bounty or security.txt was found on the pages read. The privacy policy says some API calls rely on HTTP without encryption",
          "The status page is a Pingdom report with seven days of uptime per check and no incident notes. Analyze API shows 99.69 per cent for the week to 9 October 2026",
          "The docs give `pip install diffbot-python` and `pnpm add diffbot-typescript`, while the repositories now name the packages `diffbot` and `@diffbot/typescript`",
          "The terms grant Diffbot a perpetual, irrevocable licence to process submitted queries, cap liability at $10, and forbid software that scrapes or crawls the Site or Service. That clause matters before any probe is run"
        ],
        "agentNotes": [
          "Call `GET https://api.diffbot.com/v3/analyze?url=\u003cencoded URL\u003e\u0026token=\u003ctoken\u003e` when the page type is unknown. Use `/v3/article` or `/v3/product` to force one schema",
          "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",
          "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",
          "Check a 200 response for `errorCode`. The official client raises `ExtractionError` when a 200 reports a failed extraction",
          "Set `useProxy=default` only when a site blocks the fetch. A proxied page costs 2 credits against 1",
          "Install `diffbot` from PyPI, not `diffbot-python`, which stopped at 0.3.0"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.3
          }
        ],
        "editorialScores": {
          "ergonomics": 63,
          "maintenance": 57,
          "payments": 40,
          "reliability": 55,
          "schema": 83,
          "security": 21,
          "transparency": 49
        },
        "provenanceScore": 87,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-09",
            "maintenance": "2026-10-09",
            "payments": "2026-10-09",
            "reliability": "2026-10-09",
            "schema": "2026-10-09",
            "security": "2026-10-09",
            "transparency": "2026-10-09"
          },
          "last": "2026-10-09",
          "oldest": "2026-10-09",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "python3 -m pip install diffbot",
        "http": "curl --request GET \\\n  --url 'https://api.diffbot.com/v3/analyze?token=\u003cDIFFBOT_TOKEN\u003e\u0026url=https%3A%2F%2Fwww.diffbot.com%2Fdocs%2Fintroduction' \\\n  --header 'accept: application/json'",
        "claudeCode": "/plugin marketplace add diffbot/diffbot-skills\n/plugin install diffbot@diffbot-skills"
      },
      "letme": {
        "capability": "https://letme.dev/web.extract",
        "tool": "https://letme.dev/diffbot"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Extracted page, Startup overage",
          "unit": "1k-pages",
          "usd": 1,
          "note": "1 credit a page at $0.001 a credit"
        },
        {
          "item": "Extracted page through the data centre proxy, Startup overage",
          "unit": "1k-pages",
          "usd": 2,
          "note": "2 credits a page"
        },
        {
          "item": "Extracted page, Plus overage",
          "unit": "1k-pages",
          "usd": 0.9,
          "note": "1 credit a page at $0.0009 a credit"
        },
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 299,
          "note": "250,000 credits, 5 requests a second"
        },
        {
          "item": "Plus plan",
          "unit": "month",
          "usd": 899,
          "note": "1,000,000 credits, 25 requests a second, Crawl"
        }
      ],
      "provenance": {
        "legalEntity": "Diffbot Technologies Corp.",
        "domain": "diffbot.com",
        "domainRegistered": "2004-08-14",
        "endpointOnVendorDomain": true,
        "terms": "https://www.diffbot.com/company/terms",
        "privacy": "https://www.diffbot.com/company/privacy",
        "statusPage": "https://status.diffbot.com",
        "changelog": "https://www.diffbot.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Terms of Use name Diffbot Technologies Corp. as operator and cover both the Site and the Service, defined as the service that converts a web page into entities and facts. They are the only terms the site links, carry no date, and are the document that governs the API.",
          "The privacy policy was last updated on 29 August 2025, covers visitors, subscribers and people in the index, and gives the address 333 Ravenswood Ave, Menlo Park, CA 94025.",
          "www.diffbot.com/.well-known/security.txt returned 404. No security or trust page is linked from the home page or footer.",
          "The Extract APIs answer at api.diffbot.com, the Knowledge Graph at kg.diffbot.com, Natural Language at nl.diffbot.com and Web Search at llm.diffbot.com, per the docs and the official client's defaults.",
          "RDAP at Verisign gives a registration date of 2004-08-14 for diffbot.com.",
          "robots.txt on www.diffbot.com allows every path. status.diffbot.com disallows only Alexabot."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/diffbot.json",
      "live": {
        "slug": "diffbot",
        "probe": {
          "target": "https://api.diffbot.com/v3",
          "method": "get",
          "lastAt": "2026-10-30T13:20:16.815533847Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 426,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 429,
          "p95ms24h": 530,
          "samples24h": 249,
          "samples30d": 5238,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "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": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 139,
              "ok": 139
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.diffbot.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-30T12:50:24.714003582Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "diffbot/diffbot-python",
            "version": "v3.0.0",
            "released": "2026-09-28",
            "seenAt": "2026-10-29T13:04:08.329007398Z"
          },
          {
            "registry": "npm",
            "name": "@diffbot/typescript",
            "version": "0.2.0",
            "seenAt": "2026-10-29T13:04:07.308826196Z"
          },
          {
            "registry": "pypi",
            "name": "diffbot",
            "version": "3.0.0",
            "released": "2026-09-28",
            "seenAt": "2026-10-29T13:04:07.109609665Z"
          }
        ],
        "githubStars": 126,
        "npmWeekly": 3,
        "pypiWeekly": 33,
        "securityTxt": {
          "url": "https://diffbot.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-29T15:36:58.422041493Z"
        },
        "llmsTxt": {
          "url": "https://www.diffbot.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-29T15:03:59.093262865Z"
        },
        "domain": {
          "domain": "diffbot.com",
          "registered": "2004-08-14",
          "source": "https://rdap.verisign.com/com/v1/domain/diffbot.com",
          "checkedAt": "2026-10-25T14:04:51.729790689Z"
        },
        "pages": [
          {
            "url": "https://www.diffbot.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-30T05:54:43.227180558Z",
            "changedAt": "2026-10-30T05:54:43.227180558Z",
            "fingerprint": "aafbed2345a0"
          },
          {
            "url": "https://www.diffbot.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-30T05:54:49.489786389Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "86884503041e"
          },
          {
            "url": "https://www.diffbot.com/company/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-30T05:54:45.646880996Z",
            "changedAt": "2026-10-17T23:15:07.243669117Z",
            "fingerprint": "53b83d48cccd"
          },
          {
            "url": "https://www.diffbot.com/company/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-30T05:54:47.545848564Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a76686da1f94"
          }
        ],
        "github": {
          "repo": "diffbot/diffbot-python",
          "checkedAt": "2026-10-26T07:23:30.684434434Z",
          "stars": 126,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-26T04:03:49Z",
          "openIssues": 0,
          "openPRs": 1,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "ci": {
            "branch": "main",
            "runs": 19,
            "success": 19,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-09-28T22:54:17Z"
          }
        },
        "updatedAt": "2026-10-30T13:20:16.815533847Z"
      }
    },
    "answer": "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 \u0026 trust.",
    "b": {
      "slug": "scrapeatlas",
      "name": "ScrapeAtlas",
      "vendor": "OD. Media \u0026 Technology LLC",
      "vendorUrl": "https://scrapeatlas.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "ScrapeAtlas is a hosted API that returns public profiles, posts, comments, videos, ads, products and market data from 49 social, video, forum, marketplace and prediction-market platforms as JSON, with a CLI, an n8n node and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/scrapeatlas",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrapeatlas.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrapeatlas.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrapeatlas.json",
      "license": "Proprietary service under ScrapeAtlas's Terms of Service. The @scrapeatlas/cli package on npm is MIT with no public source repository",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.scrapeatlas.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@scrapeatlas/cli"
        },
        {
          "registry": "npm",
          "name": "n8n-nodes-scrapeatlas"
        }
      ],
      "auth": "mixed",
      "authNotes": "A customer API key (prefix `sa_live_`) created on the account page, sent as `x-api-key` or `Authorization: Bearer` to https://api.scrapeatlas.com. Several keys share one credit balance, keys carry an expiry date, and revocation takes effect within 60 seconds per the authentication page. No scopes or per-platform keys. The hosted MCP server at https://api.scrapeatlas.com/mcp takes the same key as a Bearer token, or an OAuth authorization-code flow with PKCE S256, dynamic client registration at /oauth/register and one scope, `scrapeatlas`; the MCP page calls OAuth-only connectors unsupported in the preview. Keys can't buy credits or manage the account, which need a dashboard session.",
      "pricing": "usage",
      "pricingNotes": "100 free credits at signup with no card, then one-time credit packs of 10,000 for $19 ($1.90 per 1,000), 50,000 for $89 ($1.78) and 200,000 for $249 ($1.25) on the home page (30 October 2026). One credit per successful request, partial results and valid empty collections included, 2 credits on LinkedIn post search, the six Quora search endpoints and Threads user search. Failed requests, account utilities and internal retries cost 0. Credits never expire, and there are no subscriptions. Eight Actors on the Apify Store cost $1.98 per 1,000 successful requests with no ScrapeAtlas account.",
      "priceSummary": "$1.90 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on scrapeatlas.com, in the docs, llms.txt or the OpenAPI file (checked 2026-10-30). Credit packs are bought through a hosted Stripe Checkout from a dashboard session. The only route without a ScrapeAtlas account is the vendor's eight Actors on the Apify Store, paid through Apify.",
        "endpoints": []
      },
      "toolCount": 373,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://scrapeatlas.com/docs/",
      "llmsTxt": "https://scrapeatlas.com/docs/llms.txt",
      "openapi": "https://scrapeatlas.com/docs/openapi.json",
      "registryName": "io.github.OnlineDopamine/scrapeatlas",
      "capabilities": [
        "web.extract",
        "social.analytics",
        "data.markets"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "openapi",
        "llms-txt",
        "mcp",
        "cli",
        "free-tier",
        "no-card",
        "prepaid",
        "usage-priced",
        "new"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63,
        "grade": "B",
        "agentReady": false,
        "rank": 481,
        "ranked": true,
        "rankOf": 1226,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 70,
          "payments": 55,
          "reliability": 42,
          "schema": 88,
          "security": 55,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-30"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "A public OpenAPI 3.1 file with 386 operations, enums or patterns on most parameters, a response example on 373 operations and error responses on every data endpoint",
          "One response envelope on every endpoint, with `status`, `coverage.warnings`, `requestId` and `accounting`, and 33 failure codes the docs sort into retryable and not",
          "Limits published as 120 requests a minute and 4 concurrent per account, with a `retry-after` on 429 and `x-credits-charged` and `x-credits-remaining` headers",
          "One credit per successful request, failed requests and internal retries free, 100 credits at signup without a card, and packs from $1.25 to $1.90 per 1,000",
          "Account usage and activity endpoints at 0 credits, with per-request metadata filterable by platform, operation and status"
        ],
        "weaknesses": [
          "No status page or incident history was found, and the terms promise no uptime, throughput or continued availability of an endpoint",
          "API keys have no scopes, and the MCP OAuth flow has a single scope, `scrapeatlas`",
          "No security.txt, disclosure policy, bug bounty or certification was found; keys are stored hashed per the privacy policy",
          "The MCP server is a preview that loads 373 tool definitions with no documented subset, and the registry entry under a personal GitHub namespace is at 1.0.0 from 5 October",
          "No official SDKs; the npm CLI has no public source repository, and support in the dashboard is for customers with a credit purchase",
          "Every response is third-party page content and the docs carry no guidance on treating it as untrusted"
        ],
        "agentNotes": [
          "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`.",
          "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.",
          "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.",
          "Each platform has its own response schema, so read the endpoint's response fields before mapping; unknown values are `null`, never 0.",
          "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."
        ],
        "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": 63
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 70,
          "payments": 55,
          "reliability": 42,
          "schema": 88,
          "security": 55,
          "transparency": 54
        },
        "provenanceScore": 67,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-30",
            "maintenance": "2026-10-30",
            "payments": "2026-10-30",
            "reliability": "2026-10-30",
            "schema": "2026-10-30",
            "security": "2026-10-30",
            "transparency": "2026-10-30"
          },
          "last": "2026-10-30",
          "oldest": "2026-10-30",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @scrapeatlas/cli",
        "http": "curl \"https://api.scrapeatlas.com/v1/bluesky/profile?handle=bsky.app\" -H \"x-api-key: $SCRAPEATLAS_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/web.extract",
        "tool": "https://letme.dev/scrapeatlas"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "10,000-credit pack",
          "unit": "1k-requests",
          "usd": 1.9,
          "note": "$19 one-time, 1 credit per successful request, home page checked 30 October 2026"
        },
        {
          "item": "50,000-credit pack",
          "unit": "1k-requests",
          "usd": 1.78,
          "note": "$89 one-time"
        },
        {
          "item": "200,000-credit pack",
          "unit": "1k-requests",
          "usd": 1.25,
          "note": "$249 one-time; not named in the OpenAPI checkout operation or on the affiliate page"
        },
        {
          "item": "Apify Store Actors",
          "unit": "1k-requests",
          "usd": 1.98,
          "note": "successful requests, paid through Apify, no ScrapeAtlas account; TikTok, Instagram, Meetup and Couchsurfing only"
        }
      ],
      "provenance": {
        "legalEntity": "OD. Media \u0026 Technology LLC",
        "domain": "scrapeatlas.com",
        "domainRegistered": "2026-09-10",
        "endpointOnVendorDomain": true,
        "terms": "https://scrapeatlas.com/terms/",
        "privacy": "https://scrapeatlas.com/privacy/",
        "statusPage": "",
        "changelog": "https://scrapeatlas.com/changelog/",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "notes": [
          "The Terms of Service (last updated 29 September 2026), the privacy policy (19 October 2026) and the Public Data Notice (29 September 2026) name OD. Media \u0026 Technology LLC, License No. 2431901.01, Sharjah Media City, Sharjah, United Arab Emirates, governed by UAE and Sharjah law. The contact address on all three is on a different domain, fddigital.net.",
          "RDAP for scrapeatlas.com gives a registration date of 2026-09-10 through NameCheap. The earliest Wayback Machine capture, 11 September 2026, lists ten platforms as live private services and says public self-service access is not open yet.",
          "firstReleased is the changelog's first entry, 21 September 2026, which also records CLI 0.10.0 with every endpoint as a CLI command and an MCP tool. The npm CLI's 0.1.0 is dated 12 September 2026, before self-service access opened. The changelog itself was published on 24 September.",
          "https://scrapeatlas.com/.well-known/security.txt and https://scrapeatlas.com/status/ answer 404. api.scrapeatlas.com answers robots.txt with a JSON error per the 30 October listing check, so only its two OAuth metadata documents were read.",
          "The MCP registry entry io.github.OnlineDopamine/scrapeatlas sits under a personal GitHub namespace, the account that also publishes the npm packages, not under a company organisation."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapeatlas.json",
      "live": {
        "slug": "scrapeatlas",
        "probe": {
          "target": "https://api.scrapeatlas.com",
          "method": "get",
          "lastAt": "2026-10-30T13:20:35.331161564Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 159,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 162,
          "p95ms24h": 243,
          "samples24h": 17,
          "samples30d": 17,
          "days": [
            {
              "date": "2026-10-30",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "updatedAt": "2026-10-30T13:20:35.331161564Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Diffbot Technologies Corp.",
        "b": "OD. Media \u0026 Technology LLC",
        "name": "Vendor"
      },
      {
        "a": "https://api.diffbot.com/v3",
        "b": "https://api.scrapeatlas.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$0.90 per 1,000 pages",
        "b": "not published",
        "name": "Price for extraction"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Diffbot's Terms of Use. The Python client, the TypeScript client and the agent skills are MIT",
        "b": "Proprietary service under ScrapeAtlas's Terms of Service. The @scrapeatlas/cli package on npm is MIT with no public source repository",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "373",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.OnlineDopamine/scrapeatlas",
        "name": "MCP registry"
      },
      {
        "a": "2026-06-15",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "2025-08-29",
        "b": "",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "9 npm/wk, 45 PyPI/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "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 \u0026 trust.",
        "question": "Which is better for AI agents, Diffbot or ScrapeAtlas?"
      },
      {
        "answer": "Diffbot needs an API key. ScrapeAtlas takes an API key or an OAuth sign-in.",
        "question": "Do Diffbot and ScrapeAtlas need an API key?"
      },
      {
        "answer": "Yes. Diffbot has a hosted endpoint at https://api.diffbot.com/v3 and ScrapeAtlas at https://api.scrapeatlas.com.",
        "question": "Can an agent call Diffbot and ScrapeAtlas without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 55 against 42",
          "Transparency \u0026 trust, 68 against 61"
        ],
        "also": null,
        "goodFor": "Agents that want typed article, product or discussion data from arbitrary pages without writing selectors, and teams that also want the Knowledge Graph.",
        "slug": "diffbot",
        "watchFor": "The token is sent as the `token` query parameter on Extract and Knowledge Graph calls. It is the only scheme in the OpenAPI file"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 88 against 83",
          "Agent ergonomics, 76 against 63",
          "Security \u0026 auth, 55 against 21",
          "Payments \u0026 pricing, 55 against 40",
          "Maintenance \u0026 community, 70 against 57"
        ],
        "also": null,
        "goodFor": "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.",
        "slug": "scrapeatlas",
        "watchFor": "No status page or incident history was found, and the terms promise no uptime, throughput or continued availability of an endpoint"
      }
    ],
    "job": {
      "capability": "web.extract",
      "name": "Extraction"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bright-data-vs-diffbot.json",
        "title": "Bright Data vs Diffbot",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-diffbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-dev-vs-diffbot.json",
        "title": "Context.dev vs Diffbot",
        "url": "https://www.anchorterminal.com/compare/context-dev-vs-diffbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-jina-reader.json",
        "title": "Diffbot vs Jina Reader",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-jina-reader"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrape-do.json",
        "title": "Diffbot vs Scrape.do",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrape-do"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrapeless.json",
        "title": "Diffbot vs Scrapeless",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrapeless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-dev-vs-scrapeatlas.json",
        "title": "Context.dev vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/context-dev-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-firecrawl-mcp.json",
        "title": "Diffbot vs Firecrawl MCP",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-firecrawl-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-jevcrawl.json",
        "title": "Diffbot vs jevcrawl",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-jevcrawl"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-olostep.json",
        "title": "Diffbot vs Olostep",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-olostep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-oxylabs-web-scraper.json",
        "title": "Diffbot vs Oxylabs Web Scraper API",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-oxylabs-web-scraper"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrapegraphai.json",
        "title": "Diffbot vs ScrapeGraphAI",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrapegraphai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scraperapi.json",
        "title": "Diffbot vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrapewise.json",
        "title": "Diffbot vs Scrapewise",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrapewise"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrapfly.json",
        "title": "Diffbot vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrapingant.json",
        "title": "Diffbot vs ScrapingAnt",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrapingant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrapingbee.json",
        "title": "Diffbot vs ScrapingBee",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrapingbee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrapingdog.json",
        "title": "Diffbot vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-spider-cloud.json",
        "title": "Diffbot vs Spider",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-spider-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-zenrows.json",
        "title": "Diffbot vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diffbot-vs-zyte.json",
        "title": "Diffbot vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/diffbot-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapeatlas.json",
        "title": "Firecrawl MCP vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapeatlas.json",
        "title": "jevcrawl vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/jevcrawl-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-scrapeatlas.json",
        "title": "Olostep vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapeatlas.json",
        "title": "Oxylabs Web Scraper API vs ScrapeAtlas",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapeatlas"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapegraphai.json",
        "title": "ScrapeAtlas vs ScrapeGraphAI",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapegraphai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scraperapi.json",
        "title": "ScrapeAtlas vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapewise.json",
        "title": "ScrapeAtlas vs Scrapewise",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapewise"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapfly.json",
        "title": "ScrapeAtlas vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingant.json",
        "title": "ScrapeAtlas vs ScrapingAnt",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingbee.json",
        "title": "ScrapeAtlas vs ScrapingBee",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingbee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingdog.json",
        "title": "ScrapeAtlas vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-spider-cloud.json",
        "title": "ScrapeAtlas vs Spider",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-spider-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-zenrows.json",
        "title": "ScrapeAtlas vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeatlas-vs-zyte.json",
        "title": "ScrapeAtlas vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scrapeatlas-vs-zyte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apify-mcp-vs-diffbot.json",
        "title": "Apify MCP Server vs Diffbot",
        "url": "https://www.anchorterminal.com/compare/apify-mcp-vs-diffbot"
      }
    ],
    "scores": [
      {
        "by": 13,
        "diffbot": 55,
        "edge": "diffbot",
        "key": "reliability",
        "name": "Reliability",
        "scrapeatlas": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "diffbot": 83,
        "edge": "scrapeatlas",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "scrapeatlas": 88,
        "weight": 13
      },
      {
        "by": 13,
        "diffbot": 63,
        "edge": "scrapeatlas",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "scrapeatlas": 76,
        "weight": 13
      },
      {
        "by": 34,
        "diffbot": 21,
        "edge": "scrapeatlas",
        "key": "security",
        "name": "Security \u0026 auth",
        "scrapeatlas": 55,
        "weight": 14
      },
      {
        "by": 15,
        "diffbot": 40,
        "edge": "scrapeatlas",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "scrapeatlas": 55,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 13,
        "diffbot": 57,
        "edge": "scrapeatlas",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "scrapeatlas": 70,
        "weight": 7
      },
      {
        "by": 7,
        "diffbot": 68,
        "edge": "diffbot",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "scrapeatlas": 61,
        "weight": 7
      }
    ],
    "summary": "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 \u0026 trust. Both do extraction.",
    "tutorials": [],
    "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas",
    "json": "https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas.min.md"
  },
  "markdown": "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 \u0026 trust. Both do extraction.\n\n- 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\n- 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\n- Best web scraping and crawling APIs for AI agents: https://www.anchorterminal.com/best/web-scrapers/index.md\n- All 242 scrapers comparisons: https://www.anchorterminal.com/compare/web-scrapers/index.md\n\n## Which one, for what\n\n### Diffbot (C)\n\nGood for: Agents that want typed article, product or discussion data from arbitrary pages without writing selectors, and teams that also want the Knowledge Graph.\n\nAhead on:\n- Reliability, 55 against 42\n- Transparency \u0026 trust, 68 against 61\n\nWatch 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\n\n### ScrapeAtlas (B)\n\nGood 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.\n\nAhead on:\n- Schema \u0026 documentation, 88 against 83\n- Agent ergonomics, 76 against 63\n- Security \u0026 auth, 55 against 21\n- Payments \u0026 pricing, 55 against 40\n- Maintenance \u0026 community, 70 against 57\n\nWatch for: No status page or incident history was found, and the terms promise no uptime, throughput or continued availability of an endpoint\n\n\n## Score by category\n\n| Category | Weight | Diffbot | ScrapeAtlas | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 42 | Diffbot +13 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 88 | ScrapeAtlas +5 |\n| Agent ergonomics | 13% (16.2 this run) | 63 | 76 | ScrapeAtlas +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 21 | 55 | ScrapeAtlas +34 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 55 | ScrapeAtlas +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 57 | 70 | ScrapeAtlas +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 61 | Diffbot +7 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **54.3 · C** | **63 · B** | |\n\n## Facts side by side\n\n| Fact | Diffbot | ScrapeAtlas |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Diffbot Technologies Corp. | OD. Media \u0026 Technology LLC |\n| Hosted endpoint | `https://api.diffbot.com/v3` | `https://api.scrapeatlas.com` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Pay per use |\n| Price for extraction | $0.90 per 1,000 pages | not published |\n| x402 | no | no |\n| 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 |\n| Tools exposed | none | 373 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `io.github.OnlineDopamine/scrapeatlas` |\n| Last release | 2026-06-15 | 2026-10-28 |\n| Terms last updated | no date given |  |\n| Privacy policy last updated | 2025-08-29 |  |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | yes |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | yes |  |\n| Popularity | 9 npm/wk, 45 PyPI/wk | none |\n\n## Verdicts\n\n**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.\n\n**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.\n\n## Before you call either\n\n### Diffbot\n\n1. Call `GET https://api.diffbot.com/v3/analyze?url=\u003cencoded URL\u003e\u0026token=\u003ctoken\u003e` when the page type is unknown. Use `/v3/article` or `/v3/product` to force one schema\n2. 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\n3. 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\n4. Check a 200 response for `errorCode`. The official client raises `ExtractionError` when a 200 reports a failed extraction\n5. Set `useProxy=default` only when a site blocks the fetch. A proxied page costs 2 credits against 1\n6. Install `diffbot` from PyPI, not `diffbot-python`, which stopped at 0.3.0\n\n### ScrapeAtlas\n\n1. 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`.\n2. 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.\n3. 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.\n4. Each platform has its own response schema, so read the endpoint's response fields before mapping; unknown values are `null`, never 0.\n5. 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.\n\n## Questions\n\n### Which is better for AI agents, Diffbot or ScrapeAtlas?\n\nScrapeAtlas 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 \u0026 trust.\n\n### Do Diffbot and ScrapeAtlas need an API key?\n\nDiffbot needs an API key. ScrapeAtlas takes an API key or an OAuth sign-in.\n\n### Can an agent call Diffbot and ScrapeAtlas without installing anything?\n\nYes. Diffbot has a hosted endpoint at https://api.diffbot.com/v3 and ScrapeAtlas at https://api.scrapeatlas.com.\n\n\n## For agents\n\n- 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\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"diffbot\", \"b\": \"scrapeatlas\"}`. From a terminal: `anchor compare diffbot scrapeatlas`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/diffbot.json and https://www.anchorterminal.com/api/v1/tools/scrapeatlas.json\n\n## Other comparisons with Diffbot or ScrapeAtlas\n\n- [Bright Data vs Diffbot](https://www.anchorterminal.com/compare/bright-data-vs-diffbot.md)\n- [Context.dev vs Diffbot](https://www.anchorterminal.com/compare/context-dev-vs-diffbot.md)\n- [Diffbot vs Jina Reader](https://www.anchorterminal.com/compare/diffbot-vs-jina-reader.md)\n- [Diffbot vs Scrape.do](https://www.anchorterminal.com/compare/diffbot-vs-scrape-do.md)\n- [Diffbot vs Scrapeless](https://www.anchorterminal.com/compare/diffbot-vs-scrapeless.md)\n- [Context.dev vs ScrapeAtlas](https://www.anchorterminal.com/compare/context-dev-vs-scrapeatlas.md)\n- [Diffbot vs Firecrawl MCP](https://www.anchorterminal.com/compare/diffbot-vs-firecrawl-mcp.md)\n- [Diffbot vs jevcrawl](https://www.anchorterminal.com/compare/diffbot-vs-jevcrawl.md)\n- [Diffbot vs Olostep](https://www.anchorterminal.com/compare/diffbot-vs-olostep.md)\n- [Diffbot vs Oxylabs Web Scraper API](https://www.anchorterminal.com/compare/diffbot-vs-oxylabs-web-scraper.md)\n- [Diffbot vs ScrapeGraphAI](https://www.anchorterminal.com/compare/diffbot-vs-scrapegraphai.md)\n- [Diffbot vs ScraperAPI](https://www.anchorterminal.com/compare/diffbot-vs-scraperapi.md)\n- [Diffbot vs Scrapewise](https://www.anchorterminal.com/compare/diffbot-vs-scrapewise.md)\n- [Diffbot vs Scrapfly](https://www.anchorterminal.com/compare/diffbot-vs-scrapfly.md)\n- [Diffbot vs ScrapingAnt](https://www.anchorterminal.com/compare/diffbot-vs-scrapingant.md)\n- [Diffbot vs ScrapingBee](https://www.anchorterminal.com/compare/diffbot-vs-scrapingbee.md)\n- [Diffbot vs Scrapingdog](https://www.anchorterminal.com/compare/diffbot-vs-scrapingdog.md)\n- [Diffbot vs Spider](https://www.anchorterminal.com/compare/diffbot-vs-spider-cloud.md)\n- [Diffbot vs ZenRows](https://www.anchorterminal.com/compare/diffbot-vs-zenrows.md)\n- [Diffbot vs Zyte API](https://www.anchorterminal.com/compare/diffbot-vs-zyte.md)\n- [Firecrawl MCP vs ScrapeAtlas](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapeatlas.md)\n- [jevcrawl vs ScrapeAtlas](https://www.anchorterminal.com/compare/jevcrawl-vs-scrapeatlas.md)\n- [Olostep vs ScrapeAtlas](https://www.anchorterminal.com/compare/olostep-vs-scrapeatlas.md)\n- [Oxylabs Web Scraper API vs ScrapeAtlas](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scrapeatlas.md)\n- [ScrapeAtlas vs ScrapeGraphAI](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapegraphai.md)\n- [ScrapeAtlas vs ScraperAPI](https://www.anchorterminal.com/compare/scrapeatlas-vs-scraperapi.md)\n- [ScrapeAtlas vs Scrapewise](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapewise.md)\n- [ScrapeAtlas vs Scrapfly](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapfly.md)\n- [ScrapeAtlas vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingant.md)\n- [ScrapeAtlas vs ScrapingBee](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingbee.md)\n- [ScrapeAtlas vs Scrapingdog](https://www.anchorterminal.com/compare/scrapeatlas-vs-scrapingdog.md)\n- [ScrapeAtlas vs Spider](https://www.anchorterminal.com/compare/scrapeatlas-vs-spider-cloud.md)\n- [ScrapeAtlas vs ZenRows](https://www.anchorterminal.com/compare/scrapeatlas-vs-zenrows.md)\n- [ScrapeAtlas vs Zyte API](https://www.anchorterminal.com/compare/scrapeatlas-vs-zyte.md)\n- [Apify MCP Server vs Diffbot](https://www.anchorterminal.com/compare/apify-mcp-vs-diffbot.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-10-30",
    "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": "Diffbot vs ScrapeAtlas",
        "url": ""
      }
    ],
    "description": "ScrapeAtlas scores 63 (B) to Diffbot's 54.3 (C) for extraction. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Diffbot C 54.3",
      "ScrapeAtlas B 63",
      "scores"
    ],
    "h1": "Diffbot vs ScrapeAtlas",
    "image": "https://www.anchorterminal.com/assets/og/compare-diffbot-vs-scrapeatlas.png",
    "path": "/compare/diffbot-vs-scrapeatlas",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Diffbot vs ScrapeAtlas for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/diffbot-vs-scrapeatlas"
  },
  "tokens": {
    "markdown": 2900,
    "slim": 780
  },
  "version": 1
}
