canonical: https://jentic.com/apis/barchart.com/barchart

# Barchart OnDemand Market Data API

Barchart OnDemand exposes real-time and historical market data across equities, ETFs, options, and cryptocurrencies, including quotes, end-of-day prices, time-series history, options chains, and analyst ratings. Fundamental endpoints cover company profiles, financial highlights, ratios, income statements, balance sheets, and cash flow data, while market endpoints surface leaders, news, dividends, and earnings estimates. Barchart serves its own OpenAPI document from its API host, and that document is canonical. The specification behind this page is a curated Jentic variant of 23 of its operations, shaped for agent use and kept validated.

## For AI agents

Pull real-time quotes, historical prices, options chains, fundamentals, and analyst ratings from the Barchart OnDemand market data API. Suitable for agents powering trading dashboards, research tools, and portfolio monitoring.

## Scope

Does not handle order routing, brokerage account management, or trade execution - use for retrieving Barchart market data, fundamentals, and analytics only.

## Capabilities

- Retrieve real-time and delayed quotes for equities, ETFs, and crypto symbols
- Pull historical time-series prices for any supported instrument
- Fetch full options chains with expirations, strikes, and Greeks
- Look up company profiles, financial highlights, and analyst ratings
- Access fundamentals including income statements, balance sheets, and cash flow
- Read dividend data, earnings estimates, market leaders, and instrument-level news

## Use cases

### Trading Dashboards and Watchlists

Power trading dashboards and watchlists with real-time quotes, end-of-day prices, and dividend data from Barchart OnDemand. The /getQuote.json and /getQuoteEod.json endpoints handle live and settled prices, while /getHistory.json drives chart back-testing. Suitable for retail brokerage UIs, internal trading desks, and research portals that need a single source for cross-asset price data.

Example prompt: Call GET /getQuote.json with symbols=AAPL,MSFT,GOOGL and return last price, change, and volume for each ticker.

### Options Strategy and Risk Tooling

Build options strategy tools and risk dashboards on top of Barchart's options data. The /getEquityOptions.json endpoint exposes full chains with expirations and strikes, supporting use cases from covered-call screening to portfolio Greeks aggregation. Each contract row carries delta, gamma, theta, vega, and a volatility field, so combine it with the quotes and history endpoints for underlying price context.

Example prompt: Call GET /getEquityOptions.json with underlying_symbols=TSLA and optionType=Monthly, then return all calls within 5% of the current spot price.

### Fundamentals-Driven Stock Screening

Run fundamentals-driven screens for value or growth strategies using Barchart's financial highlights, ratios, and statement endpoints. /getFinancialHighlights.json, /getFinancialRatios.json, /getIncomeStatements.json, /getBalanceSheets.json, and /getCashFlow.json together provide enough breadth to compute custom screens without a separate fundamentals data vendor. Pair with /getRatings.json for consensus analyst views.

Example prompt: For ticker NVDA call /getFinancialRatios.json and /getIncomeStatements.json, then compute trailing P/E and YoY revenue growth and return both numbers.

### AI Agent Market Research Assistant via Jentic

Run an AI assistant that answers ad-hoc market and company research questions by calling Barchart through Jentic. The agent searches Jentic for an intent like 'get a stock quote' or 'pull company financials', loads the right Barchart operation, and executes the call with the apikey held in your Jentic One instance. The agent returns clean numbers and short summaries to the user.

Example prompt: Search Jentic for 'get the latest quote for a ticker', execute /getQuote.json against symbol AAPL, and respond with last price, day change, and volume.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/getQuote.json` | Get a real-time or delayed quote |
| GET | `/getHistory.json` | Get historical time-series prices |
| GET | `/getEquityOptions.json` | Get an equity options chain |
| GET | `/getFinancialRatios.json` | Get financial ratios |
| GET | `/getIncomeStatements.json` | Get income statement data |
| GET | `/getRatings.json` | Get analyst ratings |
| GET | `/getCrypto.json` | Get cryptocurrency spot prices |

## Key resources

- **Quotes** — Real-time, delayed, and end-of-day quotes for stocks, ETFs, and crypto
- **History** — Historical time-series prices across instruments
- **Options** — Equity options chains with expirations and strikes
- **Fundamentals** — Financial highlights, ratios, income statements, balance sheets, and cash flow
- **Profiles** — Company and instrument profile metadata
- **Analytics** — Analyst ratings and aggregated market analytics
- **Crypto** — Cryptocurrency spot prices and historical data
- **Market** — Market leaders, index members, dividends, and ETF data
- **News** — Instrument and market news

## Why Jentic

- **Setup:** Wiring Barchart OnDemand by hand means appending your apikey as a query parameter, learning each getQuote, getHistory, and getFinancialRatios endpoint, and parsing the JSON responses yourself. Through Jentic you install once, import the Barchart OnDemand Market Data API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Barchart carries its symbols and time ranges as query parameters rather than as a resource in the URL path, so scope the agent to the operations it needs, such as getting a quote or pulling history. You choose that operation set, so options, ratings, or crypto lookups are not included unless you add them.
- **Credential handling:** Your Barchart OnDemand API key is stored once, encrypted, by your own Jentic One instance and injected as the apikey query parameter at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get a stock quote' or 'pull an options chain', and Jentic returns the matching Barchart operation with its input schema, including which symbol and time-range parameters are required, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Polygon.io** — Real-time and historical market data API with strong WebSocket coverage.
- **Alpha Vantage** — Free-tier market and economic data API.
- **Finnhub** — Stock fundamentals, news, and alternative datasets API.

## FAQ

### Does Barchart publish an official OpenAPI specification?

Yes. Barchart serves one from its own API host at https://ondemand.websol.barchart.com/openapi.yaml, titled OnDemand APIs, and that document is canonical. It is not linked from the human docs pages, which is why it is easy to miss. The specification behind this page is a curated Jentic variant of the same API: 23 operations covering quotes, history, options, fundamentals, ratings, and crypto, shaped for agent use and kept validated. Barchart's own document is wider at 71 operations, adding futures, grain, weather, and calendar data, so read it when you need the full surface.

### What authentication does the Barchart OnDemand API use?

Barchart OnDemand uses an API key passed as the apikey query parameter on every request. When called through Jentic, the key is stored encrypted in your Jentic One instance and injected at execution time so it never enters the agent's context.

### Can I get options chains with the Barchart API?

Yes. Call GET /getEquityOptions.json with the underlying symbol and optional expiration filters. The response includes calls and puts with strike, expiration, bid, ask, last, volume, and open interest.

### What are the rate limits for the Barchart OnDemand API?

Barchart does not document a request rate limit, and neither its own OpenAPI document nor the specification behind this page declares one, so treat throttling as undefined rather than absent. What Barchart does say is commercial: it prices market data by usage and packages it from small to enterprise. For heavy polling, prefer the settled endpoints /getQuoteEod.json and /getClosePrice.json and cache historical pulls from /getHistory.json locally.

### Is there a Barchart MCP server?

You don't need an MCP server to give your agent Barchart OnDemand. Jentic connects it directly from the API Directory: import Barchart, store your apikey once, and your agent can pull quotes, history, options chains, fundamentals, and ratings, with no extra tool definitions loaded into its context.

### How do I get a stock quote through Jentic?

Install Jentic One on its own machine, run `jentic register` on the machine your agent runs on, then import the Barchart OnDemand Market Data API from the API Directory and store your apikey once. Your agent searches by intent for 'get the latest stock quote', loads the schema for GET /getQuote.json, and executes it with the symbols parameter. Jentic injects the apikey query parameter and returns the price, change, and volume fields the agent needs.

### Does Barchart OnDemand expose cryptocurrency data?

Yes. /getCrypto.json returns spot prices for cryptocurrencies and /getCryptoHistory.json returns historical time-series. Coverage focuses on major coins and the data complements equity quotes when an agent needs cross-asset views.

### Can I limit what my agent is allowed to do with the Barchart OnDemand Market Data API?

Yes. Because you run Jentic One yourself, you decide which Barchart operations your agent may call, and your own rules govern access. Barchart passes symbols and time ranges as query parameters rather than in the URL path, so you scope the agent to just the operations it needs, such as GET /getQuote.json for quotes or GET /getHistory.json for historical prices. Options, ratings, and crypto endpoints like /getEquityOptions.json, /getRatings.json, and /getCrypto.json stay out of reach unless you add them, and the encrypted API key is injected at execution time so it never enters the agent's context.
