> **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>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/yahoo-finance.mdx>

---

# Yahoo Finance API. Market data as JSON.

Quotes, charts, company statements, screeners, calendars and earnings-call transcripts for any ticker. Send a symbol, get JSON.

- Any ticker
- 30 routes
- 1 credit per request

Social Fetch exposes thirty routes under `/v1/yahoo-finance`. Instrument routes start at `GET /v1/yahoo-finance/instruments/{symbol}` and branch into chart, profile, statistics, financials, earnings, analyst, holders, insiders, options, fund, filings, insights, related, news and transcript data. The other routes cover quotes by list, search and lookup, predefined and custom screeners, screener fields, calendars, sectors, industries, trending symbols and the market summary.

A symbol is the ticker Yahoo Finance uses: `AAPL`, `^GSPC`, `EURUSD=X`, `BTC-USD`, `7203.T`. Every response uses the `{ data, meta }` envelope. Lookups carry `data.lookupStatus`, so an unknown ticker comes back as a typed `not_found` instead of an error. Lists with an offset (`lookup`, `screener.get`, `screener.search`, `calendar.list`) return `data.page` with a `nextCursor`; a page past the end is an empty page with no next cursor.

Market data is what Yahoo Finance publishes publicly, and quote records carry `exchangeDataDelayedBy` so you can see the exchange delay for that instrument. Chart metadata carries `chartPreviousClose` and the trading period instead. You can rely on the shape: raw number fields, epoch times as ISO 8601 UTC, sections that are `null` when an instrument kind has none, and `data.sources` recording which parts are available.

## What you can get

- One quote or a batch of up to 200 symbols, with per-symbol `lookupStatus`.
- OHLCV chart bars by interval and range, plus dividends, splits and capital gains, with `truncated` when the bar cap is reached.
- Company profile, key statistics, income, balance-sheet and cash-flow periods and known fundamental metrics.
- Analyst recommendations and price targets, institutional, fund and insider holders, SEC filings and technical insights.
- Option expiries, strikes, calls and puts, fund performance and top holdings.
- Predefined and custom screeners, four calendar types, sectors, industries, trending symbols and the market clock.

## Yahoo Finance endpoints

| Endpoint | Request | Credits | Docs |
| --- | --- | --- | --- |
| Instrument | GET /v1/yahoo-finance/instruments/{symbol} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/get) |
| Quotes | GET /v1/yahoo-finance/quotes | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/quotes/get) |
| Chart | GET /v1/yahoo-finance/instruments/{symbol}/chart | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/chart/get) |
| Profile | GET /v1/yahoo-finance/instruments/{symbol}/profile | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/profile/get) |
| Statistics | GET /v1/yahoo-finance/instruments/{symbol}/statistics | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/statistics/get) |
| Financials | GET /v1/yahoo-finance/instruments/{symbol}/financials | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/financials/get) |
| Fundamentals | GET /v1/yahoo-finance/instruments/{symbol}/fundamentals | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/fundamentals/get) |
| Earnings | GET /v1/yahoo-finance/instruments/{symbol}/earnings | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/earnings/get) |
| Analyst view | GET /v1/yahoo-finance/instruments/{symbol}/analyst | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/analyst/get) |
| Holders | GET /v1/yahoo-finance/instruments/{symbol}/holders | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/holders/get) |
| Insiders | GET /v1/yahoo-finance/instruments/{symbol}/insiders | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/insiders/get) |
| Filings | GET /v1/yahoo-finance/instruments/{symbol}/filings | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/filings/get) |
| Insights | GET /v1/yahoo-finance/instruments/{symbol}/insights | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/insights/get) |
| Related | GET /v1/yahoo-finance/instruments/{symbol}/related | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/related/get) |
| Options | GET /v1/yahoo-finance/instruments/{symbol}/options | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/options/get) |
| Fund | GET /v1/yahoo-finance/instruments/{symbol}/fund | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/fund/get) |
| Calendar | GET /v1/yahoo-finance/calendar | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/calendar/get) |
| Sector | GET /v1/yahoo-finance/sectors/{sector} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/sectors/sector/get) |
| Industry | GET /v1/yahoo-finance/industries/{industry} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/industries/industry/get) |
| Market | GET /v1/yahoo-finance/markets | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/markets/get) |
| News | GET /v1/yahoo-finance/instruments/{symbol}/news | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/news/get) |
| Transcripts | GET /v1/yahoo-finance/instruments/{symbol}/transcripts | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/transcripts/get) |
| Transcript | GET /v1/yahoo-finance/instruments/{symbol}/transcripts/{eventId} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/instruments/symbol/transcripts/eventid/get) |
| Search | GET /v1/yahoo-finance/search | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/search/get) |
| Lookup | GET /v1/yahoo-finance/lookup | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/lookup/get) |
| Trending | GET /v1/yahoo-finance/trending | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/trending/get) |
| Screeners | GET /v1/yahoo-finance/screeners | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/screeners/get) |
| Screener | GET /v1/yahoo-finance/screeners/{screenerId} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/screeners/screenerid/get) |
| Custom screener | POST /v1/yahoo-finance/screener | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/screener/post) |
| Screener fields | GET /v1/yahoo-finance/screener/fields | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/screener/fields/get) |

## How to start

1. **Create an API key.** Sign up at Social Fetch and copy a key (`sfk_…`). New accounts get 100 free credits, enough to try every Yahoo Finance route on a few tickers.
2. **Pick the ticker and route.** Use the symbol as Yahoo Finance writes it, for example `GET /v1/yahoo-finance/instruments/AAPL/chart?range=1y&interval=1d` or `GET /v1/yahoo-finance/quotes?symbols=AAPL,MSFT,NVDA`. Send `x-api-key` on every request.
3. **Branch on lookupStatus and page.** Check `data.lookupStatus` before you store a row, keep requesting with `data.page.nextCursor` while `data.page.hasMore` is true, and bill from `meta.creditsCharged`.

## Pricing

Every Yahoo Finance route charges its credit amount per completed request, shown on the endpoint page. A request with bad input returns a 400 and is not billed. Credits never expire on pay-as-you-go packs, and `meta.creditsCharged` on every response is the billing source of truth.

## Compared with the official API

On Yahoo Finance the available data changes with the instrument kind, and quotes, charts and statements each use a different shape. Social Fetch normalises those fields under their own names, converts epoch times to ISO 8601 UTC, reports an unknown symbol as `not_found` data, and pages the offset lists with a cursor bound to the filters that issued it.

## FAQ

### What can I get from the Yahoo Finance API?

Thirty routes cover quotes, charts, company profiles and statements, earnings, analyst data, holders, insiders, options, funds, SEC filings, technical insights, related tickers, news, earnings-call transcripts, search, lookup, predefined and custom screeners, calendars, sectors, industries, trending symbols and the market summary.

### Which symbols are accepted?

The ticker as Yahoo Finance writes it: AAPL for Apple, ^GSPC for the S&P 500 index, EURUSD=X for a currency pair, BTC-USD for bitcoin and 7203.T for Toyota on Tokyo. Symbols are case-insensitive and may contain letters, digits, ^, =, . and -.

### What does lookupStatus mean?

found means the entity was returned. not_found means the symbol or entity does not exist. HTTP 200 only means the request finished, so branch on data.lookupStatus before writing a row. A found result can still carry null sections when that instrument kind has none.

### Is the market data real time?

The routes return the market data Yahoo Finance publishes publicly. Each quote carries exchangeDataDelayedBy, the exchange delay in minutes for that instrument, so read it before you treat a price as live. Indices, futures and crypto can report different delays from listed equities.

### How do I page through lookup, screeners and calendar results?

Read data.page. While data.page.hasMore is true, call again with cursor set to data.page.nextCursor. The cursor carries the offset, page size and a fingerprint of the filters, so it only works with the same filters. A page with no rows has no next cursor.

### How many chart bars can I request?

Bars are capped at 25,000 per response. When the cap is reached, data.truncated is true and data.bars is the number returned; narrow range or use start and end to read the rest. range=max is translated to explicit periods instead of being sent as max.

### Is quoteType always set?

`quoteType` is the instrument kind the screener runs over (equity, crypto, ETF, mutual fund, option or private company). `analyst_strong_buy_stocks` does not name one, so it is null.

### What is in an earnings-call transcript response?

data.transcript carries the title, fiscal year and period, date, speakers, paragraphs and the full text. The list route first returns the newest transcripts with their event id, which you pass to the transcript route. An ETF or a company with no transcript key returns an empty list or reason no_transcript_key.

### How much does a Yahoo Finance request cost?

Each route charges its credit amount per completed request, shown on the endpoint page. A request with bad input returns a 400 and is not billed. Check meta.creditsCharged on every response; new accounts start with 100 free credits.

## Related

- [Yahoo Finance Instrument API](https://www.socialfetch.dev/platforms/yahoo-finance/instruments-symbol): One ticker's quote record and quote type (`GET /v1/yahoo-finance/instruments/{symbol}`).
- [Yahoo Finance Chart API](https://www.socialfetch.dev/platforms/yahoo-finance/instruments-symbol-chart): OHLCV bars, dividends and splits over a range (`GET /v1/yahoo-finance/instruments/{symbol}/chart`).
- [Yahoo Finance Financials API](https://www.socialfetch.dev/platforms/yahoo-finance/instruments-symbol-financials): Income, balance-sheet and cash-flow periods as metric points (`GET /v1/yahoo-finance/instruments/{symbol}/financials`).
- [Yahoo Finance Screener API](https://www.socialfetch.dev/platforms/yahoo-finance/screener): Run a custom filter over a screened universe (`POST /v1/yahoo-finance/screener`).
- [Ask in plain English](https://www.socialfetch.dev/ask): Route a natural-language market-data question to the matching Yahoo Finance operation.
- [Hosted MCP](https://www.socialfetch.dev/mcp): Call Yahoo Finance tools from Cursor or Claude with the same credit metering as REST.
