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

---

# Yahoo Finance Lookup API

Typed symbol matches with an offset cursor.

`GET /v1/yahoo-finance/lookup?query=apple&type=equity` returns `data.query`, `data.type`, `data.start`, `data.count`, `data.documents`, `data.page` and `data.windowClamped`. `data.total` is null because the lookup does not report a match count. Types are `equity`, `etf`, `mutualfund`, `index`, `future`, `currency` and `cryptocurrency`; omit type to get every kind. A wholly non-Latin query returns no matches, so search by a Latin name or a ticker.

Page with `limit`, `offset` or the opaque `cursor` from `data.page.nextCursor`. The cursor carries the offset, page size and a fingerprint of the query and type, so it only works with the same lookup. A start past the matches returns an empty page. The order follows live market data, so a symbol can repeat across pages; de-duplicate by `symbol`. `windowClamped` is true when the requested start is past the reachable rows; only rows inside your requested window are returned.

## Request

- **Endpoint:** `GET /v1/yahoo-finance/lookup`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by text and kind
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/yahoo-finance/lookup/get)
- **Platform page:** [/platforms/yahoo-finance](https://www.socialfetch.dev/platforms/yahoo-finance)

## FAQ

### Which instrument types can I filter on?

equity, etf, mutualfund, index, future, currency and cryptocurrency. Omit type to search every kind.

### How do I page through the matches?

Read data.page.nextCursor and pass it as cursor while data.page.hasMore is true. Keep the same query and type, because the cursor is bound to them.

### What does windowClamped mean?

The requested start is past the reachable rows. The response keeps only rows inside your requested window, so a clamped page can be empty.

### 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.
