CNBC Scraper avatar

CNBC Scraper

Pricing

from $1.00 / 1,000 records

Go to Apify Store
CNBC Scraper

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

Public Money

Maintained by Apify

Actor 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 toHow this Actor does it
Join a headline to a price moveRun quote mode and news mode on the same schedule and match on the symbol
Watch the pre-marketRead the extended-hours price before the open
Track the earnings feedSet the news feeds to earnings and schedule the run
Follow macro coverageSet the news feeds to economy
Feed a finance agentCall the Actor over MCP and let the model ask for the symbol it needs
Screen on more than PERead beta and dividendYieldPercent in the same record

Quick start

  1. Click Try for free.
  2. For quotes, add your symbols one per line: AAPL, MSFT, NVDA, and leave Mode on quote.
  3. For news, switch Mode to news and pick the Feeds you want: topNews, finance, earnings, economy.
  4. Set Articles per feed to control how many stories each feed returns.
  5. Click Start. Rows appear within seconds.
  6. Export as JSON, CSV, Excel or XML, or read the dataset over the API.

Input

FieldTypeDefaultWhat it controls
symbolsarrayAAPLSymbols to read in quote mode
modestringquotequote returns a record per symbol, news a record per story
feedsarrayall fourWhich CNBC newsroom feeds to read in news mode
articlesPerFeedinteger50Stories per feed in news mode
maxItemsinteger0Caps 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 groupFields
Identitystatus, tickerSymbol, name, exchange, currency, url
Pricevalue, change, changePercent, open, previousClose
Extended hoursextendedHoursPrice, extendedHoursChange, extendedHoursChangePercent
Ranges and volumedayLow, dayHigh, fiftyTwoWeekLow, fiftyTwoWeekHigh, volume
FundamentalsmarketCap, peRatio, eps, beta, dividendYieldPercent
News modeheadline, publisher, datePublished, feed, url
TimingvalidFrom, 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 ApifyClient
client = 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.

EventFree tierTop volume tier
Record with data$0.002$0.0007
News article$0.001$0.00035
Actor start$0.00005 per GBSame

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

IssueSolution
A symbol returns failedCNBC does not carry a quote page for it. Non-US listings and thinly traded tickers are the usual cases.
News mode ignores my symbolsBy 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 missingThe regular session is open, so there is no extended-hours print to report.
beta is missingCNBC publishes beta only for instruments with enough history. Recent listings carry none.
I want both quotes and news in one runRun 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.

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.