For teams using ScrapingBee to collect news — either scraping publisher sites with the HTML API, or scraping Google News with search_type=news — and wondering whether a news API would be simpler.
This kit is not a parameter table pretending the two products are the same. ScrapingBee is a general-purpose scraper; APITube is a news index. Most of ScrapingBee's parameters exist to make scraping work, and after this migration there is no scraping to make work.
Every APITube claim here was executed against the live API before being written down.
A. Scraping publisher sites with the HTML API (url=, extract_rules=, render_js=). You maintain a URL discovery step, a fetcher, extraction rules per publisher, and the breakage that comes with all three. → reference/from-html-api.md
B. Scraping Google News with the Google Search API (search_type=news). You get titles, links and snippets, then fetch each link to get the text. → reference/from-google-search.md
Most teams doing news at any scale end up doing both.
Credit costs are from ScrapingBee's knowledge base:
| Request | Credits |
|---|---|
| Classic proxies without JS rendering | 1 |
| Classic proxies with JS rendering | 5 |
| Premium proxies without JS rendering | 10 |
| Premium proxies with JS rendering | 25 |
| Stealth proxies | 75 |
| Google Search API, light request | 10 |
| Google Search API, normal request | 15 |
News sites are the case that pushes you up that table: paywalls, consent walls, lazy-loaded body text and aggressive bot detection are the norm, so render_js and often premium_proxy become non-optional.
One article, scraped: find the URL, then one HTML API request at 5–25 credits, then extraction rules that you keep working per publisher.
One article, from APITube: part of a response that returns 250 of them, body included.
Verified 27 July 2026: title=tesla&per_page=250 returned 250 articles, all 250 with a non-empty body, averaging 4 818 characters each. One request.
| Path | What it gives you |
|---|---|
reference/from-html-api.md |
Scenario A — extract_rules mapped onto fields APITube already returns |
reference/from-google-search.md |
Scenario B — search_type=news parameters and news_results fields |
reference/what-you-keep-scraping.md |
Honest list: what APITube does not cover, so keep ScrapingBee for it |
reference/limitations.md |
APITube quirks that will bite during the migration |
shim/node/ |
ScrapingBeeNewsShim — accepts search_type=news parameters, returns the ScrapingBee response shape |
shim/python/ |
Same shim for Python |
examples/ |
Before/after, including the code that disappears |
tools/ai-migration-prompt.md |
System prompt for Claude/ChatGPT that converts your queries |
# ScrapingBee, Google News
curl "https://app.scrapingbee.com/api/v1/store/google?search=tesla&search_type=news&country_code=us" \
-H "Authorization: Bearer YOUR_KEY"# APITube
curl "https://api.apitube.io/v1/news/everything?title=tesla&source.country.code=us&per_page=250" \
-H "X-API-Key: YOUR_API_KEY"The second one includes the article text. The first one includes a link to it.
A migration kit that claims you can delete your scraper is lying. APITube replaces the news-collection half of the job. It does not do:
- Sites outside the index. APITube indexes news publishers. A competitor's pricing page, a government portal, a forum thread — still a scrape.
- Pages behind a login. No session handling, no cookies, no
js_scenario. - Rendering a specific page as a user sees it. No screenshots, no viewport control.
- Arbitrary DOM extraction.
extract_rulesagainst a page structure APITube does not model. - Non-news content on news domains. Job listings, event calendars, e-commerce sections.
The realistic outcome is that your ScrapingBee bill shrinks to the non-news work rather than going to zero. reference/what-you-keep-scraping.md is the detailed version.
| Stage | With ScrapingBee | With APITube |
|---|---|---|
| URL discovery | RSS parsing, sitemap crawling, or SERP scraping | The query is the discovery |
| Fetching | One request per article, credits per request | Included |
| Extraction | Per-publisher extract_rules, revisited when a site redesigns |
Structured fields |
| Body text | return_page_text and hope the selectors held |
body and body_html |
| Enrichment | Your own NLP on top | Entities, sentiment, IPTC categories, topics, industries, readability |
| Deduplication | Yours | is_duplicate and story.id |
| Publisher metadata | Yours | Domain, country, political bias, Open Page Rank |
MIT. Use it, fork it, ship it.