Tiingo Market Data
Decades of end-of-day price history, intraday IEX quotes, curated fundamentals and financial statements, corporate actions, news, crypto and FX — from Tiingo.
Tiingo publishes no OpenAPI document, so every endpoint here was verified against the live API
(2026-08-17). The check was a discriminator, not an assumption: a real path answers
403 {"detail":"Invalid token."} with a bogus key, a made-up path answers 404. All ten returned
403; three nonsense paths returned 404.
Get a key
- Sign up at https://www.tiingo.com/account/api/token.
- Credentials → New → API Key, name it (e.g.
Tiingo), paste the token. - Name it on the task:
"credentialName": "Tiingo".
Sent as Authorization: Token … — a header, so the key stays out of URLs and logs.
Operations
| operation | returns | required |
|---|---|---|
prices |
end-of-day OHLCV — decades of it | ticker (+ startDate, endDate, resampleFreq) |
metadata |
name, exchange, description, coverage dates | ticker |
intraday |
IEX intraday quotes | ticker |
fundamentals_daily |
daily fundamental metrics | ticker |
fundamentals_statements |
income statement, balance sheet, cash flow | ticker |
distributions |
dividends and splits | ticker |
news |
articles, filterable by ticker | — |
crypto_prices |
crypto OHLCV | tickers |
fx_prices |
FX rates | ticker (e.g. audusd) |
search |
find a symbol | query |
raw |
anything else in Tiingo's docs | path |
Tickers are lower-cased automatically — aapl, spy, audusd.
Examples
Ten years of daily closes:
{"name":"history","tool":"tiingo","credentialName":"Tiingo",
"properties":{"operation":"prices","ticker":"aapl","startDate":"2016-01-01","resampleFreq":"daily"}}
Dividend history, and news for a ticker:
{"properties":{"operation":"distributions","ticker":"ko"}}
{"properties":{"operation":"news","tickers":"aapl,msft","limit":"10"}}
Notes
- The free tier is generous on history but limited on breadth: 50 unique symbols/hour,
1,000 requests/day.
429says which limit you hit. - Fundamentals are curated rather than raw XBRL — cleaner than filings-derived data, narrower coverage.
- For US intraday and ETF holdings use
finnhub; for non-US exchanges useeodhd. - Verified: validation and auth wiring tested live (bogus key →
403 Invalid token.). No 200-level response recorded — that needs a real token.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
resultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
operation |
string | yes | — | One of: metadata, prices, intraday, news, fundamentals_daily, fundamentals_statements, distributions, crypto_prices, fx_prices, search, raw |
ticker |
string | no | — | Symbol, lower-cased automatically: aapl, spy. FX pairs: audusd. Required by most operations. |
tickers |
string | no | — | crypto_prices / news: comma-separated symbols, e.g. btcusd,ethusd. |
startDate |
string | no | — | YYYY-MM-DD — start of the range. |
endDate |
string | no | — | YYYY-MM-DD — end of the range. |
resampleFreq |
string | no | — | Bar size: daily, weekly, monthly, annually; intraday accepts 1min, 5min, 1hour. |
columns |
string | no | — | Comma-separated fields to return, e.g. open,close,volume. |
query |
string | no | — | search only: the text to look up. |
limit |
string | no | — | Row cap where the endpoint supports one. |
sort |
string | no | — | news only: e.g. -publishedDate. |
query_json |
string | no | — | Any extra query parameters as a JSON object string, e.g. {"resampleFreq":"1min"}. |
path |
string | no | — | raw only: a path from Tiingo's docs. The escape hatch for anything not named above. |