{
  "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": 687,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 12,
        "methodology": "0.4",
        "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.4",
            "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": 86
      },
      "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": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/diffbot.json",
      "live": {
        "slug": "diffbot",
        "probe": {
          "target": "https://api.diffbot.com/v3",
          "method": "get",
          "lastAt": "2026-10-10T01:37:49.938297265Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 440,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 424,
          "p95ms24h": 483,
          "samples24h": 102,
          "samples30d": 102,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.diffbot.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:26.061054869Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "diffbot/diffbot-python",
            "version": "v3.0.0",
            "released": "2026-09-28",
            "seenAt": "2026-10-09T16:49:48.055113016Z"
          },
          {
            "registry": "npm",
            "name": "@diffbot/typescript",
            "version": "0.2.0",
            "seenAt": "2026-10-09T16:49:47.576544434Z"
          },
          {
            "registry": "pypi",
            "name": "diffbot",
            "version": "3.0.0",
            "released": "2026-09-28",
            "seenAt": "2026-10-09T16:49:47.362980242Z"
          }
        ],
        "githubStars": 125,
        "npmWeekly": 9,
        "pypiWeekly": 45,
        "pages": [
          {
            "url": "https://www.diffbot.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:49:32.449062952Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "68b5306eaa9b"
          },
          {
            "url": "https://www.diffbot.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:49:39.088815002Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "86884503041e"
          },
          {
            "url": "https://www.diffbot.com/company/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:49:35.06707487Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fb97996581b3"
          },
          {
            "url": "https://www.diffbot.com/company/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:49:36.709393592Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a76686da1f94"
          }
        ],
        "updatedAt": "2026-10-10T01:37:49.938297265Z"
      }
    },
    "answer": "Diffbot scores 54.3 (C) on agent readiness against ScraperAPI's 52.1 (D), and leads in 3 of 7 scored categories. ScraperAPI leads on agent ergonomics and security \u0026 auth.",
    "b": {
      "slug": "scraperapi",
      "name": "ScraperAPI",
      "vendor": "ScraperAPI (saas.group)",
      "vendorUrl": "https://www.scraperapi.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Web scraping API that fetches a URL through rotating proxies with optional JavaScript rendering and anti-bot bypass, and returns HTML, Markdown, text or parsed JSON. It has async jobs, a crawler, structured data endpoints and an MCP server.",
      "url": "https://www.anchorterminal.com/tools/scraperapi",
      "markdownUrl": "https://www.anchorterminal.com/tools/scraperapi.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scraperapi.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scraperapi.json",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.scraperapi.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "scraperapi-mcp-server"
        },
        {
          "registry": "pypi",
          "name": "scraperapi-sdk"
        },
        {
          "registry": "npm",
          "name": "scraperapi-sdk"
        },
        {
          "registry": "npm",
          "name": "scraperapi-cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve API key from the dashboard after a browser signup. The sync API takes it as the `api_key` query parameter by default or as an `x-sapi-api_key` header. The async, crawler and AI parser APIs take it in the JSON body, and the remote MCP server takes `Authorization: Bearer`. One key per account, regenerated at most once every 24 hours, with no scopes.",
      "pricing": "freemium",
      "pricingNotes": "Free plan of 1,000 credits a month with 5 concurrent threads, and 5,000 credits for the first 7 days, no card. Hobby $49 a month (100,000 credits, 20 threads), Startup $149 (1 million, 50), Business $299 (3 million, 100), Scaling $475 (5 million, 200), Professional $975 (10.5 million, 300), Advanced $1,975 (21.5 million, 500), Enterprise custom. Annual billing takes 10% off. A plain request costs 1 credit, rendering or premium proxies 10, Google and Bing 25. Only 200 and 404 responses are charged. Pay-as-you-go overage starts at Scaling (https://www.scraperapi.com/pricing/).",
      "priceSummary": "$49 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the pricing page or llms.txt (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 28,
      "popularity": {
        "githubStars": 5,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.scraperapi.com/",
      "llmsTxt": "https://docs.scraperapi.com/llms.txt",
      "capabilities": [
        "web.scrape",
        "web.extract",
        "web.crawl",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.screenshot",
        "scraping.serp"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "api-key",
        "mcp",
        "llms-txt",
        "proxies",
        "async-jobs",
        "webhooks",
        "cli",
        "python",
        "javascript",
        "php",
        "ruby",
        "java",
        "closed-source"
      ],
      "lastRelease": "2026-08-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.1,
        "grade": "D",
        "agentReady": false,
        "rank": 739,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 14,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 61,
          "payments": 40,
          "reliability": 45,
          "schema": 67,
          "security": 29,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Only `api_key` and `url` are required, and JavaScript rendering is off by default, so a plain request costs 1 credit",
          "Failed requests are not charged. Only 200 and 404 responses are billed, and each response carries an `sa-credit-cost` header",
          "`max_cost` caps the credits one request may spend, and `/account/urlcost` returns the cost of a URL before it is scraped",
          "The open-source MCP server (MIT) defines 28 typed tools, each with read-only, destructive and idempotent hints",
          "Free plan of 1,000 credits a month with no card, plus 5,000 credits for the first 7 days"
        ],
        "weaknesses": [
          "No status page is linked from the home, pricing, support or docs pages, although the pricing page lists a 99.9% uptime guarantee",
          "The documented default sends the API key in the URL query string. A header alternative, `x-sapi-api_key`, exists",
          "No OpenAPI file, security.txt, bug bounty, certification or sub-processor list was found",
          "The site's robots.txt disallows `/terms/`, so the Terms of Use went unread by us",
          "Google and Bing cost 25 credits a request and LinkedIn 30, and a bypassed anti-bot check adds 10"
        ],
        "agentNotes": [
          "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",
          "Send the key as the `x-sapi-api_key` header to keep it out of URLs and logs",
          "Pass `max_cost` on each request, or call `/account/urlcost` first, because domain and anti-bot surcharges vary from 1 to 75 credits",
          "Use `output_format=markdown` or `text` to cut response size, and `autoparse=true` only on supported domains",
          "On 429 reduce concurrency to the plan limit (5 on Free, 20 on Hobby). The request is rejected, not queued"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.1
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 61,
          "payments": 40,
          "reliability": 45,
          "schema": 67,
          "security": 29,
          "transparency": 35
        },
        "provenanceScore": 72
      },
      "connect": {
        "install": "pip install scraperapi-mcp-server",
        "http": "curl --request GET \\\n--url 'https://api.scraperapi.com?api_key=API_KEY\u0026url=https://www.example.com'",
        "claudeCode": "claude mcp add scraperapi -- npx mcp-remote https://mcp.scraperapi.com/mcp --header \"Authorization: Bearer {YOUR_API_KEY}\"",
        "config": {
          "mcpServers": {
            "ScraperAPIRemote": {
              "args": [
                "mcp-remote",
                "https://mcp.scraperapi.com/mcp",
                "--header",
                "Authorization: Bearer {YOUR_API_KEY}"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/scraperapi"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Hobby plan",
          "unit": "month",
          "usd": 49,
          "note": "100,000 credits, 20 concurrent threads"
        },
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 149,
          "note": "1 million credits, 50 concurrent threads"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 299,
          "note": "3 million credits, 100 concurrent threads"
        },
        {
          "item": "Plain request on Hobby",
          "unit": "1k-requests",
          "usd": 0.49,
          "note": "1 credit each, no rendering"
        },
        {
          "item": "Rendered request on Hobby",
          "unit": "1k-requests",
          "usd": 4.9,
          "note": "render=true, 10 credits each"
        },
        {
          "item": "Google or Bing request on Hobby",
          "unit": "1k-requests",
          "usd": 12.25,
          "note": "25 credits each"
        }
      ],
      "provenance": {
        "legalEntity": "ScraperAPI LLC",
        "domain": "scraperapi.com",
        "domainRegistered": "2018-05-14",
        "endpointOnVendorDomain": true,
        "terms": "https://www.scraperapi.com/terms/",
        "privacy": "https://www.scraperapi.com/privacy/",
        "statusPage": "",
        "changelog": "https://docs.scraperapi.com/resources/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The legal entity is taken from a November 2025 release note that says the service now operates as ScraperAPI LLC. The privacy policy names ScraperAPI and Saas.group Inc. and carries no date.",
          "robots.txt disallows `/terms/` for every agent, so the Terms of Use were not read. The link is the one in the site footer.",
          "No status page is linked from the home, pricing, support or docs pages read on 9 October 2026."
        ],
        "score": 72
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scraperapi.json",
      "live": {
        "slug": "scraperapi",
        "probe": {
          "target": "https://api.scraperapi.com",
          "method": "get",
          "lastAt": "2026-10-10T01:38:05.868257993Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 277,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 292,
          "p95ms24h": 420,
          "samples24h": 102,
          "samples30d": 102,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "scraperapi-cli",
            "version": "1.0.0",
            "seenAt": "2026-10-09T17:18:21.384773614Z"
          },
          {
            "registry": "npm",
            "name": "scraperapi-sdk",
            "version": "2.0.1",
            "seenAt": "2026-10-09T17:18:20.565772441Z"
          },
          {
            "registry": "pypi",
            "name": "scraperapi-mcp-server",
            "version": "1.1.1",
            "released": "2026-07-17",
            "seenAt": "2026-10-09T17:18:18.482139053Z"
          },
          {
            "registry": "pypi",
            "name": "scraperapi-sdk",
            "version": "1.6.1",
            "released": "2026-07-20",
            "seenAt": "2026-10-09T17:18:18.669301731Z"
          }
        ],
        "npmWeekly": 9692,
        "pypiWeekly": 30,
        "pages": [
          {
            "url": "https://docs.scraperapi.com/resources/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:38:13.938433175Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4aebcdd45c58"
          },
          {
            "url": "https://www.scraperapi.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:53:48.25707916Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6255ef627810"
          },
          {
            "url": "https://www.scraperapi.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:53:50.700817252Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "96d859a19f94"
          },
          {
            "url": "https://www.scraperapi.com/terms/",
            "kind": "terms",
            "status": 0,
            "checkedAt": "2026-10-09T18:53:53.81669813Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          }
        ],
        "updatedAt": "2026-10-10T01:38:05.868257993Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Diffbot Technologies Corp.",
        "b": "ScraperAPI (saas.group)",
        "name": "Vendor"
      },
      {
        "a": "https://api.diffbot.com/v3",
        "b": "https://api.scraperapi.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "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": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "28",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-06-15",
        "b": "2026-08-07",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2025-08-29",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "9 npm/wk, 45 PyPI/wk",
        "b": "5 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Diffbot scores 54.3 (C) on agent readiness against ScraperAPI's 52.1 (D), and leads in 3 of 7 scored categories. ScraperAPI leads on agent ergonomics and security \u0026 auth.",
        "question": "Which is better for AI agents, Diffbot or ScraperAPI?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Diffbot and ScraperAPI need an API key?"
      },
      {
        "answer": "Yes. Diffbot has a hosted endpoint at https://api.diffbot.com/v3 and ScraperAPI at https://api.scraperapi.com.",
        "question": "Can an agent call Diffbot and ScraperAPI without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 55 against 45",
          "Schema \u0026 documentation, 83 against 67",
          "Transparency \u0026 trust, 68 against 54"
        ],
        "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": [
          "Agent ergonomics, 74 against 63",
          "Security \u0026 auth, 29 against 21"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "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.",
        "slug": "scraperapi",
        "watchFor": "No status page is linked from the home, pricing, support or docs pages, although the pricing page lists a 99.9% uptime guarantee"
      }
    ],
    "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/bright-data-vs-scraperapi.json",
        "title": "Bright Data vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/bright-data-vs-scraperapi"
      },
      {
        "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/jina-reader-vs-scraperapi.json",
        "title": "Jina Reader vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/jina-reader-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/olostep-vs-scraperapi.json",
        "title": "Olostep vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/olostep-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scraperapi.json",
        "title": "Oxylabs Web Scraper API vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrape-do-vs-scraperapi.json",
        "title": "Scrape.do vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/scrape-do-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scraperapi.json",
        "title": "ScrapeGraphAI vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/scrapegraphai-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scrapeless-vs-scraperapi.json",
        "title": "Scrapeless vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/scrapeless-vs-scraperapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scraperapi-vs-scrapfly.json",
        "title": "ScraperAPI vs Scrapfly",
        "url": "https://www.anchorterminal.com/compare/scraperapi-vs-scrapfly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scraperapi-vs-scrapingant.json",
        "title": "ScraperAPI vs ScrapingAnt",
        "url": "https://www.anchorterminal.com/compare/scraperapi-vs-scrapingant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scraperapi-vs-scrapingbee.json",
        "title": "ScraperAPI vs ScrapingBee",
        "url": "https://www.anchorterminal.com/compare/scraperapi-vs-scrapingbee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scraperapi-vs-scrapingdog.json",
        "title": "ScraperAPI vs Scrapingdog",
        "url": "https://www.anchorterminal.com/compare/scraperapi-vs-scrapingdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scraperapi-vs-spider-cloud.json",
        "title": "ScraperAPI vs Spider",
        "url": "https://www.anchorterminal.com/compare/scraperapi-vs-spider-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scraperapi-vs-zenrows.json",
        "title": "ScraperAPI vs ZenRows",
        "url": "https://www.anchorterminal.com/compare/scraperapi-vs-zenrows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scraperapi-vs-zyte.json",
        "title": "ScraperAPI vs Zyte API",
        "url": "https://www.anchorterminal.com/compare/scraperapi-vs-zyte"
      },
      {
        "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-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-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-scraperapi.json",
        "title": "Firecrawl MCP vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scraperapi"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apify-mcp-vs-scraperapi.json",
        "title": "Apify MCP Server vs ScraperAPI",
        "url": "https://www.anchorterminal.com/compare/apify-mcp-vs-scraperapi"
      }
    ],
    "scores": [
      {
        "by": 10,
        "diffbot": 55,
        "edge": "diffbot",
        "key": "reliability",
        "name": "Reliability",
        "scraperapi": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 16,
        "diffbot": 83,
        "edge": "diffbot",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "scraperapi": 67,
        "weight": 13
      },
      {
        "by": 11,
        "diffbot": 63,
        "edge": "scraperapi",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "scraperapi": 74,
        "weight": 13
      },
      {
        "by": 8,
        "diffbot": 21,
        "edge": "scraperapi",
        "key": "security",
        "name": "Security \u0026 auth",
        "scraperapi": 29,
        "weight": 14
      },
      {
        "by": 0,
        "diffbot": 40,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "scraperapi": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "diffbot": 57,
        "edge": "scraperapi",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "scraperapi": 61,
        "weight": 7
      },
      {
        "by": 14,
        "diffbot": 68,
        "edge": "diffbot",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "scraperapi": 54,
        "weight": 7
      }
    ],
    "summary": "Diffbot scores 54.3 (C) on agent readiness against ScraperAPI's 52.1 (D), and leads in 3 of 7 scored categories. ScraperAPI leads on agent ergonomics and security \u0026 auth. Both do extraction.",
    "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.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/diffbot-vs-scraperapi",
    "json": "https://www.anchorterminal.com/compare/diffbot-vs-scraperapi.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/diffbot-vs-scraperapi.md",
    "slim": "https://www.anchorterminal.com/compare/diffbot-vs-scraperapi.min.md"
  },
  "markdown": "Diffbot scores 54.3 (C) on agent readiness against ScraperAPI's 52.1 (D), and leads in 3 of 7 scored categories. ScraperAPI leads on agent ergonomics and security \u0026 auth. Both do extraction.\n\n- Diffbot: grade C, 54.3/100, rank #687 of 950. Markdown https://www.anchorterminal.com/tools/diffbot.md · JSON https://www.anchorterminal.com/api/v1/tools/diffbot.json\n- ScraperAPI: grade D, 52.1/100, rank #739 of 950. Markdown https://www.anchorterminal.com/tools/scraperapi.md · JSON https://www.anchorterminal.com/api/v1/tools/scraperapi.json\n- Best web scraping and crawling APIs for AI agents: https://www.anchorterminal.com/best/web-scrapers/index.md\n- All 167 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 45\n- Schema \u0026 documentation, 83 against 67\n- Transparency \u0026 trust, 68 against 54\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### ScraperAPI (D)\n\nGood 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.\n\nAhead on:\n- Agent ergonomics, 74 against 63\n- Security \u0026 auth, 29 against 21\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No status page is linked from the home, pricing, support or docs pages, although the pricing page lists a 99.9% uptime guarantee\n\n\n## Score by category\n\n| Category | Weight | Diffbot | ScraperAPI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 45 | Diffbot +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 67 | Diffbot +16 |\n| Agent ergonomics | 13% (16.2 this run) | 63 | 74 | ScraperAPI +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 21 | 29 | ScraperAPI +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 57 | 61 | ScraperAPI +4 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 54 | Diffbot +14 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **54.3 · C** | **52.1 · D** | |\n\n## Facts side by side\n\n| Fact | Diffbot | ScraperAPI |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Diffbot Technologies Corp. | ScraperAPI (saas.group) |\n| Hosted endpoint | `https://api.diffbot.com/v3` | `https://api.scraperapi.com` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\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 | none |\n| Tools exposed | none | 28 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-06-15 | 2026-08-07 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | 2025-08-29 | no date given |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | yes | couldn't be read |\n| Popularity | 9 npm/wk, 45 PyPI/wk | 5 stars |\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**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.\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### ScraperAPI\n\n1. 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\n2. Send the key as the `x-sapi-api_key` header to keep it out of URLs and logs\n3. Pass `max_cost` on each request, or call `/account/urlcost` first, because domain and anti-bot surcharges vary from 1 to 75 credits\n4. Use `output_format=markdown` or `text` to cut response size, and `autoparse=true` only on supported domains\n5. On 429 reduce concurrency to the plan limit (5 on Free, 20 on Hobby). The request is rejected, not queued\n\n## Questions\n\n### Which is better for AI agents, Diffbot or ScraperAPI?\n\nDiffbot scores 54.3 (C) on agent readiness against ScraperAPI's 52.1 (D), and leads in 3 of 7 scored categories. ScraperAPI leads on agent ergonomics and security \u0026 auth.\n\n### Do Diffbot and ScraperAPI need an API key?\n\nBoth need an API key.\n\n### Can an agent call Diffbot and ScraperAPI without installing anything?\n\nYes. Diffbot has a hosted endpoint at https://api.diffbot.com/v3 and ScraperAPI at https://api.scraperapi.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/diffbot-vs-scraperapi.json, and with the fewest tokens: https://www.anchorterminal.com/compare/diffbot-vs-scraperapi.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"diffbot\", \"b\": \"scraperapi\"}`. From a terminal: `anchor compare diffbot scraperapi`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/diffbot.json and https://www.anchorterminal.com/api/v1/tools/scraperapi.json\n\n## Other comparisons with Diffbot or ScraperAPI\n\n- [Bright Data vs Diffbot](https://www.anchorterminal.com/compare/bright-data-vs-diffbot.md)\n- [Bright Data vs ScraperAPI](https://www.anchorterminal.com/compare/bright-data-vs-scraperapi.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- [Jina Reader vs ScraperAPI](https://www.anchorterminal.com/compare/jina-reader-vs-scraperapi.md)\n- [Olostep vs ScraperAPI](https://www.anchorterminal.com/compare/olostep-vs-scraperapi.md)\n- [Oxylabs Web Scraper API vs ScraperAPI](https://www.anchorterminal.com/compare/oxylabs-web-scraper-vs-scraperapi.md)\n- [Scrape.do vs ScraperAPI](https://www.anchorterminal.com/compare/scrape-do-vs-scraperapi.md)\n- [ScrapeGraphAI vs ScraperAPI](https://www.anchorterminal.com/compare/scrapegraphai-vs-scraperapi.md)\n- [Scrapeless vs ScraperAPI](https://www.anchorterminal.com/compare/scrapeless-vs-scraperapi.md)\n- [ScraperAPI vs Scrapfly](https://www.anchorterminal.com/compare/scraperapi-vs-scrapfly.md)\n- [ScraperAPI vs ScrapingAnt](https://www.anchorterminal.com/compare/scraperapi-vs-scrapingant.md)\n- [ScraperAPI vs ScrapingBee](https://www.anchorterminal.com/compare/scraperapi-vs-scrapingbee.md)\n- [ScraperAPI vs Scrapingdog](https://www.anchorterminal.com/compare/scraperapi-vs-scrapingdog.md)\n- [ScraperAPI vs Spider](https://www.anchorterminal.com/compare/scraperapi-vs-spider-cloud.md)\n- [ScraperAPI vs ZenRows](https://www.anchorterminal.com/compare/scraperapi-vs-zenrows.md)\n- [ScraperAPI vs Zyte API](https://www.anchorterminal.com/compare/scraperapi-vs-zyte.md)\n- [Diffbot vs Firecrawl MCP](https://www.anchorterminal.com/compare/diffbot-vs-firecrawl-mcp.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 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 ScraperAPI](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scraperapi.md)\n- [Apify MCP Server vs Diffbot](https://www.anchorterminal.com/compare/apify-mcp-vs-diffbot.md)\n- [Apify MCP Server vs ScraperAPI](https://www.anchorterminal.com/compare/apify-mcp-vs-scraperapi.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Diffbot vs ScraperAPI",
        "url": ""
      }
    ],
    "description": "Diffbot scores 54.3 (C) to ScraperAPI's 52.1 (D) for extraction. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Diffbot C 54.3",
      "ScraperAPI D 52.1",
      "scores"
    ],
    "h1": "Diffbot vs ScraperAPI",
    "image": "https://www.anchorterminal.com/assets/og/compare-diffbot-vs-scraperapi.png",
    "path": "/compare/diffbot-vs-scraperapi",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Diffbot vs ScraperAPI for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/diffbot-vs-scraperapi"
  },
  "tokens": {
    "markdown": 2650,
    "slim": 730
  },
  "version": 1
}
