CNBC Scraper
Pricing
from $1.00 / 1,000 records
CNBC Scraper
Extract CNBC quotes and newsroom feeds: price, change, open, both ranges, volume, market cap, PE, EPS, dividend yield, beta and the extended-hours price, plus top news, earnings and economy. Export data, run via API, schedule and monitor runs, or integrate with other tools.
Pricing
from $1.00 / 1,000 records
Rating
5.0
(1)
Developer
Public Money
Maintained by ApifyActor stats
1
Bookmarked
4
Total users
3
Monthly active users
21 hours ago
Last modified
Categories
Share
CNBC is one of the few places that publishes a full quote and a newsroom feed for the same market, and neither has an API. This Actor does both: quote mode returns one structured record per symbol with the price block, both ranges, market cap, PE, EPS, dividend yield, beta and the extended-hours price, and news mode returns CNBC's top news, finance, earnings and economy feeds as structured records.
What it does
- Returns one record per requested symbol in quote mode, in order. A symbol CNBC does not carry comes back with
status: "failed"and a reason. - Carries the extended-hours price next to the regular-session close, so a pre-market or after-hours move is visible.
- Reads four newsroom feeds in news mode: top news, finance, earnings and economy. Pick any combination.
- Gives you quotes and financial news from one source, so a headline and the price it moved can be joined on the same run.
- Reports beta and dividend yield alongside PE and EPS, which many quote sources leave out.
- Stamps every record with
validFrom, CNBC's own market time for that quote.
Use cases
| You need to | How this Actor does it |
|---|---|
| Join a headline to a price move | Run quote mode and news mode on the same schedule and match on the symbol |
| Watch the pre-market | Read the extended-hours price before the open |
| Track the earnings feed | Set the news feeds to earnings and schedule the run |
| Follow macro coverage | Set the news feeds to economy |
| Feed a finance agent | Call the Actor over MCP and let the model ask for the symbol it needs |
| Screen on more than PE | Read beta and dividendYieldPercent in the same record |
Quick start
- Click Try for free.
- For quotes, add your symbols one per line:
AAPL,MSFT,NVDA, and leave Mode onquote. - For news, switch Mode to
newsand pick the Feeds you want:topNews,finance,earnings,economy. - Set Articles per feed to control how many stories each feed returns.
- Click Start. Rows appear within seconds.
- Export as JSON, CSV, Excel or XML, or read the dataset over the API.
Input
| Field | Type | Default | What it controls |
|---|---|---|---|
symbols | array | AAPL | Symbols to read in quote mode |
mode | string | quote | quote returns a record per symbol, news a record per story |
feeds | array | all four | Which CNBC newsroom feeds to read in news mode |
articlesPerFeed | integer | 50 | Stories per feed in news mode |
maxItems | integer | 0 | Caps how many records are written. 0 writes them all |
{"symbols": ["AAPL","MSFT","NVDA"],"mode": "quote","maxItems": 0}
Output
One dataset item per symbol in quote mode, one per story in news mode. Fields CNBC does not publish for an instrument are dropped rather than returned as null.
| Field group | Fields |
|---|---|
| Identity | status, tickerSymbol, name, exchange, currency, url |
| Price | value, change, changePercent, open, previousClose |
| Extended hours | extendedHoursPrice, extendedHoursChange, extendedHoursChangePercent |
| Ranges and volume | dayLow, dayHigh, fiftyTwoWeekLow, fiftyTwoWeekHigh, volume |
| Fundamentals | marketCap, peRatio, eps, beta, dividendYieldPercent |
| News mode | headline, publisher, datePublished, feed, url |
| Timing | validFrom, scrapedAt |
{"status": "ok","tickerSymbol": "AAPL","name": "Apple Inc","exchange": "NASDAQ","currency": "USD","value": 319.97,"change": -8.24,"changePercent": -2.51,"open": 327.1,"previousClose": 328.21,"extendedHoursPrice": 320.44,"dayLow": 317.86,"dayHigh": 328.93,"fiftyTwoWeekHigh": 344.57,"volume": 38272821,"marketCap": 4670000000000,"peRatio": 36.65,"eps": 8.73,"beta": 1.09,"dividendYieldPercent": 0.33,"validFrom": "2026-09-04T20:00:01.000Z","url": "https://www.cnbc.com/quotes/AAPL"}
What does news mode return?
mode: "news" reads CNBC's newsroom feeds rather than a per-symbol page, so it returns the market-wide story flow: headline, publisher, datePublished, url and the feed each story came from. Pick any combination of topNews, finance, earnings and economy, and set Articles per feed for the depth. News is charged as news items rather than as quotes.
Integrations
Run it over the API and get the rows back in one call:
curl -X POST "https://api.apify.com/v2/acts/publicmoney~cnbc-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"symbols": ["AAPL", "MSFT", "NVDA"], "mode": "quote", "maxItems": 0}'
From Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("publicmoney/cnbc-scraper").call(run_input={"symbols": ["AAPL", "MSFT", "NVDA"], "mode": "quote", "maxItems": 0})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["tickerSymbol"], item["name"], item["value"])
Give an AI agent the Actor over MCP:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=publicmoney/cnbc-scraper"}}}
Schedules run it on any cron, webhooks fire when a run finishes, and platform integrations push the dataset to Google Sheets, Slack, Airtable, Zapier or your own endpoint.
Cost
Pay per event, so you pay for records rather than compute time.
| Event | Free tier | Top volume tier |
|---|---|---|
| Record with data | $0.002 | $0.0007 |
| News article | $0.001 | $0.00035 |
| Actor start | $0.00005 per GB | Same |
A record that returned no data is published as a failure row and is never charged. Six volume tiers apply, so the per-record price falls with monthly volume.
Troubleshooting
| Issue | Solution |
|---|---|
A symbol returns failed | CNBC does not carry a quote page for it. Non-US listings and thinly traded tickers are the usual cases. |
| News mode ignores my symbols | By design. CNBC's news is organised into newsroom feeds rather than per symbol, so news mode reads the feeds you picked. Use the Yahoo, Nasdaq or Finviz Actor for per-symbol news. |
extendedHoursPrice is missing | The regular session is open, so there is no extended-hours print to report. |
beta is missing | CNBC publishes beta only for instruments with enough history. Recent listings carry none. |
| I want both quotes and news in one run | Run the Actor twice on the same schedule, once per mode, and join on the symbol. One run is one mode. |
FAQ
Does CNBC have an API?
No. CNBC publishes no documented public API for this data. The endpoints that libraries reach for are internal and unsupported, and they change without notice. This Actor reads the public quote and newsroom pages, which is why it keeps working.
Can I get financial news with a symbol attached?
CNBC organises news by newsroom feed rather than by symbol, so news mode returns the feed and not a ticker. For per-symbol news use the Yahoo Finance, Nasdaq or Finviz Actor in this fleet.
What are the four feeds?
topNews is the front page, finance is markets coverage, earnings follows company results and economy covers macro. Pick any combination.
Does it return historical prices?
No. Each record is the current snapshot as the source publishes it. To build a series, schedule the Actor and let the dataset accumulate a row per input per run. Each row carries validFrom, so the series is correctly timestamped.
Can I read quotes and news in the same run?
No, one run is one mode. Schedule two runs on the same cron and join the datasets on the symbol if you need both.
Do I need a CNBC API key?
No. You need an Apify token to call the Actor over the API. No CNBC credential is involved anywhere.
Can I get this data in Python?
Yes, with the apify-client package as shown above. It returns parsed JSON, so there is no HTML or response handling on your side.
Can I get the data into Excel or Google Sheets?
Yes. Export the dataset as XLSX or CSV, or connect the Google Sheets integration so each run appends to a sheet.
Can an AI agent call this Actor?
Yes. Add it to an MCP client with the config above and the model can request what it needs on its own. Every record is flat JSON with named fields, so no post-processing is needed.
Is it legal to scrape CNBC?
This Actor reads public CNBC data that needs no login and collects no personal data. Scraping public data is generally lawful, and how you store, redistribute or act on market data is governed by your own agreements and local rules. Take your own legal advice for your use case.
Changelog
- 0.0.2 Added news mode across the four newsroom feeds and extended-hours pricing.
- 0.0.1 First release. Quote mode for any symbol CNBC carries.
Feedback
Found a field CNBC publishes that this Actor misses, or an input it rejects? Open an issue on the Issues tab with the input and what you expected. A daily test runs every Actor in the fleet against live sources, so parser fixes ship fast.