5 providers · from $0.000999 per call · $0.000 markup

Historical stock data API: daily OHLCV price history by ticker, free to try, then your own Polygon, EODHD or Marketstack key

Give your agent a ticker and a date range and get the daily open, high, low, close and volume back as rows, adjusted where the provider adjusts. 5 providers answer through one treg.to key. Tiingo and Twelve Data are free for twenty calls a day per team on treg.to's own key, enough to backfill a watchlist; past that, and for Polygon, EODHD and Marketstack, you connect your own subscription key and the calls are never metered. Two things this page will not pretend: there is no Yahoo Finance row and no Alpha Vantage row, because neither is in the catalog, and nothing here is unlimited and free.
$1.00 of free credit on every new team · no provider signup · no card
6 of 6 endpoints on this page are live-verified against the provider.
compared on this page
EODHDTwelve Data
The economics

What 100 of these actually costs

the wide end
$0.10
Marketstack, the dearest here, for the same 100
you pay
$0.10
100 × $0.000999 at Marketstack, metered per call

Subscription figures are provider list prices recorded in treg.to’s own catalog grid; per-call prices are what treg.to charges today, with $0.000 added.

Try it

What’s the best way to ask ChatGPT?

1Set your agent up, once
in your agent's chat
set up treg — https://treg.to/llms.txt
2Ask for the job
the prompt
Using treg, get the daily price history for AAPL, MSFT and NVDA from January 2020 to today, show me which providers are free on treg.to's key and how many calls I have left today, use one of those, then give me a table of ticker, date, adjusted close and volume as CSV, and say if any day is missing.
works in
ChatGPTClaudeClaude CodeCodexCursorGemini CLI

Why this prompt works

Give the ticker and the range

Every row takes a symbol and a start and end date. Thirty years is one call on most of them, so the range is free to widen.

Ask which rows are free today

Two providers are served on treg.to's own key with a daily allowance per team. The agent can see the allowance before it spends one.

Say adjusted or unadjusted

Splits and dividends change the series. Tiingo returns both; the others differ. Say which you want before the agent picks.

Ask for the missing days

A gap in a daily series is silent unless the agent counts. Ask for it and a holiday looks different from a hole.

Why treg.to

Why go through treg.to

One key, not 9 accounts

treg.to holds the provider keys. Neither you nor the agent sees them.

Price before the call

The provider's own rate, $0.000 markup, from a prepaid balance.

No subscription, no seats

Charged per call. $1.00 free per new team, no card to start.

Your own keys are free

Already pay Hunter? Register it and those calls are never metered.

Switch by changing a word

Another provider is a different word in the prompt, not a new integration.

Nothing to integrate

No SDK, no OAuth dance per vendor, no seats.

Behind the scenes

What ChatGPT sees before it calls

treg.to does not choose for you. It hands ChatGPT this comparison, with the price shown before any call, and ChatGPT picks. Or you tell it how: "cheapest", "most reliable", "the one that takes what I have", or a provider by name.

What does daily price history cost?

Cheapest per call

Marketstack at $0.000999

How do the providers compare?

ProviderPriceAcceptsSuccess rateVerified
Marketstack$0.000999 per callsymbols, date_from, date_to, limit, offset, sortnot yet measured2026-08-15
EODHDEODHDno dollar rate publishedsymbol, fmt, from, to, periodnot yet measured2026-08-15
Polygon.iono dollar rate publishedticker, multiplier, timespan, from, to, adjustednot yet measured2026-08-15
Tiingofree, 20 calls a day on treg.to's key, then your own keyticker, startDate, endDate, resampleFreqnot yet measured2026-08-15
Twelve DataTwelve Datafree, 20 calls a day on treg.to's key, then your own keysymbol, interval, outputsize, start_date, end_datenot yet measured2026-08-15

Run one

the cheapest verified call
treg call marketstack.eod --query symbols=AAPL --query limit=3

Swap the id for any provider above. All 6 endpoints behind this job, with their parameters and captured responses, are on the Stock Market Data shelf.

How these numbers are made

PricesEach provider’s own published rate, converted to US dollars for one chargeable event of the unit they bill in. treg.to adds $0.000. Where a provider bills in credits, the conversion uses the rate on their public pricing page, last checked 2026-08-15.
Success ratetreg.to’s own served calls over the last 30 days: 2xx counts as a success, 5xx and timeouts as a failure. A 4xx is excluded, because it usually means the caller sent bad parameters and one bad query should not make a healthy endpoint look broken.
What this is notA controlled benchmark. These are real calls with real inputs, so sample sizes and the difficulty of what was asked differ by provider. Treat the rates as live reliability, not a like-for-like test.
VerifiedThe date treg.to last called the endpoint end to end and confirmed the shape of its response and the price it charged.
From the field

What people actually struggle with

Of the ~200 Reddit and X posts read in August 2026 about thirty were on the job, and six vendor clusters were excluded, including one open source launch posted to four Indian trading subreddits at once and an eight free APIs list where every link carried an affiliate tag. These five are people whose data source broke.

The free endpoint everyone used

“yfinance is so unreliable; any other free apis?” r/algotrading, 118 points

What this page can do about it: The honest answer is free to try rather than free: twenty calls a day on treg.to's key across two documented providers, then your own key. What that buys is an endpoint with a published contract, which is the thing yfinance never had.

Public facts, private prices

“How is it possible that you need to pay hundreds of dollars just to access historical data / facts that are publicly known?” r/webdev, 117 points

What this page can do about it: Because the exchanges license the data and everyone downstream pays them. The rows here do not change that; what they change is the entry price, which for a watchlist of daily bars is zero on two providers and your own plan on the rest.

Rate limits measured in minutes

“even with multithreading i'm looking at 45 minutes to get all the data because of their rate limiting” r/algotrading

What this page can do about it: A daily allowance is a rate limit too, and this page says so. The difference is the shape: one call here is a ticker over its whole history, so twenty calls is twenty full series, not twenty days of one.

This data should not be hard to find

“In all honesty, I don't feel like this data should be expensive or hard to find.” r/algotrading, 65 points

What this page can do about it: Hard to find is the part a catalog fixes: six documented providers, their allowances and their conventions on one page, callable through one key. Expensive is the exchanges' decision, and no page undoes it.

Fifty eight million answers

“there are 58 million answers and the vast majority of them are sarcastic, rhetorical, or a simple 'try this platform'” r/algotrading, 79 points

What this page can do about it: This page is one more, so here is what makes it checkable: every row names its endpoint, its allowance or its key requirement, and its verified date, and the prompt above asks the agent to show the allowance before spending it.

The detail

What actually differs

Two rows cost nothing to start, on treg.

to's own key. Tiingo and Twelve Data are served from treg.to's free tier keys with an allowance of twenty calls a day per team; a call is one ticker over any range, so twenty calls is twenty tickers of full history a day, and past the allowance the call is refused with a hint to connect your own key. Polygon and EODHD serve on your own subscription key only, and treg.to publishes no rate for them, so the table prints none: your plan's limits apply and treg.to meters nothing. Marketstack's row prints a per call figure derived from its plan's monthly request cap, which is the catalog's way of saying one request against the cap whatever it returns, not a metered price.

Adjusted and unadjusted are different series and the rows treat them differently.

Tiingo returns both in the same row, with adjusted open, high, low, close and volume beside the raw ones, across thirty plus years. Polygon's bars endpoint takes an adjusted flag. Twelve Data, Marketstack and EODHD document their own conventions on the linked pages. A backtest built on the wrong one will look right until a split lands in the window, so say which you want in the prompt and check one known split date.

Coverage is the provider's, not this page's.

EODHD documents seventy plus exchanges, Marketstack a similar spread, Polygon is US equities, and Tiingo and Twelve Data cover US plus a range of international symbols; the research turned up real demand for Indian and Sri Lankan exchange data and nothing here promises it. Nothing on this page serves intraday history except Polygon's bars and Twelve Data's series, and the crypto history page covers coins. The five provider rows were verified on 2026-08-15; the row labelled treg is the routed endpoint, the explicit opt in where you ask treg.to to choose among them, your own keys first, and it is unverified.

Background

What is a historical stock data API?

It is a call that returns end of day bars for a ticker over a date range: the open, high, low and close, the volume, and on most providers an adjusted close that folds splits and dividends back into the series. It is the data behind every backtest, every chart and every do it yourself portfolio tracker, and it is the data the free scripts of the last decade leaned on Yahoo Finance for, which is why every time that unofficial endpoint changes a forum fills with people asking for another. The rows here are documented APIs with a published allowance or a subscription behind them, which is the trade: nothing breaks on a Tuesday, and nothing is unlimited.

Questions

Before you start

Is there a free historical stock data API here?

Free to try: Tiingo and Twelve Data at twenty calls a day per team on treg.to's own key, no card and no account with either provider. Past the allowance you connect your own key, which on both providers has a free tier of its own. Nothing here is unlimited and free, and this page will not say otherwise.

Where is Yahoo Finance or Alpha Vantage?

Not in the catalog. Yahoo has no official API and the unofficial endpoints break on their own schedule; Alpha Vantage is a documented API whose free tier is a handful of calls a day, and it is not a row here today. The rows on this page are the documented alternatives people move to when either fails.

Do I get adjusted prices?

On Tiingo, both series in one row. On Polygon, with a flag. On the others, per their documentation, linked from each row. Say which you want in the prompt, and check one known split date before trusting a backtest.

Can I use my own Polygon subscription?

Yes, and it is the only way Polygon serves here: connect the key once and every call runs on your plan, never metered by treg.to. The same is true of EODHD and Marketstack, and of Tiingo and Twelve Data once the daily allowance is used.