{
  "data": {
    "a": {
      "slug": "scrapingant",
      "name": "ScrapingAnt",
      "vendor": "ScrapingAnt (DATAANT)",
      "vendorUrl": "https://scrapingant.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Scraping API that runs each request in headless Chrome behind rotating datacenter or residential proxies, with markdown and AI extraction endpoints, a 3-tool hosted MCP server and standalone proxies billed by the GB.",
      "url": "https://www.anchorterminal.com/tools/scrapingant",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrapingant.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrapingant.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrapingant.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.scrapingant.com/v2/general",
      "packages": [
        {
          "registry": "pypi",
          "name": "scrapingant-client"
        },
        {
          "registry": "npm",
          "name": "@scrapingant/scrapingant-client"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key as an x-api-key header or an x-api-key query parameter. The docs' examples use the query form. The hosted MCP takes the same key in an x-api-key header. The usage endpoint only documents the query form.",
      "pricing": "freemium",
      "pricingNotes": "10,000 free credits a month, no card, one concurrent request. Enthusiast $19 a month (100,000 credits), Startup $49 (500,000), Business $249 (3M), Business Pro $599 (8M), Custom from $699 (10M+). A plain request on a datacenter proxy costs 1 credit, headless Chrome with JS rendering 10 (the default), Chrome plus residential proxy 125, and the AI extractor adds 1 credit per 30 characters. Failed requests aren't charged. Residential proxies $3 to $6 a GB and datacenter $0.42 to $0.60 a GB, billed separately (https://scrapingant.com/#pricing).",
      "priceSummary": "$19 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or other agent payment rail in the docs, pricing or API responses (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 90,
        "pypiWeekly": 1969,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.scrapingant.com",
      "capabilities": [
        "web.scrape",
        "web.fetch",
        "web.extract",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "proxies",
        "closed-source",
        "python",
        "typescript"
      ],
      "lastRelease": "2024-07-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 35.9,
        "grade": "F",
        "agentReady": false,
        "rank": 440,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 14,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 5,
          "payments": 40,
          "reliability": 30,
          "schema": 43,
          "security": 10,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "10,000 free credits a month with no card. API Basics puts the key in the query string, so it lands in logs.",
        "strengths": [
          "10,000 free credits a month with no card",
          "No concurrency cap on paid plans",
          "Failed requests cost nothing, and the Ant-credits-cost header reports spend per call",
          "3-tool hosted MCP with header auth, cheap to load into context",
          "Named Polish entity with processors and hosting locations listed"
        ],
        "weaknesses": [
          "API Basics puts the key in the query string, so it lands in logs",
          "No status page, changelog, security.txt, llms.txt or OpenAPI spec",
          "SDKs are stale. JavaScript last released 2022-05-06, Python 2024-07-16",
          "No prompt-injection guidance for the pages it returns",
          "Privacy policy last updated 3 November 2020"
        ],
        "agentNotes": [
          "Send the key in the `x-api-key` header rather than the query string",
          "Use `/v2/markdown` for LLM input, and set `browser=false` on static pages to pay 1 credit instead of 10",
          "Switch to `proxy_type=residential` only after a 423 (anti-bot) response. It raises a browser request from 10 to 125 credits",
          "On the free plan a second concurrent request gets 409. Wait for the first to finish",
          "Google, Bing and Yandex result pages come back as raw HTML through `/v2/general`, so you parse them yourself"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 35.9
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 5,
          "payments": 40,
          "reliability": 30,
          "schema": 43,
          "security": 10,
          "transparency": 48
        },
        "provenanceScore": 66
      },
      "connect": {
        "http": "curl 'https://api.scrapingant.com/v2/markdown?url=https%3A%2F%2Fexample.com' -H \"x-api-key: $SCRAPINGANT_API_KEY\"",
        "claudeCode": "claude mcp add scrapingant --transport http https://api.scrapingant.com/mcp -H \"x-api-key: $SCRAPINGANT_API_KEY\"",
        "config": {
          "mcpServers": {
            "scrapingant": {
              "headers": {
                "x-api-key": "${SCRAPINGANT_API_KEY}"
              },
              "url": "https://api.scrapingant.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/scrapingant"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Enthusiast plan",
          "unit": "month",
          "usd": 19,
          "note": "100,000 credits"
        },
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 49,
          "note": "500,000 credits"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 249,
          "note": "3,000,000 credits"
        },
        {
          "item": "Default browser request on Enthusiast",
          "unit": "1k-requests",
          "usd": 1.9,
          "note": "10 credits each, headless Chrome and datacenter proxy"
        },
        {
          "item": "Plain request on Enthusiast",
          "unit": "1k-requests",
          "usd": 0.19,
          "note": "1 credit each, no browser, datacenter proxy"
        },
        {
          "item": "Residential proxy",
          "unit": "gb",
          "usd": 6,
          "note": "Micro plan, 5 GB for $30 a month. Falls to $3 at volume"
        },
        {
          "item": "Datacenter proxy",
          "unit": "gb",
          "usd": 0.6,
          "note": "Micro plan, 50 GB for $30 a month"
        }
      ],
      "provenance": {
        "legalEntity": "DATAANT SP. Z O.O.",
        "domain": "scrapingant.com",
        "domainRegistered": "2020-03-31",
        "endpointOnVendorDomain": true,
        "terms": "https://scrapingant.com/legal/terms-of-use",
        "privacy": "https://scrapingant.com/legal/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "Registered in Poland, KRS 0000848755, per the terms and privacy policy",
          "The privacy policy was last updated 3 November 2020 and predates the MCP server and AI extractor",
          "The site footer links no status page, changelog or security page"
        ],
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapingant.json",
      "live": {
        "slug": "scrapingant",
        "probe": {
          "target": "https://api.scrapingant.com/v2/general",
          "method": "get",
          "lastAt": "2026-10-05T00:15:29.902307383Z",
          "lastOk": true,
          "lastStatus": 422,
          "lastMs": 99,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 96,
          "p95ms24h": 132,
          "samples24h": 272,
          "samples30d": 1105,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@scrapingant/scrapingant-client",
            "version": "0.2.1",
            "seenAt": "2026-10-04T16:39:20.235072586Z"
          },
          {
            "registry": "pypi",
            "name": "scrapingant-client",
            "version": "2.1.0",
            "released": "2024-07-16",
            "seenAt": "2026-10-04T16:39:20.12299137Z"
          }
        ],
        "npmWeekly": 95,
        "pypiWeekly": 1968,
        "securityTxt": {
          "url": "https://scrapingant.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:54.392439922Z"
        },
        "domain": {
          "domain": "scrapingant.com",
          "registered": "2020-03-31",
          "source": "https://rdap.verisign.com/com/v1/domain/scrapingant.com",
          "checkedAt": "2026-10-04T13:09:25.717167779Z"
        },
        "pages": [
          {
            "url": "https://scrapingant.com/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:36.681118206Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5d4d337f6a40"
          },
          {
            "url": "https://scrapingant.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:38.708035628Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a61dcd1c862d"
          },
          {
            "url": "https://scrapingant.com/legal/terms-of-use",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:40.709144738Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b1e179927df6"
          }
        ],
        "updatedAt": "2026-10-05T00:15:29.902307383Z"
      }
    },
    "b": {
      "slug": "scrapingdog",
      "name": "Scrapingdog",
      "vendor": "Scrapingdog (OpenData Labs)",
      "vendorUrl": "https://www.scrapingdog.com",
      "kind": "http-api",
      "category": "web-scrapers",
      "summary": "Web scraping API billed by credits.",
      "url": "https://www.anchorterminal.com/tools/scrapingdog",
      "markdownUrl": "https://www.anchorterminal.com/tools/scrapingdog.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/scrapingdog.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/scrapingdog.json",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.scrapingdog.com/scrape",
      "packages": [
        {
          "registry": "npm",
          "name": "scrapingdog-mcp"
        },
        {
          "registry": "npm",
          "name": "scrapingdog-sdk"
        },
        {
          "registry": "pypi",
          "name": "scrapingdog"
        }
      ],
      "auth": "api-key",
      "authNotes": "The key goes in the api_key query parameter on every request. The docs show no header option. The MCP server reads SCRAPINGDOG_API_KEY from the environment.",
      "pricing": "freemium",
      "pricingNotes": "Free plan of 100 credits with 1 concurrent request, no card (the docs say 200 requests a month). Lite $40 a month (200,000 credits, 5 concurrent), Standard $90 (1M, 50), Pro $200 (3M, 100), Premium $350 (6M, 150), then plans up to $30,000 a month. Annual billing gives 2 months free. A plain request costs 1 credit, JS rendering 5, premium proxy or geotargeting 10, both 25, Google SERP 5 to 10, LinkedIn profiles 10 to 100. Failed requests aren't charged (https://www.scrapingdog.com/pricing/).",
      "priceSummary": "$40 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 mention on the site, docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 35,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 41,
        "pypiWeekly": 12,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.scrapingdog.com/documentation/",
      "llmsTxt": "https://www.scrapingdog.com/llms.txt",
      "registryName": "io.github.Darshan972/scrapingdog-mcp",
      "capabilities": [
        "web.scrape",
        "web.extract",
        "web.search",
        "scraping.proxies",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.screenshot",
        "scraping.serp"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "proxies",
        "closed-source",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-07-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 39.3,
        "grade": "E",
        "agentReady": false,
        "rank": 425,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 13,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 44,
          "maintenance": 45,
          "payments": 40,
          "reliability": 62,
          "schema": 43,
          "security": 5,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-08-01: the vendor-linked MCP server's web_scrape tool describes dynamic as `(API default: false)`, while https://www.scrapingdog.com/documentation/javascript-rendering/ says rendering is on by default at 5 credits. The MCP omits unset parameters, so a model that trusts the description pays 5 times the plain rate (https://github.com/Darshan972/Scrapingdog-mcp, src/endpoints.ts) (-2)."
        ],
        "verdict": "A plain request is 1 credit, about $0.20 per 1,000 on Lite. API key only travels in the URL query string.",
        "strengths": [
          "A plain request is 1 credit, about $0.20 per 1,000 on Lite",
          "Parsed JSON endpoints for Google, Amazon, LinkedIn, YouTube and more under one key",
          "Terms let you store and redistribute returned data during the subscription, and the privacy policy says API calls aren't stored or logged",
          "Failed requests aren't charged, and a public SLA page compensates downtime in credits",
          "Concurrency per plan is published, from 1 up to 2,200"
        ],
        "weaknesses": [
          "API key only travels in the URL query string",
          "Rendering defaults on at 5 credits, and the MCP's web_scrape description says the default is off",
          "MCP server published 2026-08-01 from a personal account, with 35 tools, no CI, no tags and no release since",
          "No changelog, security.txt or prompt-injection guidance",
          "The free allowance differs between pricing (100 credits) and docs (200 a month)"
        ],
        "agentNotes": [
          "Add dynamic=false unless the page needs JavaScript. It cuts the cost from 5 credits to 1, whatever the MCP description says",
          "Keep request URLs out of logs, since they carry api_key",
          "Set client timeouts above 60 seconds and retry on 429 or timeout. Failures aren't billed",
          "Prefer the parsed endpoints (Google, Amazon) over scraping the raw page when one exists"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 39.3
          }
        ],
        "editorialScores": {
          "ergonomics": 44,
          "maintenance": 45,
          "payments": 40,
          "reliability": 62,
          "schema": 43,
          "security": 5,
          "transparency": 37
        },
        "provenanceScore": 76
      },
      "connect": {
        "http": "curl \"https://api.scrapingdog.com/scrape?api_key=$SCRAPINGDOG_API_KEY\u0026url=https://example.com\u0026dynamic=false\"",
        "claudeCode": "claude mcp add scrapingdog -e SCRAPINGDOG_API_KEY=$SCRAPINGDOG_API_KEY -- npx -y scrapingdog-mcp",
        "config": {
          "mcpServers": {
            "scrapingdog": {
              "args": [
                "-y",
                "scrapingdog-mcp"
              ],
              "command": "npx",
              "env": {
                "SCRAPINGDOG_API_KEY": "${SCRAPINGDOG_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.scrape",
        "tool": "https://letme.dev/scrapingdog"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Lite plan",
          "unit": "month",
          "usd": 40,
          "note": "200,000 credits, 5 concurrent"
        },
        {
          "item": "Standard plan",
          "unit": "month",
          "usd": 90,
          "note": "1,000,000 credits, 50 concurrent"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 200,
          "note": "3,000,000 credits, 100 concurrent"
        },
        {
          "item": "Plain request on Lite",
          "unit": "1k-requests",
          "usd": 0.2,
          "note": "1 credit each, dynamic=false"
        },
        {
          "item": "JS-rendered request on Lite",
          "unit": "1k-requests",
          "usd": 1,
          "note": "5 credits each, the default"
        }
      ],
      "provenance": {
        "legalEntity": "OpenData Labs Private Limited",
        "domain": "scrapingdog.com",
        "domainRegistered": "2020-04-04",
        "endpointOnVendorDomain": true,
        "terms": "https://www.scrapingdog.com/terms/",
        "privacy": "https://www.scrapingdog.com/privacy/",
        "statusPage": "https://stats.uptimerobot.com/SAQkQwbOYj",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Legal entity from the site footer. The terms are governed by the laws of Rajasthan, India.",
          "The status page is a hosted UptimeRobot page linked from the footer."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/scrapingdog.json",
      "live": {
        "slug": "scrapingdog",
        "probe": {
          "target": "https://api.scrapingdog.com/scrape",
          "method": "get",
          "lastAt": "2026-10-05T00:15:29.975484747Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 126,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 126,
          "p95ms24h": 302,
          "samples24h": 272,
          "samples30d": 1105,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://stats.uptimerobot.com/SAQkQwbOYj",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:28.56453658Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.Darshan972/scrapingdog-mcp",
            "version": "0.1.1",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "scrapingdog-mcp",
            "version": "0.1.1",
            "seenAt": "2026-10-04T16:39:24.204246179Z"
          },
          {
            "registry": "npm",
            "name": "scrapingdog-sdk",
            "version": "1.0.1",
            "seenAt": "2026-10-04T16:39:25.16185939Z"
          },
          {
            "registry": "pypi",
            "name": "scrapingdog",
            "version": "1.1.0",
            "released": "2026-07-31",
            "seenAt": "2026-10-04T16:39:26.504278599Z"
          }
        ],
        "npmWeekly": 47,
        "pypiWeekly": 10,
        "securityTxt": {
          "url": "https://scrapingdog.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:59.790191822Z"
        },
        "llmsTxt": {
          "url": "https://www.scrapingdog.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:13.496086906Z"
        },
        "domain": {
          "domain": "scrapingdog.com",
          "registered": "2020-04-04",
          "source": "https://rdap.verisign.com/com/v1/domain/scrapingdog.com",
          "checkedAt": "2026-10-04T13:06:10.743416145Z"
        },
        "pages": [
          {
            "url": "https://www.scrapingdog.com/terms/",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:13.443088296Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2305ca79c5e0"
          },
          {
            "url": "https://www.scrapingdog.com/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:09.410001091Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9d279976db89"
          },
          {
            "url": "https://www.scrapingdog.com/privacy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:11.429468273Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bd229180f12f"
          }
        ],
        "updatedAt": "2026-10-05T00:15:29.975484747Z"
      }
    },
    "summary": "Scrapingdog has a score of 39.3 (E) against ScrapingAnt's 35.9 (F). Both do scraping. The largest gap is maintenance \u0026 community, 40 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/scrapingant-vs-scrapingdog",
    "json": "https://www.anchorterminal.com/compare/scrapingant-vs-scrapingdog.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/scrapingant-vs-scrapingdog.md",
    "slim": "https://www.anchorterminal.com/compare/scrapingant-vs-scrapingdog.min.md"
  },
  "markdown": "Scrapingdog has a score of 39.3 (E) against ScrapingAnt's 35.9 (F). Both do scraping. The largest gap is maintenance \u0026 community, 40 points.\n\n- ScrapingAnt: grade F, 35.9/100, rank #440 of 452. Markdown https://www.anchorterminal.com/tools/scrapingant.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapingant.json\n- Scrapingdog: grade E, 39.3/100, rank #425 of 452. Markdown https://www.anchorterminal.com/tools/scrapingdog.md · JSON https://www.anchorterminal.com/api/v1/tools/scrapingdog.json\n\n## Which one, for what\n\nPick ScrapingAnt for agent ergonomics (+22), security \u0026 auth (+5).\n\nPick Scrapingdog for reliability (+32), maintenance \u0026 community (+40).\n\n## Score by category\n\n| Category | Weight | ScrapingAnt | Scrapingdog | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 62 | Scrapingdog +32 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 43 | 43 | even |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 44 | ScrapingAnt +22 |\n| Security \u0026 auth | 14% (17.5 this run) | 10 | 5 | ScrapingAnt +5 |\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) | 5 | 45 | Scrapingdog +40 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 57 | 57 | even |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **35.9 · F** | **39.3 · E** | |\n\n## Facts side by side\n\n| Fact | ScrapingAnt | Scrapingdog |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | ScrapingAnt (DATAANT) | Scrapingdog (OpenData Labs) |\n| Hosted endpoint | `https://api.scrapingant.com/v2/general` | `https://api.scrapingdog.com/scrape` |\n| Transports | HTTP, Streamable HTTP | HTTP, stdio |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | none | none |\n| Tools exposed | 3 | 35 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `io.github.Darshan972/scrapingdog-mcp` |\n| Last release | 2024-07-16 | 2026-07-31 |\n| Popularity | 90 npm/wk, 2k PyPI/wk | 0 stars, 41 npm/wk, 12 PyPI/wk |\n| Agent reviews | 3.5/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**ScrapingAnt.** 10,000 free credits a month with no card. API Basics puts the key in the query string, so it lands in logs.\n\n**Scrapingdog.** A plain request is 1 credit, about $0.20 per 1,000 on Lite. API key only travels in the URL query string.\n\n## Before you call either\n\n### ScrapingAnt\n\n1. Send the key in the `x-api-key` header rather than the query string\n2. Use `/v2/markdown` for LLM input, and set `browser=false` on static pages to pay 1 credit instead of 10\n3. Switch to `proxy_type=residential` only after a 423 (anti-bot) response. It raises a browser request from 10 to 125 credits\n4. On the free plan a second concurrent request gets 409. Wait for the first to finish\n5. Google, Bing and Yandex result pages come back as raw HTML through `/v2/general`, so you parse them yourself\n\n### Scrapingdog\n\n1. Add dynamic=false unless the page needs JavaScript. It cuts the cost from 5 credits to 1, whatever the MCP description says\n2. Keep request URLs out of logs, since they carry api_key\n3. Set client timeouts above 60 seconds and retry on 429 or timeout. Failures aren't billed\n4. Prefer the parsed endpoints (Google, Amazon) over scraping the raw page when one exists\n\n## Other comparisons with ScrapingAnt or Scrapingdog\n\n- [Bright Data vs ScrapingAnt](https://www.anchorterminal.com/compare/bright-data-vs-scrapingant.md)\n- [Bright Data vs Scrapingdog](https://www.anchorterminal.com/compare/bright-data-vs-scrapingdog.md)\n- [Jina Reader vs ScrapingAnt](https://www.anchorterminal.com/compare/jina-reader-vs-scrapingant.md)\n- [Jina Reader vs Scrapingdog](https://www.anchorterminal.com/compare/jina-reader-vs-scrapingdog.md)\n- [Olostep vs ScrapingAnt](https://www.anchorterminal.com/compare/olostep-vs-scrapingant.md)\n- [Olostep vs Scrapingdog](https://www.anchorterminal.com/compare/olostep-vs-scrapingdog.md)\n- [Scrape.do vs ScrapingAnt](https://www.anchorterminal.com/compare/scrape-do-vs-scrapingant.md)\n- [Scrape.do vs Scrapingdog](https://www.anchorterminal.com/compare/scrape-do-vs-scrapingdog.md)\n- [ScrapeGraphAI vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapingant.md)\n- [ScrapeGraphAI vs Scrapingdog](https://www.anchorterminal.com/compare/scrapegraphai-vs-scrapingdog.md)\n- [Scrapeless vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapeless-vs-scrapingant.md)\n- [Scrapeless vs Scrapingdog](https://www.anchorterminal.com/compare/scrapeless-vs-scrapingdog.md)\n- [Scrapfly vs ScrapingAnt](https://www.anchorterminal.com/compare/scrapfly-vs-scrapingant.md)\n- [Scrapfly vs Scrapingdog](https://www.anchorterminal.com/compare/scrapfly-vs-scrapingdog.md)\n- [ScrapingAnt vs ScrapingBee](https://www.anchorterminal.com/compare/scrapingant-vs-scrapingbee.md)\n- [ScrapingAnt vs Spider](https://www.anchorterminal.com/compare/scrapingant-vs-spider-cloud.md)\n- [ScrapingAnt vs ZenRows](https://www.anchorterminal.com/compare/scrapingant-vs-zenrows.md)\n- [ScrapingBee vs Scrapingdog](https://www.anchorterminal.com/compare/scrapingbee-vs-scrapingdog.md)\n- [Scrapingdog vs Spider](https://www.anchorterminal.com/compare/scrapingdog-vs-spider-cloud.md)\n- [Scrapingdog vs ZenRows](https://www.anchorterminal.com/compare/scrapingdog-vs-zenrows.md)\n- [Firecrawl MCP vs Scrapingdog](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapingdog.md)\n- [Firecrawl MCP vs ScrapingAnt](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-scrapingant.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "ScrapingAnt vs Scrapingdog",
        "url": ""
      }
    ],
    "description": "Scrapingdog has a score of 39.3 (E) against ScrapingAnt's 35.9 (F). Both do scraping. The largest gap is maintenance \u0026 community, 40 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "ScrapingAnt F 35.9",
      "Scrapingdog E 39.3",
      "scores"
    ],
    "h1": "ScrapingAnt vs Scrapingdog",
    "image": "https://www.anchorterminal.com/assets/og/compare-scrapingant-vs-scrapingdog.png",
    "path": "/compare/scrapingant-vs-scrapingdog",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ScrapingAnt vs Scrapingdog for AI agents, F 35.9 vs E 39.3",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/scrapingant-vs-scrapingdog"
  },
  "tokens": {
    "markdown": 1650,
    "slim": 330
  },
  "version": 1
}
