Market Data APIs

Barchart features a diverse set of market data APIs that can be easily integrated into your website. Whether you're looking for a small, medium, large or enterprise solution, we'll create a custom package for you that exceeds your expectations. Explore our Market Data APIs below.

Tools
Event-Based API - Contact Us For Access

Barchart's Event-Based API provides developers REST API and/or Socket.IO endpoints for implementing market data and news based real-time alerts when their user-defined conditions occur.

Clients:   Java  /   JavaScript  /   PHP  /   Python  /   MATLAB
Price Data
The getQuote API is used to request price data, either real-time, delayed or end-of-day, by symbol on stocks, indexes, mutual funds, ETFs, futures, foreign exchange, or cryptocurrencies.
The getHistory API is used to request historical time series data on stocks, indexes, mutual funds, ETFs, futures, foreign exchange, or cryptocurrencies. Historical data is available as tick, minute bars or end-of-day data.
getData
Custom Data. The getData API is a custom query to request any combination of market data fields we make available. Contact us to design a custom getData API.
The getClosePrice API provides the close price for given instruments for the given date.
The getQuoteEod API is used to request end-of-day price data, by combined exchange and symbol, on stocks, indexes, mutual funds, ETFs, futures, foreign exchange, or cryptocurrencies. Historical data is available as tick, minute bars or end-of-day data.
Receive all real-time or delayed equities market data by exchange through a single onDemand query with the getEquitiesByExchangeAPI from Barchart OnDemand.
Receive all real-time or delayed, or end-of-day futures data by exchange through a single onDemand query with the get FuturesByExchange API from Barchart OnDemand.
The getFuturesOptions API provides intraday options data such as strike price, closing price, expiration date, volume, volatility etc on futures contracts.
The getFuturesOptionsEOD API provides end-of-day options data such as strike price, closing price, expiration date, volume, volatility etc on futures contracts.
The getFuturesSpreads API returns all active futures spread for the requested commodity.
The getSpecialOptionsClassification API provides the classification for weekly and special options by commodity.
The getEquityOptions API from Barchart OnDemand provides intraday or end-of-day options data such as strike price, closing price, expiration date, volume and volatility, etc.
The getEquityOptionsHistory API from Barchart OnDemand allows users to get historical prices for equity options.
The getOptionsScreener API allows a user to screen for specific equity and ETF option strikes using a variety of filters and parameters that highlight where unusual options activity may be occuring. Users can build powerful market scanners to implement professional trading strategies.
AMERIBOR® is an interbank interest rate reflecting the borrowing rates based on actual transactions of the members of the American Financial Exchange (AFX). AMERIBOR® is a transaction-based short-term interest rate based on loans executed between U.S. depositories on the American Financial Exchange Electronic Trading System. The rate is calculated using the 30 trading day rolling average of the weighted average daily volume in the AFX overnight unsecured market. The rate is denoted as a 360-day annualized percentage rate up to the fifth decimal.
Cryptocurrency Data
The getCrypto API provides price data by symbol for spot market cryptocurrencies, including Bitcoin, Ethereum, Ripple, Litecoin and more. Bitcoin futures are available through getQuote. In addition to last price, other fields such as open, high, low, close, price change, percent change are available.
The getCryptoHistory API provides historical price data for spot cryptocurrencies, including Bitcoin, Ethereum, Ripple, Litecoin and more. Bitcoin futures historical data is available through the getHistory API.
Profiles and Financial Data
The getProfile API is used to request information about a publicly traded company, such as sector, industry, company description, CEO, recent earnings, P/E ratio, and address, based on symbol.
The getFinancialHighlights API provides key financial highlights, ratios and statistics for equities based on symbol. Fields include market capitalization, revenue, net income, revenue growth and earnings per share.
The getFinancialRatios API provides key financial ratios for equities based on symbol. The fields include earnings per share, return on equity and price to earnings.
The getIncomeStatements API from Barchart OnDemand provides access to public company financial income statements based on symbol.
The getBalanceSheets API from Barchart OnDemand provides access to public company financial balance sheet data based on symbol.
Barchart OnDemand's getCompetitors API provides a list of related stock symbols (competitors) for an underlying stock input.
Barchart OnDemand's getRatings API provides analysts ratings on stocks (strong buy, moderate buy, hold, moderate sell or strong sell) based on symbol.
The getIndexMembers API from Barchart OnDemand returns the constituents comprising an index.
Barchart OnDemand's getCashFlow API provides information about cash flow, income and cash equivalents of publicly traded companies.
Splits, Dividends, and Earnings
The getCorporateActions API from Barchart OnDemand provides corporate actions data on equities including splits, dividends and earnings, based on a symbol.
The getEarningsEstimates API from Barchart OnDemand provides per share earnings estimates on public companies for quarterly and annual periods based on symbol.
The getDividendData API from Barchart OnDemand provides the most recent dividend data for requested instruments.
The getDividendStocks API returns dividend info for all US instruments.
The getCorporateActions API from Barchart OnDemand provides splits or dividends data for US equities, mutual funds and Canadian equities by exchange.
The getEarningsCalendar API provides the total number of upcoming earnings by date. And will also return the earnings data for the requested date. Please note that the output of this API will change based on the type of data requested. When requesting 'totals' (default type), it will return the date and total earnings for that date. And when requesting 'earnings' it will return earnings data for all symbols for the requested start date.
The getDividendsCalendar API provides the total number of upcoming dividends by date. And will also return the dividends data for the requested date. Please note that the output of this API will change based on the type of data requested. When requesting 'totals' (default type), it will return the date and total dividends for that date. And when requesting 'dividends' it will return dividend data for all symbols for the requested start date.
The getEarningsAndDividendsCalendar API provides the total number of upcoming earnings and dividends by date. And will also return the earnings and dividends for the requested date. Please note that the output of this API will change based on the type of data requested. When requesting 'totals' (default type), it will return the date and total earnings and dividends for that date, when requesting 'earnings' it will return earnings data for all symbols for the requested start date, when requesting 'dividends' it will return dividend data for all symbols for the requested start date. And if the request type is 'earnings-dividends' then the output will be and earnings attribute that will have an array of objects with earnings data and a dividends attribute with an array of objects with the dividends data.
Leaderboards and Lists
Barchart OnDemand's getLeaders API provides leaderboard lists for equities, futures, forex, mutual funds and ETFs, including most active, gainers, losers, what's hot and what's not hot.
The getHighsLows API from Barchart OnDemand provides lists for new 52-week highs or 52-week lows based on exchange and asset type.
The getSectors API from Barchart OnDemand provides returns using weighted alpha on sectors covering multiple periods, including 1-day, 1-month, 3-month, 6-month, 9-month, 12-month and year-to-date.
Charts and Analytics
The getChart API from Barchart OnDemand is used to request a custom chart image with variables such as chart type, size, period and technical indicators, based on a symbol.
Barchart OnDemand's getTechnicals API provides technical data and statistics for equities, indices, futures, currencies, cryptocurrencies and mutual funds based on symbol. Fields include moving averages, percent changes over different time periods and stochastics.
The getSignal API provides the Barchart Technical Opinion / Signal (buy, sell or hold) based on a variety of short, medium and long-term technical indicators based on a symbol.
The getMomentum API provides a daily summary on the number of advancing, declining and unchanged stocks, as well as the percentage of stocks above moving averages of different lengths.
ETFs
Barchart OnDemand's getETFDetails API provides ETF profile information including descriptions, fund family, underlying index, inception date, alpha, beta, shares outstanding, management fee, assets under management, top 10 holdings and more.
The getETFConstituents API from Barchart OnDemand provides the complete list of constituents for a given ETF.
News and Filings
Barchart OnDemand's getNews API returns news headlines, articles and related photos based upon news sources, category, sub-category and/or keyword.
The getNewsSources API from Barchart OnDemand provides access to public news sources and your authorization status per source.
Barchart OnDemand's getNewsCategories API provides access to news source category and sub-category data.
Barchart OnDemand's getSECFilings API provides access to quarterly, annual and other required regulatory/SEC filings for U.S. publicly traded companies based on symbol.
Metadata
The getInstrumentDefinition API from Barchart OnDemand is available to request metadata on financial instruments by symbol, exchange, or exchange MIC. Metadata includes instrument names, exchange codes, tick increments, base codes, expiration dates and more.
Barchart OnDemand's getFuturesSpecifications API provides contract information such as trading hours, contract size and tick size for futures contracts.
The getFuturesExpiration API from Barchart OnDemand provides first notice and last trade dates for futures contracts.
The getFuturesOptionsExpirations API provides last trade dates for options on futures contracts.
The getSpecialOptionsClassifications API from Barchart OnDemand provides the classification for weekly and special options by commodity.
The getForexForwardCurves API from Barchart OnDemand provides the bid, ask, and mid price data for all available forward curves (forward rates) for a given forex symbol.
The getSymbolChange API from Barchart OnDemand provides the list of symbols that have gone through a change.
The getRelatedInstruments API from Barchart OnDemand provides the list of all symbols for a given company across different countries and exchanges.
Other Data
Barchart OnDemand's getWeather API provides current conditions and forecasts based on zip code. As well as weather maps based on type or region.
The getGrainBids API provides cashbid data for 30 closest locations in relation to the requested zip code. Learn more about Barchart's proprietary commodity data and grain cmdtyIndexes.
Barchart OnDemand's getUSDAGrainPrices API provides daily cash grain bids and prices for grain buying locations throughout the United States covering corn, wheat, oats and soybeans sourcing from USDA reports. This API refreshes on an hourly basis, so bids and prices from USDA reports would be available within an hour after the report is released.
The getCmdtyStatsId API is used identify instrument identifiers that can be passed to getCmdtyStats in order to request data on the applicable series. Users can search for data series based on search parameters covering content, source, area, frequency, and more.
The getCmdtyStats API is used to request information on various fundamentals, commodity statistics, and economic data. Users can request information by data series with historical information available through to inception for most series. cmdtyStats™ is the premier source of aggregated commodity statistics – all made available in one easy to use API.
The getGrainInstruments API is used to request symbol and metadata information regarding physical grain instruments across Barchart's cash bids and grain indexes. Users can request information based on crop type / root symbol, geo-location, or areas that are codified by FIPS standards. Returned instruments and their corresponding symbols can be passed to getQuote or getHistory to retrieve the associated price data - as requested by the end user. Find our more about our commodity data offerings here.
The getBLSIndexes API provides historical price data for our cmdty BLS Commodity Price Index Family. The cmdty BLS Commodity Price Indexes measure price movements of 22 basic commodities whose markets are among the first to be influenced by changes in economic conditions. Sub-indices for six major asset classes are calculated.
The getCmdtyCalendar API provides user the latest updates of US economic activity and commodity trading events, including previous, revised, and actual values, updated 3 times a day. Users can request calendar events for desired period, and filter the output via various methods - category, importance, event country, and event symbol.
The getFuelPrices API provides refined fuel price data and reference data. Refined fuel data can be requested for fuel selling locations, for geographic coordinates and radius, for zip code and radius, and for a specified county. Refined fuel data can be filtered by product name(s), and by number of locations will be returned. Reference data contains fuel selling locations and product names, providing valid values in use for requesting refined fuel data. Reference data can be requested for geographic coordinates and radius. If no geographic coordinates are given, reference data will return all valid values by default.
The getCropFactors API provides weather data/factors specific to Ag Industry. With this API, you can retrieve satellite imagery derived weather factors, like Normalized Difference Vegetation Index (NDVI), Normalized Difference Water Index (NDWI), and Land Surface Temperature(LSTD & LSTN), and station collected weather data, like air temperature(TMAX & TMIN), and accumulated precipitation(PRCP).
Data can be requested for a combination of counties and observation windows.
The getUniqueIdentifier provides the Financial Instrument Global Identifier (FIGI) information for all available instruments. For more information on FIGI, please click here.
The getYieldForecast API provides Barchart proprietary grain yield forecast data. Yield Index data can be filtered by commodity, by indexGroup, by state, by district, and by county. The unit is in Bushel per Acre.