Multi-Source Business News Aggregator
Pricing
from $1.25 / 1,000 results
Multi-Source Business News Aggregator
Scrape and normalize business/finance headlines from Forbes, CNBC, Fortune, NYTimes and the Financial Times into one schema, with a cross-outlet keyword filter. No login, no API key.
Pricing
from $1.25 / 1,000 results
Rating
0.0
(0)
Developer
Axery
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
Scrapes and normalizes business/finance headlines from Forbes, CNBC, Fortune, The New York Times and the Financial Times into one schema, with an optional cross-outlet keyword filter. No login, no API key.
Useful for media monitoring, competitive/market intelligence, and building a single feed out of sources that would otherwise each need their own scraper.
What makes this different
One outlet-agnostic schema, not five separate actors. Each outlet formats its feed differently — CDATA here, plain text there, a different date format, a different category scheme — and a scraper built against just one of them breaks silently on the others. This Actor reads all five defensively and normalizes them to identical fields, so filtering or sorting works the same way regardless of which outlet a row came from.
The keyword filter runs across all selected outlets in one pass. Tracking a topic ("tariff", "interest rate", "AI") across five outlets normally means five separate scrapes and a manual merge afterward. Here it's one input field, checked against every outlet's title and description before the row is even counted toward your item limit.
Dates you can actually sort and compare. Every outlet's publish timestamp is normalized to UTC ISO-8601 regardless of the RFC-822 or outlet-specific format it originally shipped in — so a Forbes article and an FT article land on a shared timeline instead of five incompatible date strings.
Article IDs are namespaced by outlet. The same headline occasionally gets syndicated across outlets; namespacing prevents a coincidental ID collision from quietly merging two different articles' rows.
Input
| Field | Type | Notes |
|---|---|---|
outlets | array | Any of forbes, cnbc, fortune, nytimes, ft. |
keyword | string | Optional. Case-insensitive, checked across title + description. |
maxItemsPerOutlet | integer | Cap per outlet, applied after the keyword filter. 0 = everything the feed serves. |
proxyConfiguration | object | Defaults to Residential. |
One limit worth knowing up front
Each outlet's feed is a fixed window of its most recent (or, for Forbes specifically, currently-trending) items — there's no pagination parameter to reach further back. To build a longer history on a topic, run this on a schedule with the same keyword and let the dataset accumulate.
Output
{"article_id": "cnbc:108353620","source": "cnbc","title": "Trump targets Iran's trade lifelines — here are the countries most exposed","description": "Washington's threat of \"economic D-Day\" collides with a small group of governments...","published_at": "2026-08-25T06:24:36Z","url": "https://www.cnbc.com/2026/08/25/us-iran-secondary-sanctions-china-india-uae-hormuz-trade-.html"}
Each run also writes a RUN_COVERAGE record to the key-value store with what was requested, what came back, and any per-outlet failures.
Local development
pip install -r requirements.txtpython test_local.py all --max 10 --out sample_output.jsonpython test_local.py cnbc fortune --keyword ai
sample_output.json is real output from a live run across all five outlets.