> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/yahoo-finance/instruments-symbol-chart>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/yahoo-finance/instruments-symbol-chart.mdx>

---

# Yahoo Finance Chart API

OHLCV bars, corporate events and chart metadata for a ticker and window.

`GET /v1/yahoo-finance/instruments/{symbol}/chart` returns `data.chart` with `meta`, `timestamp`, `indicators` and `events`. `data.bars` is the number of bars returned, `data.interval` and `data.range` echo the window, and `data.truncated` is true when the bar cap was reached. The chart meta carries `currency`, `exchangeName`, `exchangeTimezoneName`, `instrumentType`, `regularMarketPrice`, `chartPreviousClose` and `currentTradingPeriod`.

Choose a named `range` or send explicit `start` and `end`; when either one is present, `range` is reported as null. A lone `start` runs to the current time, and a lone `end` runs from the beginning of the available history. `events` accepts `div`, `split` and `capitalGain` and defaults to `div,split`. `includeExtendedHours=true` adds pre-market and post-market bars where the exchange has them. Bars stop at 25,000, so a full history can return `truncated: true`.

## Request

- **Endpoint:** `GET /v1/yahoo-finance/instruments/{symbol}/chart`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by ticker and window
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/chart/get)
- **Platform page:** [/platforms/yahoo-finance](https://www.socialfetch.dev/platforms/yahoo-finance)

## FAQ

### Which ranges and intervals can I use?

Ranges are 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd and max. Intervals are 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 4h, 1d, 5d, 1wk, 1mo and 3mo. The defaults are range 1y and interval 1d. 1m bars cover the last 30 days and at most 8 days per request.

### Can I use exact dates instead of a range?

Yes. Send start and end as ISO 8601 dates or times. The response then reports data.range as null and uses the explicit periods, so they take precedence over range. Send start alone to run to now, or end alone to stop at that time. A start in the future and an end before the start are refused with a 400.

### Where are dividends and splits?

Under data.chart.events. Ask for them with events=div,split,capitalGain; div and split are included by default.

### Why is data.truncated true?

The response hit the 25,000-bar cap. data.bars tells you how many came back. Narrow the range or split the window with start and end to read the rest.

### How many credits does this route cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
