Barchart avatar

Barchart

Pricing

from $0.045 / financial news

Go to Apify Store
Barchart

Barchart

Run a Barchart snapshot for financial news or options data. Receive structured rows with story details, contract prices and terms, trade context, and run coverage.

Pricing

from $0.045 / financial news

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

📈 Barchart market data for analysis

Investors, market researchers, and developers can use Barchart to pull financial news and options snapshots for symbols or the wider market. The Actor returns structured dataset rows with story details, contract prices, trade data, source links, and run coverage, so you can review the data or use it in code.

🎯 Try these tasks

📤 Output and returned data

Each run writes one kind of row to the dataset, based on the target you choose. The status tells you whether the run completed, found no matching rows, or stopped before all available rows were returned.

🧭 Run output

FieldTypeWhat it does
defaultDatasetstringURL for the result rows from this run.
statusstringRun state: complete, empty, or truncated.

📰 Financial news rows

FieldTypeWhat it does
recordTypestringAlways financialNews for this shape.
symbolstringFirst submitted symbol that found this story.
storyIdstringStable Barchart ID for the story.
headlinestringFinancial news headline.
publishedAtdate-time stringTime when Barchart published the story.
providerstringProvider that supplied the story.
summarystringShort story summary.
sourceUrlstringMain URL for the story.
shareUrlstringBarchart share page for the story.
retrievedAtdate-time stringTime when this row was retrieved.
coverage.availableCountintegerMatching stories available when the snapshot was read.
coverage.returnedCountintegerStories returned in this run.
coverage.truncatedbooleanTrue when the run stopped before all available stories were returned.
coverage.appliedFilters.targetstringTarget used for this snapshot.
coverage.appliedFilters.symbolsstring[]Submitted symbols used for this snapshot.
coverage.appliedFilters.assetClassstringAsset class setting recorded for the run.
coverage.appliedFilters.optionTypestringOption type setting recorded for the run.

Example row:

{
"recordType": "financialNews",
"symbol": "MSFT",
"storyId": "3596750",
"headline": "Microsoft Investigation Initiated: Kahn Swick & Foti, LLC Investigates the Officers and Directors of Microsoft Corporation - MSFT",
"publishedAt": "2026-08-01T17:55:00.000Z",
"provider": "Business Wire",
"sourceUrl": "https://barchartjson.websol.barchart.com/?module=jsonBCNews&storyid=3596750",
"shareUrl": "https://www.barchart.com/share/news/3596750",
"retrievedAt": "2026-08-01T23:07:31.273Z",
"summary": "Former Attorney General of Louisiana, Charles C. Foti, Jr., Esq., a partner at the law firm of Kahn Swick & Foti , LLC (“KSF”), announces that KSF has commenced an investigation into Microsoft Corporation (“Microsoft” or the “Company”)...",
"coverage": {
"availableCount": 5,
"returnedCount": 1,
"truncated": false,
"appliedFilters": {
"target": "financial-news",
"symbols": [
"AAPL",
"MSFT"
],
"assetClass": "all",
"optionType": "both"
}
}
}

🚨 Unusual options activity rows

FieldTypeWhat it does
recordTypestringAlways unusualOptionsActivity for this shape.
symbolstringSecurity symbol for the activity.
assetClassstringUnderlying group: stocks, ETFs, or indices.
contractSymbolstringStable symbol for the option contract.
expirationDatedate stringCalendar date when the contract expires.
strikePricenumberPrice at which the contract can be exercised.
optionTypestringCall or put.
bidnumberCurrent bid price.
asknumberCurrent ask price.
lastPricenumberLatest quoted or traded price.
volumeintegerNumber of option contracts traded.
openInterestintegerNumber of open option contracts.
premiumnumberTotal premium value tied to the activity.
volumeOpenInterestRationumberVolume divided by open interest.
impliedVolatilitynumberImplied volatility value.
weightedVolatilitynumberWeighted volatility value.
deltanumberOption delta reported by Barchart.
moneynessstringIn-the-money, at-the-money, or out-of-the-money state.
underlyingPricenumberLatest price of the underlying security.
sentimentstringOption sentiment when Barchart provides it.
retrievedAtdate-time stringTime when this row was retrieved.
coverage.availableCountintegerMatching contracts available when the snapshot was read.
coverage.returnedCountintegerContracts returned in this run.
coverage.truncatedbooleanTrue when the run stopped before all available contracts were returned.
coverage.appliedFilters.targetstringTarget used for this snapshot.
coverage.appliedFilters.assetClassstringAsset class filter used for this snapshot.
coverage.appliedFilters.optionTypestringCall, put, or both setting used for this snapshot.
coverage.appliedFilters.minVolumeintegerMinimum volume filter used for this snapshot.
coverage.appliedFilters.minPremiumnumberMinimum premium filter used for this snapshot.
coverage.appliedFilters.minVolumeOpenInterestRationumberMinimum volume-to-open-interest ratio filter used for this snapshot.

Example row:

{
"recordType": "unusualOptionsActivity",
"symbol": "RDDT",
"assetClass": "stocks",
"contractSymbol": "RDDT|20260904|100.00P",
"expirationDate": "2026-09-04",
"strikePrice": 100,
"optionType": "put",
"volume": 7439,
"openInterest": 1,
"underlyingPrice": 140.67,
"retrievedAt": "2026-08-01T23:11:03.598Z",
"premium": 557925,
"volumeOpenInterestRatio": 7439,
"bid": 0.3,
"ask": 0.99,
"lastPrice": 0.75,
"impliedVolatility": 0.7188,
"weightedVolatility": 0.69709805944672,
"delta": -0.046504,
"moneyness": "-28.91%",
"coverage": {
"availableCount": 455,
"returnedCount": 1,
"truncated": false,
"appliedFilters": {
"target": "unusual-options-activity",
"assetClass": "stocks",
"optionType": "puts",
"minVolume": 1000,
"minPremium": 100000,
"minVolumeOpenInterestRatio": 2
}
}
}

⛓️ Options chain rows

FieldTypeWhat it does
recordTypestringAlways optionsChain for this shape.
symbolstringSecurity symbol for the contract.
assetClassstringUnderlying group: stocks, ETFs, or indices.
contractSymbolstringStable symbol for the option contract.
expirationDatedate stringCalendar date when the contract expires.
strikePricenumberPrice at which the contract can be exercised.
optionTypestringCall or put.
bidnumberCurrent bid price.
asknumberCurrent ask price.
lastPricenumberLatest quoted or traded price.
volumeintegerNumber of option contracts traded.
openInterestintegerNumber of open option contracts.
premiumnumberTotal premium value tied to the contract.
volumeOpenInterestRationumberVolume divided by open interest.
impliedVolatilitynumberImplied volatility value.
weightedVolatilitynumberWeighted volatility value.
deltanumberOption delta reported by Barchart.
moneynessstringIn-the-money, at-the-money, or out-of-the-money state.
underlyingPricenumberLatest price of the underlying security.
sentimentstringOption sentiment when Barchart provides it.
retrievedAtdate-time stringTime when this row was retrieved.
coverage.availableCountintegerMatching contracts available when the snapshot was read.
coverage.returnedCountintegerContracts returned in this run.
coverage.truncatedbooleanTrue when the run stopped before all available contracts were returned.
coverage.appliedFilters.targetstringTarget used for this snapshot.
coverage.appliedFilters.symbolsstring[]Submitted symbols used for this snapshot.
coverage.appliedFilters.assetClassstringAsset class filter used for this snapshot.
coverage.appliedFilters.optionTypestringCall, put, or both setting used for this snapshot.
coverage.appliedFilters.expirationDatedate stringOptional expiration filter used for this snapshot.
coverage.appliedFilters.minVolumeintegerMinimum volume filter used for this snapshot.
coverage.appliedFilters.minPremiumnumberMinimum premium filter used for this snapshot.
coverage.appliedFilters.minVolumeOpenInterestRationumberMinimum volume-to-open-interest ratio filter used for this snapshot.

Example row:

{
"recordType": "optionsChain",
"symbol": "AAPL",
"assetClass": "stocks",
"contractSymbol": "AAPL|20270617|5.00C",
"expirationDate": "2027-06-17",
"strikePrice": 5,
"optionType": "call",
"volume": 2,
"openInterest": 1,
"underlyingPrice": 308.91,
"retrievedAt": "2026-08-01T23:15:26.863Z",
"premium": 60028,
"volumeOpenInterestRatio": 2,
"bid": 301.5,
"ask": 306.5,
"lastPrice": 300.14,
"impliedVolatility": 2.0177,
"weightedVolatility": 0.27304524312285,
"delta": 0.998921,
"moneyness": "+98.38%",
"coverage": {
"availableCount": 1173,
"returnedCount": 1,
"truncated": false,
"appliedFilters": {
"target": "options-chain",
"symbols": [
"AAPL"
],
"assetClass": "all",
"optionType": "both",
"minVolume": 1,
"minPremium": 50000,
"minVolumeOpenInterestRatio": 0.1
}
}
}

🔄 Ticker option-flow rows

FieldTypeWhat it does
recordTypestringAlways tickerOptionFlow for this shape.
symbolstringSecurity symbol for the trade.
assetClassstringUnderlying group: stocks, ETFs, or indices.
contractSymbolstringStable symbol for the option contract.
expirationDatedate stringCalendar date when the contract expires.
strikePricenumberPrice at which the contract can be exercised.
optionTypestringCall or put.
tradePricenumberPrice of the option-flow trade.
bidnumberBid price at the trade time.
asknumberAsk price at the trade time.
volumeintegerNumber of option contracts traded.
openInterestintegerNumber of open option contracts.
premiumnumberTotal premium value tied to the trade.
tradeTimedate-time stringTime of the option-flow trade.
tradeConditionCodesstring[]Source codes that describe the trade.
underlyingPricenumberLatest price of the underlying security.
underlyingChangenumberPrice change of the underlying security.
underlyingChangePercentnumberPercent change of the underlying security.
deltanumberOption delta when Barchart provides it.
sentimentstringOption sentiment when Barchart provides it.
retrievedAtdate-time stringTime when this row was retrieved.
coverage.availableCountintegerMatching trades available when the snapshot was read.
coverage.returnedCountintegerTrades returned in this run.
coverage.truncatedbooleanTrue when the run stopped before all available trades were returned.
coverage.appliedFilters.targetstringTarget used for this snapshot.
coverage.appliedFilters.symbolsstring[]Submitted symbols used for this snapshot.
coverage.appliedFilters.assetClassstringAsset class filter used for this snapshot.
coverage.appliedFilters.optionTypestringCall, put, or both setting used for this snapshot.

Example row:

{
"recordType": "tickerOptionFlow",
"symbol": "AAPL",
"assetClass": "stocks",
"contractSymbol": "AAPL|20260803|330.00P",
"expirationDate": "2026-08-03",
"strikePrice": 330,
"optionType": "put",
"tradePrice": 26.1,
"bid": 19.6,
"ask": 22.2,
"volume": 2683,
"openInterest": 1306,
"premium": 3387700,
"tradeTime": "2026-07-31T20:28:41.000Z",
"tradeConditionCodes": [
"CANC"
],
"underlyingPrice": 308.91,
"retrievedAt": "2026-08-01T23:12:58.620Z",
"delta": -0.86678928972609,
"sentiment": "Bearish",
"underlyingChange": -24.52,
"underlyingChangePercent": -0.0735,
"coverage": {
"availableCount": 102,
"returnedCount": 1,
"truncated": false,
"appliedFilters": {
"target": "ticker-option-flow",
"symbols": [
"AAPL"
],
"assetClass": "all",
"optionType": "puts"
}
}
}

▶️ Run the Actor

🛠️ Basic steps

  1. Choose one target: Financial news, Unusual options activity, Options chain, or Ticker option flow.
  2. Add Symbols for the symbol-based targets. Unusual options activity scans the market and ignores Symbols.
  3. Add an expiration or activity filter when you need one. Set Actor Work Limit to stop after a chosen number of records.
  4. Start the run and open the default dataset URL from the run output.

🧾 Input

🧩 Input fields

FieldTypeWhat it does
targetstringChooses the one snapshot type for this run.
assetClassstringChooses stocks, ETFs, indices, or all for Unusual options activity. Other targets ignore it.
expirationdate stringChooses one calendar date for Options chain. Empty includes all available expirations. Other targets ignore it.
symbolsstring[]Sends one or more security symbols to Financial news, Options chain, or Ticker option flow. Unusual options activity ignores it.
optionTypestringChooses calls, puts, or both for the three options targets. Financial news ignores it.
minVolumeintegerSets the smallest option volume for Unusual options activity or Options chain. Empty uses no volume threshold.
minPremiumnumberSets the smallest premium for Unusual options activity or Options chain. Empty uses no premium threshold.
minVolumeOpenInterestRationumberSets the smallest volume-to-open-interest ratio for Unusual options activity or Options chain. Empty uses no ratio threshold.
maxItemsintegerActor Work Limit. Stops after this many records for any target. Empty returns all available results until the source is exhausted.

🧪 Example input

Example input:

{
"target": "financial-news",
"assetClass": "all",
"symbols": [
"AAPL"
],
"optionType": "both",
"maxItems": 20
}

💳 Pricing

💰 Primary charges

Each target has one primary pay-per-event charge for a successfully delivered snapshot. The charge is not per returned row.

TargetBuyer-facing eventPrice
Financial newsFinancial news$0.045
Unusual options activityUnusual activity$1.35
Options chainOptions chain$1.35
Ticker option flowOption flow$1.35

🔌 Integrations

🔗 Use the dataset

Open the default dataset URL from the run output, or use Apify's dataset tools and API to read the structured rows. Export the data as JSON or another supported dataset format for your workflow.

For a short walkthrough, watch this video:

❓ FAQ

🔗 Can one run use more than one target?

No. Choose one target per run. Start another run for a different target.

🎚️ What happens when Actor Work Limit is empty?

The Actor returns all available results until the source is exhausted. A set limit can stop the run earlier, and status is truncated when it stops before all available results are returned.

📉 What does truncated mean?

It means the run stopped before all matching results were returned. Check coverage.availableCount, coverage.returnedCount, and the applied filters to see what the snapshot covered.

🧪 Does this replace a stock screener?

No. Barchart focuses here on financial news and options snapshots, not a general stock screener.

🧠 Does it tell me the best call options to buy today?

No. It returns Barchart data for analysis and does not give investment advice or place trades.

🔐 Do I need Barchart login credentials?

No Barchart credentials are requested. The Actor uses publicly reachable Barchart data.

🗓️ Is this a historical backfill or live stream?

No. Each run is a snapshot of data available when Barchart is read.

📝 Changelog

0.0: Initial release

Pull financial news and market-wide or symbol-specific options snapshots from Barchart, including unusual options activity, options chains, stock options flow, and unusual call activity, with structured dataset output for analysis.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

  • Morningstar Scraper — compare public stock, mutual fund, and ETF data with prices, ratings, fees, assets, and holdings.
  • MarketWatch Scraper — collect MarketWatch articles with headlines, summaries, dates, and stock tickers.
  • Stocktwits Scraper — review public Stocktwits ticker messages, sentiment, and trending symbols.
  • Barchart News Scraper — compare a news-focused Barchart collection workflow with this multi-target Actor.
  • Options Flow & Unusual Activity — explore another Barchart options workflow for unusual activity, chains, and intraday flow.

Made with ❤️ by Maxime Dupré