Skip to the page

ScrapingBee compatible

Change the address, keep the client.

ScrapingBee's Hobby plan is $19 a month for 75,000 credits, a default call with JavaScript costs 5 credits, and credits don't roll over. SpecStream answers the same GET /api/v1 call at one price: $0.80 per 1,000 pages.

The switch is one line: https://api.specstream.ai/scrapingbee/api/v1/ in place of https://app.scrapingbee.com/api/v1/, and a SpecStream key as the Bearer token. The client and your parser stay.

The SpecStream Extract API scores 0.908 F1 on WCXB. A failed page costs nothing, credit you buy never expires, and a new account gets $10 of credit, no card.

New accounts get $10 of credit, no card. It covers 12,500 pages.

ScrapingBee to SpecStream, parameter by parameter and field by field

SpecStreamScrapingBee
AddressGET https://api.specstream.ai/scrapingbee/api/v1/?url=GET https://app.scrapingbee.com/api/v1?url=
The keyA SpecStream key as Authorization: Bearer, or as api_key in the addressAuthorization: Bearer YOUR-API-KEY. Passing the key as api_key is deprecated
OutputThe page's HTML, or its main content with return_page_markdown or return_page_text. json_response wraps it, and add_html adds the HTMLThe page as returned, or JSON with json_response
Status codesThe site's 404 passes through, and transparent_status_code gives the site's own status. A page that cannot be read gets 500 and is not charged404 and 410 are billed. 500 is not billed
ErrorsScrapingBee's own: 400 with no url, 401 for a wrong key or no credit. A busy call gets 429 with Retry-After and is not charged401 out of credits or an invalid key, 429 too many concurrent requests
Price$0.80 per 1,000 pages, the same for every page. $19 reads 23,750 pagesHobby $19 a month for 75,000 credits. A call costs 1 to 75 credits, 5 with JavaScript rendering by default
CreditCredit you buy never expiresAPI credits are valid for one month and don't roll over
Free to start$10 of credit, no card, which covers 12,500 pages1,000 free API credits, no credit card required

The ScrapingBee reference, on SpecStream

What else ScrapingBee users price

How SpecStream scores

The same numbers as the benchmarks page, from the official tasks and scorers.

How to migrate, step by step

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. Set the address to https://api.specstream.ai/scrapingbee/api/v1/ where your code has https://app.scrapingbee.com/api/v1/, and send the SpecStream key as the Bearer token. In Python:

import requests

URL = "https://api.specstream.ai/scrapingbee/api/v1/"  # was https://app.scrapingbee.com/api/v1/

reply = requests.get(
    URL,
    headers={"Authorization": f"Bearer {SPECSTREAM_KEY}"},
    params={"url": "https://en.wikipedia.org/wiki/Web_scraping", "return_page_markdown": "true"},
    timeout=60,
)
reply.raise_for_status()
print(reply.text[:500])

3. In JavaScript:

const url = new URL("https://api.specstream.ai/scrapingbee/api/v1/");
url.search = new URLSearchParams({ url: "https://en.wikipedia.org/wiki/Web_scraping", json_response: "true" });
const reply = await fetch(url, { headers: { Authorization: `Bearer ${process.env.SPECSTREAM_KEY}` } });
const data = await reply.json();
console.log(data["initial-status-code"], data["resolved-url"], data.body.length);

4. Read 429 as a call to send again after Retry-After. It is not charged.

Frequently asked questions

Something we didn't answer? Talk to a human

Is there a ScrapingBee compatible API?
Yes. SpecStream answers ScrapingBee's GET /api/v1 at https://api.specstream.ai/scrapingbee/api/v1/ with ScrapingBee's reply and status codes, as measured on production on Nov 10, 2026. A page costs $0.0008.
How do I migrate from ScrapingBee?
Change one address: https://app.scrapingbee.com/api/v1/ becomes https://api.specstream.ai/scrapingbee/api/v1/, and a SpecStream key goes in the Bearer token. url, return_page_markdown, return_page_text, json_response, add_html and transparent_status_code keep their meaning.
How much does ScrapingBee cost?
Plans start at $19 a month for 75,000 API credits, and a call costs 1 to 75 credits, 5 with JavaScript rendering by default. Credits are valid for one month. SpecStream costs $0.80 per 1,000 pages with no plan, and its credit never expires.
Does the ScrapingBee Python SDK work with SpecStream?
Yes. scrapingbee 2.2.0 works when you set client.HTML_API_URL = "https://api.specstream.ai/scrapingbee/api/v1/" and pass a SpecStream key, as tested on production on Nov 10, 2026. html_api() runs unchanged.
Does SpecStream charge for a failed page?
No. A page that cannot be read gets ScrapingBee's 500 and costs nothing, a page with no main text costs nothing, and a busy call gets 429 with Retry-After and costs nothing.
Which ScrapingBee fields does SpecStream not return?
The Spb-* headers, and in the JSON form headers, cost, cookies, xhr, screenshot, metadata, iframes, evaluate_results and js_scenario_report. The JSON keeps body, initial-status-code, resolved-url, type and html.

Sources

SpecStream wrote this page. Each ScrapingBee figure comes from ScrapingBee's own pages, and each other provider's figure from that company's own page. The route's behavior comes from its code and the pass table measured on production.

  1. ScrapingBee pricingscrapingbee.com/pricing/, read Nov 10, 2026
  2. ScrapingBee documentationscrapingbee.com/documentation/, read Nov 10, 2026
  3. SpecStream ScrapingBee pass tablespecstream.ai/specstream/dialects/scrapingbee.md, read Nov 10, 2026
  4. ScraperAPI pricingscraperapi.com/pricing/, read Nov 10, 2026
  5. ZenRows pricingdocs.zenrows.com/first-steps/pricing.md, read Nov 10, 2026
  6. Scrapfly pricingscrapfly.io/pricing, read Nov 10, 2026
  7. Scrapfly billingscrapfly.io/docs/scrape-api/billing, read Nov 10, 2026
  8. Firecrawl pricingfirecrawl.dev/pricing, read Nov 10, 2026
  9. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
  10. SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026