Yahoo Finance Data API - Prices, Statements & Market Data

TigZig API & MCP Hub
REST / HTTP API•MCP Server (AI agents)•Data API•Open - no auth

Free Yahoo Finance data for any ticker: prices, financial statements, analyst estimates and company info. No key needed, over REST or MCP.

AnyYahoo ticker
3financial statements
Annual + Qperiods
MCP + RESTtwo interfaces
No authfully open

Quick start

AI agents: this API is open (no auth). Start with the OpenAPI spec for this API: https://yfin-h.tigzig.com/openapi.json. The RFC 9727 catalog at api.tigzig.com/.well-known/api-catalog is a site-level directory of all TigZig APIs - go there only if you want a different API, not for more detail on this one.
MCP server for AI agents
https://yfin-h.tigzig.com/mcp
Streamable HTTP. Add as a custom connector in Claude.ai, ChatGPT, Cursor, n8n.
REST API base URL
https://yfin-h.tigzig.com/v1

Documentation

For people
yfin-h.tigzig.com/redoc

The full reference. Every endpoint, every field, and every enforced limit with the message you get when you cross it. Rendered from the running service.

For AI agents
yfin-h.tigzig.com/openapi.json

The machine contract for this API. The site-wide directory of every TigZig API is the RFC 9727 catalog at api.tigzig.com/.well-known/api-catalog.

What you can call

24 endpoints. Request bodies, every field and every enforced limit are in the full reference.

GET/v1/excel/get-balance-sheet/Get Balance Sheet Excel Endpoint
GET/v1/excel/get-cash-flow/Get Cash Flow Excel Endpoint
GET/v1/excel/get-income-statement/Get Income Statement Excel Endpoint
GET/v1/excel/get-quarterly-balance-sheet/Get Quarterly Balance Sheet Excel Endpoint
GET/v1/excel/get-quarterly-cash-flow/Get Quarterly Cash Flow Excel Endpoint
GET/v1/excel/get-quarterly-income-statement/Get Quarterly Income Statement Excel Endpoint
GET/v1/get-actions/Get Actions Endpoint
GET/v1/get-adj-close/Get Adj Close Endpoint
GET/v1/get-all-prices/Get All Prices Endpoint
GET/v1/get-analyst-price-targets/Get Analyst Price Targets Endpoint
GET/v1/get-balance-sheet/Get Balance Sheet Endpoint
GET/v1/get-calendar/Get Calendar Endpoint
GET/v1/get-cash-flow/Get Cash Flow Endpoint
GET/v1/get-detailed-info/Get Detailed Info Endpoint
GET/v1/get-dividends/Get Dividends Endpoint
GET/v1/get-estimates/Get Estimates Endpoint
GET/v1/get-income-statement/Get Income Statement Endpoint
GET/v1/get-major-holders/Get Major Holders Endpoint
GET/v1/get-market-data/Get Market Data
GET/v1/get-quarterly-cash-flow/Get Quarterly Cash Flow Endpoint
GET/v1/get-quarterly-income-statement/Get Quarterly Income Statement Endpoint
GET/v1/get-recommendations/Get Recommendations Endpoint
GET/v1/get-splits/Get Splits Endpoint
GET/v1/search/Search Symbols Endpoint

Live tool

Form
Quants SuiteOpen

Pull prices and financials from a form, nothing to install.

Agent chat
QDeskOpen

Ask in chat and the agent pulls the data for you.

Overview

A financial-data extraction service over yfinance. It exposes Yahoo Finance financial statements, market data and OHLCV price histories for any ticker, over the same backend two ways:

  • REST + Swagger at yfin-h.tigzig.com/v1/* for any HTTP client - /v1/get-all-prices/, /v1/get-balance-sheet/, /v1/get-income-statement/, /v1/get-cash-flow/, /v1/get-detailed-info/, /v1/get-market-data/, quarterly variants, and Excel-friendly /v1/excel/* endpoints.
  • MCP for AI agent clients - the same data as tool calls (see below).

Most endpoints take a tickers query param (comma-separated for multiple symbols, with a per-request cap; go over it and the response names the cap); price endpoints add start_date / end_date. See the full parameter list in the API Endpoints section below or try them in Swagger.

MCP Server (for AI agents)

Connect an AI agent (Claude.ai, Cursor, n8n, custom clients) and let it pull statements and prices directly. No auth. One endpoint:

  • https://yfin-h.tigzig.com/mcp - Streamable HTTP.

Add to Claude.ai: Settings -> Connectors -> Add custom connector -> paste the Streamable HTTP URL -> approve. The same URL works for Cursor, n8n, and any MCP client.

What it returns

  • Financial statements - two families. The /v1/excel/ family (income, balance sheet, cash flow; annual + quarterly) returns structured JSON ({dates, data}) and is the MCP-exposed one. A separate plain family (/v1/get-income-statement/, /v1/get-cash-flow/, /v1/get-balance-sheet/ and the two quarterly variants) returns pipe-delimited CSV text.
  • Prices - /v1/get-all-prices/ returns OHLCV where Close is already split- and dividend-adjusted (yfinance auto_adjust; there is no separate "Adj Close" column, so do not re-adjust). Dividends and Stock Splits columns are populated only on the actual event dates, 0.0 otherwise.
  • Company & markets - market data, detailed company info, analyst price targets, analyst recommendations, earnings + revenue estimates (one endpoint), earnings calendar, major holders.

Guides

This page is the reference - what the endpoints are and how to call them. The guides below are the long-form versions, with worked examples and the edges you only meet in real use:

Each is a plain page with a Markdown twin, so you can hand a URL straight to an agent. Come back to this page when you want parameter-level detail.

Rate limits

These are per-IP limits:

  • Per IP: 100 requests / minute.
  • Several tickers per request; go over the cap and the response names it.

You get a 429 with Retry-After and a body explaining how to batch.

Avoiding 429s: Batch tickers instead of looping. One request carrying many tickers costs one unit of budget; the same tickers sent one at a time cost one unit each. Nearly every 429 seen on this API comes from one-ticker-per-request spreadsheets.

Every successful response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (Unix epoch seconds), read straight from the running limiter, and Retry-After is set on 429. The current numbers are also published as machine-readable JSON at https://yfin-h.tigzig.com/, derived from live config. Read those at runtime rather than hard-coding the figures above - limits change, and these channels change with them.

Try it

No key, no signup.

Get Income Statement Endpoint
Paste into a browser address bar.
https://yfin-h.tigzig.com/v1/get-income-statement/?tickers=AAPL%2CMSFT
Response first lines of 7 KB
"Ticker|index|2025-09-30 00:00:00|2024-09-30 00:00:00|2023-09-30 00:00:00|2022-09-30 00:00:00|2021-09-30 00:00:00\nAAPL|Tax Effect Of Unusual Items|0.0|0.0|0.0|0.0|\nAAPL|Tax Rate For Calcs|0.156|0.241|0.147|0.162|\nAAPL|Normalized EBITDA|144748000000.0|134661000000.0|125820000000.0|130541000000.0|\nAAPL|Net Income From Continuing Operation Net Minority Interest|112010000000.0|93736000000.0|96995000000.0|99803000000.0|\nAAPL|Reconciled Depreciation|11698000000.0|11445000000.0|11519000000.0|11104000000.0|\nAAPL|Reconciled Cost Of Revenue|220960000000.0|210352000000.0|214137000000.0|223546000000.0|\nAAPL|EBITDA|144748000000.0|134661000000.0|125820000000.0|130541000000.0|\nAAPL|EBIT|133050000000.0|123216000000.0|114301000000.0|119437000000.0|\nAAPL|Net Interest Income|||-183000000.0|-106000000.0|198000000.0\nAAPL|Interest Expense|||3933000000.0|2931000000.0|2645000000.0\nAAPL|Interest Incom
...
Get Cash Flow Endpoint
Paste into a browser address bar.
https://yfin-h.tigzig.com/v1/get-cash-flow/?tickers=AAPL%2CMSFT
Response first lines of 10 KB
"Ticker|index|2025-09-30 00:00:00|2024-09-30 00:00:00|2023-09-30 00:00:00|2022-09-30 00:00:00|2021-09-30 00:00:00\nAAPL|Free Cash Flow|98767000000.0|108807000000.0|99584000000.0|111443000000.0|\nAAPL|Repurchase Of Capital Stock|-90711000000.0|-94949000000.0|-77550000000.0|-89402000000.0|\nAAPL|Repayment Of Debt|-10932000000.0|-9958000000.0|-11151000000.0|-9543000000.0|\nAAPL|Issuance Of Debt|4481000000.0|0.0|5228000000.0|5465000000.0|\nAAPL|Issuance Of Capital Stock|||||1105000000.0\nAAPL|Capital Expenditure|-12715000000.0|-9447000000.0|-10959000000.0|-10708000000.0|\nAAPL|Interest Paid Supplemental Data|||3803000000.0|2865000000.0|2687000000.0\nAAPL|Income Tax Paid Supplemental Data|43369000000.0|26102000000.0|18679000000.0|19573000000.0|\nAAPL|End Cash Position|35934000000.0|29943000000.0|30737000000.0|24977000000.0|\nAAPL|Beginning Cash Position|29943000000.0|30737000000.0|24977000000
...

Open-source edition

There is an open-source edition of this API - an earlier release you can run as your own service or borrow components from. Treat it as a reference implementation rather than a mirror of what is running here: the hosted service has moved on since.

github.com/amararun/shared-yfin-coolify

Built on FastAPI, fastapi-mcp, yfinance, pandas.

Self-hosting a public MCP server is your responsibility for security. A public endpoint needs edge rate limiting, abuse detection and secret hygiene. Full checklist: tigzig.com/security