ScrapingAnt alternatives in 2026
Pages at $0.80 per 1,000, no plan.
ScrapingAnt sells monthly credits, from $19 for 100,000 on Enthusiast. A page with its default headless browser takes 10 credits and a simple request 1, so Enthusiast reads about 10,000 browser pages. Finding the pages is left to you.
SpecStream is the live web data engine. It reads any page at $0.0008 whatever it takes to load, answers your ScrapingAnt call at its own address, and on the same key searches the web, crawls sites and returns whole datasets as rows.
New accounts get $10 of credit, no card. It covers 12,500 pages.
SpecStream and ScrapingAnt side by side
| SpecStream | ScrapingAnt | |
|---|---|---|
| What you change | One line. https://api.specstream.ai/scrapingant/v2 in place of https://api.scrapingant.com/v2, and a SpecStream key in x-api-key. /v2/general, /v2/extended and /v2/markdown keep their shape | GET https://api.scrapingant.com/v2/general with the key as x-api-key |
| Price of a page | $0.0008, which is $0.80 per 1,000 pages, the same for every page. A page that refuses a plain read is tried again in a real browser at the same price | Credits by option: 10 for a page with the headless browser, which is the default, and 1 for a simple request with no browser |
| Plan | No plan. Calls spend from a balance inside the limit you set on the key, and credit you buy never expires | Monthly plans: Enthusiast $19 for 100,000 credits, Startup $49 for 500,000 |
| Failed and empty pages | A page with no text is not charged. A busy call gets 409 with Retry-After, ScrapingAnt's own status, and is not charged | Failed requests cost 0 |
| Free to start | $10 of credit, no card. That is 12,500 pages, or 2,000 searches | 10,000 free credits every month. The free plan allows one active request, and a second gets 409 |
| Search | The Search API answers a question from the live web at $5 per 1,000 searches of up to 10 results, with up to 100 results a call. 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks | A page API: each call starts from a url you already have |
| Crawls and site maps | POST /v1/crawl runs a crawl as a job and POST /v1/map returns a site's links. Each crawled page with text is one page read at $0.0008, and a map is one page read. Firecrawl's map and crawl calls answer at /firecrawl on the same key | One url per call |
| Data already held | Public databases read every morning at specstream.ai/data: every company that filed a Form D since 2023 with its filing history, nearly 2 million US nonprofits, every US bank failure since 1934, federal rules, open federal contracts and grants, and local businesses. Signals such as funding rounds, new executives and layoffs at specstream.ai/signals | Pages read one call at a time |
| Every match as structured rows | Deep Search: a request in plain words returns every match on the live web as rows that meet each condition you wrote, at 5¢, 15¢ or $1 a row, plus 5¢ for an email and 15¢ for a phone. The most a run can cost is quoted before it starts, and nothing runs until you approve it | The page as HTML, text or markdown. Turning pages into records is code you write |
| Reruns and change labels | Hourly to yearly. Each row comes back labeled changed, unchanged or no longer matching. A changed or new row costs half its rate, an unchanged row 1¢ | Each call reads the page again at its credit cost |
| Where the data goes | Google Sheets, Excel, Airtable, Notion, monday.com, HubSpot, Salesforce, Pipedrive, Attio, Slack, Teams, Zapier, Make, n8n and signed webhooks. Agents use the MCP server, the REST API, the Python and TypeScript SDKs, a CLI and A2A | The API response, and the scrapingant-client Python client |
Why ScrapingAnt users move to SpecStream
Your ScrapingAnt client keeps running
SpecStream answers /v2/general, /v2/extended and /v2/markdown at its own address, in ScrapingAnt's form, with its {"detail"} errors. In ScrapingAnt's Python client, scrapingant-client 2.1.0, the change is one line before you build the client: scrapingant_client.client.SCRAPINGANT_API_BASE_URL = "https://api.specstream.ai/scrapingant/v2". With requests:
import requests
reply = requests.get(
"https://api.specstream.ai/scrapingant/v2/markdown", # was https://api.scrapingant.com/v2/markdown
params={"url": "https://en.wikipedia.org/wiki/Web_scraping"},
headers={"x-api-key": SPECSTREAM_KEY},
timeout=60,
)
print(reply.json()["markdown"][:500])One price a page, whatever the page needs
On ScrapingAnt the browser is on by default, so a page takes 10 credits unless you turn it off for a 1 credit request. On SpecStream every page that gives text costs $0.0008. A page that refuses a plain read is tried again in a real browser, then from the site's own feed, then from its newest public archive capture, at the same price.
A page with nothing on it is not charged
On SpecStream a page with no text is not charged, and a busy call gets 409, ScrapingAnt's status for too many requests at once, with Retry-After, and charges nothing. Your client's retry code reads it as it reads ScrapingAnt's.
A balance with no plan
ScrapingAnt sells credits by the month, from $19 on Enthusiast, about 10,000 pages with the default browser. On SpecStream $19 reads 23,750 pages, there is no plan to renew, and credit you buy never expires. Set spend_cap_cents on a key and that key never spends past it.
Scored on the official benchmarks
Every page goes through the SpecStream Extract API, which returns the main text of up to 20 pages or documents (PDF, Word, Excel) a call. The Search API scores a 97.9 F-score on all 1,000 official SimpleQA Verified questions, with 978 correct, and 64.0 item F1 and 43.4 row F1 on all 200 official WideSearch tasks. The Extract API scores 0.908 F1 on WCXB. The scores and the method are at specstream.ai/benchmarks.
Search, crawls and site maps on the same key
A ScrapingAnt call starts from a URL you already have. On SpecStream the same key finds the URLs: the Search API returns up to 100 results a call at $5 per 1,000 searches of up to 10, POST /v1/map returns a site's links for one page read, and POST /v1/crawl reads a whole site at $0.0008 a page with text.
Whole datasets as rows, kept up to date
When the job is a dataset in place of pages, the same key does that too. Deep Search takes a request in plain words, such as "the pricing page of every European project management software company, with each plan's name and monthly price", and returns every match on the live web as structured rows at 5¢, 15¢ or $1 a row, with a source URL on every value. The most a run can cost is approved before it starts. Save the request and it reruns hourly to yearly: a changed or new row costs half its rate and an unchanged row 1¢. Rows go to Sheets, a CRM, Slack, a signed webhook or your agent through the MCP server at https://api.specstream.ai/mcp.
Zero retention on any key
Set zero_retention when you create a key, or later. A call made with that key keeps no request text and no answer after the reply, and spend_cap_cents is the most the key can spend.
curl -X POST https://api.specstream.ai/v1/account/keys \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"name": "production", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'Other ScrapingAnt alternatives
SpecStream
The live web data engine for teams and agents. The Extract API reads pages at $0.80 per 1,000 and scores 0.908 F1 on WCXB, the Search API costs $5 per 1,000 searches and scores 97.9 F-score on all 1,000 SimpleQA Verified questions, and Deep Search returns every match as structured rows at 5¢, 15¢ or $1 a row. One key, one balance that never expires.
Scrape.do
A scraping API on monthly credits: Hobby is $29 billed monthly for 250,000, Pro $99 for 1,250,000, and a page with a headless browser takes 5 credits. SpecStream answers Scrape.do's ?token=&url= call at https://api.specstream.ai/scrapedo at $0.0008 a page.
ScrapingBee
A scraping API on monthly credits: Hobby is $19 for 75,000, and each successful request with JavaScript rendering costs 5 credits. SpecStream answers ScrapingBee's call at https://api.specstream.ai/scrapingbee/api/v1, from a balance that never expires.
ScraperAPI
A scraping API on monthly plans: Hobby is $49 a month for 100,000 API credits, and a standard page costs 1 credit. SpecStream answers ScraperAPI's call at https://api.specstream.ai/scraperapi, and a page with no text costs nothing.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to switch from ScrapingAnt
1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 12,500 pages.
2. Change the address and the key. The parameters and the reply stay as they are:
# Before
curl -G https://api.scrapingant.com/v2/general \
-H "x-api-key: $SCRAPINGANT_API_KEY" \
--data-urlencode "url=https://en.wikipedia.org/wiki/Web_scraping"
# After
curl -G https://api.specstream.ai/scrapingant/v2/general \
-H "x-api-key: $SPECSTREAM_API_KEY" \
--data-urlencode "url=https://en.wikipedia.org/wiki/Web_scraping"3. In JavaScript, with fetch:
const url = new URL("https://api.specstream.ai/scrapingant/v2/markdown");
url.search = new URLSearchParams({ url: "https://en.wikipedia.org/wiki/Web_scraping" });
const reply = await fetch(url, { headers: { "x-api-key": process.env.SPECSTREAM_KEY } });
const { markdown } = await reply.json();
console.log(markdown.slice(0, 500));4. Read 409 with Retry-After as a call to send again later; it is not charged. Every parameter the route reads and every field it returns is in the ScrapingAnt migration guide.
5. For pages you have not found yet, send the question to GET https://api.specstream.ai/v1/web-search, or write the dataset you want in plain words and SpecStream quotes the most it can cost before it runs.
Frequently asked questions
Something we didn't answer? Talk to a human
How much does ScrapingAnt cost?
What is the best ScrapingAnt alternative?
/v2 calls, scores 0.908 F1 on WCXB for extraction and 97.9 F-score on SimpleQA Verified for search, as shown on the benchmarks page, and the same key crawls sites and returns whole datasets as rows.How many credits does a ScrapingAnt request cost?
How do I switch from ScrapingAnt to SpecStream?
https://api.scrapingant.com/v2 becomes https://api.specstream.ai/scrapingant/v2, and a SpecStream key goes in x-api-key. In scrapingant-client 2.1.0, set scrapingant_client.client.SCRAPINGANT_API_BASE_URL to that address and general_request() and markdown_request() run as before.Is there a free ScrapingAnt alternative?
Does SpecStream have an API?
POST /v1/extract at $0.80 per 1,000 pages, the Search API is GET /v1/web-search at $5 per 1,000 searches of up to 10 results, and Deep Search returns structured rows at 5¢, 15¢ or $1 each. The MCP server is at https://api.specstream.ai/mcp.Sources
SpecStream wrote this page. Each rival figure comes from that company's own page.
- SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream dataspecstream.ai/data, read Nov 10, 2026
- SpecStream signalsspecstream.ai/signals, read Nov 10, 2026
- ScrapingAnt pricingscrapingant.com/price-scraping-api, read Nov 10, 2026
- ScrapingAnt credits costdocs.scrapingant.com/credits-cost, read Nov 10, 2026
- ScrapingAnt headless browserdocs.scrapingant.com/headless-browser, read Nov 10, 2026
- ScrapingAnt errorsdocs.scrapingant.com/errors, read Nov 10, 2026
- ScrapingAnt API basicsdocs.scrapingant.com/api-basics, read Nov 10, 2026
- Scrape.do pricingscrape.do/pricing/, read Nov 10, 2026
- Scrape.do request costsscrape.do/documentation/request-costs/, read Nov 10, 2026
- ScrapingBee pricingscrapingbee.com/pricing/, read Nov 10, 2026
- ScraperAPI pricingscraperapi.com/pricing.md, read Nov 10, 2026




