Polygon.io vs Alpha Vantage vs yfinance: what the free tiers actually give you
Three ways to get US price data without paying, compared on request limits, latency, history depth and whether you can build anything on top.
| Tool | From | Free tier | Free tier limits | Data source | Delivery | History depth | Redistribution | Entry paid tier, $/mo |
|---|---|---|---|---|---|---|---|---|
| Polygon.io | $29/mo | Yes | 5 requests/min, end-of-day data only, no WebSocket | Direct exchange | REST, Websocket, Flat files | Up to 20 years of trades and quotes on Advanced; 2 years on Starter | Paid addon | $29 |
| Alpha Vantage | $50/mo | Yes | 25 requests/day, 5 requests/min | Aggregator | REST | 20+ years of daily bars; intraday history is shorter and varies by symbol | Prohibited | $50 |
| yfinance | Free | Yes | No published limit — Yahoo throttles by IP and the threshold is undocumented | Scraped | Library | Decades of daily bars; intraday limited to roughly 60 days | Prohibited | No paid tier |
The three tools people actually pick between when they have no budget are not variations on one thing. They differ in what happens when the free tier stops being enough, and that is the part worth deciding on first.
yfinance costs nothing and promises nothing. No key, no account, no rate limit you can plan against, and no agreement behind any of it — when Yahoo changes an endpoint, every user breaks at once. Right answer for a notebook, wrong answer for anything that has users.
Alpha Vantage is the contractual version of the same convenience: a real account, 25 requests a day, global coverage, delayed data. The paid ladder buys request rate and nothing else, which makes the upgrade decision unusually clean.
Polygon.io is the only one of the three whose free tier is a preview of a serious product rather than the product itself. End-of-day only at five requests a minute — but the paid tiers above it are direct exchange feeds with full tick history, which neither of the others offers at any price.
How to read the table
free_tier_limits is normalised to requests per minute and per day, because "generous free
tier" is not a unit. data_source predicts price and depth better than any tier name does:
direct exchange feeds cost what they cost, and aggregated data is cheap because it is
aggregated. redistribution_license is the field that decides whether a project can become a
product.
The honest recommendation
Learning, or a one-off analysis: yfinance. Something that has to keep running without you: Alpha Vantage on a paid tier. Anything that needs real-time US data or tick history: Polygon.io, and budget per asset class rather than per tier.
The rest of the category — including the providers that cover markets outside the US — is on the market data APIs page.
FAQ
Which of these is genuinely free?
All three, at different costs. yfinance has no bill and no contract. Alpha Vantage gives 25 requests a day against a real account. Polygon's free tier is end-of-day only. None of them gives you free real-time data, because exchanges charge for it and nobody absorbs that.
Can I use any of these in a product I charge for?
Not on these tiers. Alpha Vantage prohibits redistribution, yfinance has no licence to give you, and Polygon sells redistribution separately. This is the constraint that ends most weekend projects that were going to become products.
What breaks first when I outgrow the free tier?
Request rate, almost always before data quality. Twenty-five requests a day covers one symbol; a universe scan needs thousands. Both paid ladders start at roughly $29-50 a month, which is the real price of the category.