fshy

Home / Data APIs

Massive (formerly Polygon.io)

massive.com/pricing?product=stocksMarket data API (US stocks, options, indices, currencies, futures)data-apis/massiveJSONcomparereport an errorprovider JSON

Free allowance
Stocks Basic USD 0/month: 5 API calls per minute, 2 years of historical data, end-of-day data; each asset class (stocks, options, indices, currencies, futures) has its own free Basic tier at 5 requests a minute
Verdict
caveatusable, with a named limit or an unprobed read path
Cost
free tier
Identity
emailno card, no phone
Binding limit
request-rate5 requests per minute per asset class on Basic
Evidence
documented36 sources; a first-party page was read and the sentence quoted
Freshness
stale on 2026-12-04checked 2026-11-03 (live); stale on 2026-12-04
Free tierStocks Basic USD 0/month: 5 API calls per minute, 2 years of historical data, end-of-day data; each asset class (stocks, options, indices, currencies, futures) has its own free Basic tier at 5 requests a minute
unit requests; metered on request-count; Basic reaches end-of-day aggregate bars, reference data, corporate actions and technical indicators over REST only; trades, quotes, snapshots, WebSockets and flat files start at the paid tiers. Paid tiers have no request limit: Stocks Starter is USD 29/month with 5 years of history, 15-minute delayed data and flat files. Extra API keys share the account's limits. Polygon.io was renamed Massive on 2025-10-30, and polygon.io redirects to massive.com.
Pricenone stated
Limits
  • request-rate (binding) 5 requests per minute per asset class on Basic source
History depth on Stocks Basic is 2 years, end-of-day; no limits[] kind names a history window, and the term it needs is history-window. Bulk path: flat files over S3 from Stocks Starter (USD 29/month) up; no bulk path on Basic.
Bindingrequest-rate 5 requests a minute is the only numeric limit on Basic; the 2-year window bounds what those requests reach.
Identityemail Signup offers GitHub, Google or email; registration asks for information that may include a name and an email. The stocks page states the free tier needs no credit card. A call without a key answers HTTP 401 with 'API Key was not provided'.
Egressnot metered in bytes; 5 requests a minute per asset class bound what a free key can pull
Per-object capnot applicable: one JSON response per call
Interfacerest, s3-compatible REST at https://api.massive.com, with api.polygon.io answering in parallel. Flat files are compressed CSVs over an S3-compatible endpoint, https://files.massive.com, bucket flatfiles, from the first paid tier up; the free Basic tier is REST only.
Toolingcurl or any HTTP client; flat files with an S3 client (the AWS CLI, rclone, the MinIO client and boto3 are named)
Composes withFree end-of-day bars for two years at 5 calls a minute; for history past two years the Alpha Vantage weekly or monthly series and the Twelve Data daily series reach further back for free, and the paid tiers sell flat files.
ReliabilityThe api.polygon.io base still answers but is announced for phase-out; api.massive.com is the current base.
NotesThe free tier is a sampler: 5 calls a minute per asset class, end-of-day, two years back. The value of the provider is the paid flat files, which are the only bulk path among the four market data records.
Evidence notedocumented The Basic tier, the per-asset-class limit and the flat-file gate are documented on the pricing page and knowledge-base articles. Keyless probes of both API bases answered 401 with the same error; the 5-per-minute cut-off needs a free key to measure.
Parsed numbers
  • has-free-tier 1
  • request-rate 5 requests / minute
Evidence 36
datesourcewhat it proved
2026-10-30massive.com/pricing?product=stocksStocks Basic allows 5 API calls per minute
2026-10-30massive.com/pricing?product=stocksStocks Basic reaches 2 years of history
2026-10-30massive.com/pricing?product=stocksStocks Basic data is end-of-day
2026-10-30massive.com/pricing?product=stocksStocks Basic costs USD 0 a month
2026-10-30massive.com/pricing?product=stocksthe stocks plans, Basic among them, are labelled individual use
2026-10-30massive.com/pricing?product=stocksStocks Starter reaches 5 years of history
2026-10-30massive.com/pricing?product=stocksStocks Starter data is 15-minute delayed
2026-10-30massive.com/pricing?product=stocksStocks Starter is USD 29 a month
2026-10-30massive.com/knowledge-base/article/what-is-the-request-limiteach asset class has a free Basic tier at 5 requests a minute, and paid tiers have no request limit
2026-10-30massive.com/knowledge-base/article/what-is-the-request-limitextra API keys share the account's limits
2026-10-30massive.com/knowledge-base/article/what-are-the-different-maBasic is REST only; WebSockets, flat files, trades, quotes and snapshots need a paid tier
2026-10-30massive.com/knowledge-base/article/does-massive-offer-free-tBasic gives end-of-day bars, reference data, corporate actions and indicators with two years of history at 5 requests a minute
2026-10-30massive.com/flat-filesthe bulk path is compressed CSV flat files over an S3-compatible endpoint
2026-10-30massive.com/flat-filesflat files need a subscription that includes them
2026-10-30massive.com/flat-filesthe flat-file endpoint is files.massive.com
2026-10-30massive.com/flat-filesthe flat-file bucket is named flatfiles
2026-10-30massive.com/flat-filesflat files are read with S3-compatible clients
2026-10-30massive.com/stocksthe free tier is 5 requests a minute and needs no credit card
2026-10-30massive.com/dashboard/signupsignup by email is offered beside GitHub and Google
2026-10-30massive.com/legal/individuals-terms-of-serviceregistration asks for information that may include a name and an email
2026-10-30massive.com/termsproducts labelled Individual Use fall under the individuals terms
2026-10-30massive.com/blog/polygon-is-now-massivePolygon.io was renamed Massive on 2025-10-30
2026-10-30massive.com/blog/polygon-is-now-massivepolygon.io redirects to massive.com
2026-10-30massive.com/blog/polygon-is-now-massiveapi.polygon.io and api.massive.com both serve the API
2026-10-30massive.com/blog/polygon-is-now-massivethe api.polygon.io endpoints are announced for phase-out
2026-10-30probe: https://api.massive.com/v2/aggs/ticker/AAPL/prevapi.massive.com answered HTTP 401 to a call without a key
2026-10-30probe: https://api.massive.com/v2/aggs/ticker/AAPL/prevthe keyless call to api.massive.com is refused for a missing key
2026-10-30probe: https://api.polygon.io/v2/aggs/ticker/AAPL/prevapi.polygon.io still answered, with HTTP 401 to a call without a key
2026-10-30probe: https://api.polygon.io/v2/aggs/ticker/AAPL/prevapi.polygon.io returns the same missing-key error as api.massive.com
2026-11-02massive.com/knowledge-base/article/what-is-the-request-limitthe knowledge base says the over-limit JSON error comes with HTTP 429 when an asset class is on its Basic tier
2026-11-02massive.com/knowledge-base/article/what-is-the-request-limitthe knowledge base prints this JSON error as the body that comes with HTTP 429
2026-11-02massive.com/knowledge-base/article/what-is-the-request-limitthe 429 response carries a request_id
2026-11-02massive.com/pricing?product=stocksStocks Basic reaches 2 years of historical data at end-of-day recency, a history window that no limits[] kind names
2026-11-02massive.com/knowledge-base/article/what-is-the-request-limitthe knowledge base gives the 5-per-minute limit and names no reset instant
2026-11-02massive.com/pricing?product=stocksStocks Basic is USD 0 a month with 5 API calls a minute, 2 years of historical data and end-of-day data
2026-11-02massive.com/knowledge-base/article/what-is-the-request-limiteach asset class not subscribed to sits on a free Basic tier of 5 requests a minute; paid classes have no request limit
More fields 4
bulk pathflat files (S3-compatible, files.massive.com, bucket flatfiles) on paid tiers only; no bulk path on Basic
history depth2 years, end-of-day, on Stocks Basic
renamed fromPolygon.io
cutoff{"http_status": "429","body": "{\"status\":\"ERROR\",\"error\":\"You've exceeded the maximum requests per minute, please wait or upgrade your subscription to continue. https://massive.com/pricing\"}; the 429 response also carries a request_id","reset": "unverified: behind a sign-up: no Massive page says how the 5-per-minute window resets, and a Basic key is needed to observe it"}
Unknown values 1
  • retention stated: the field does not apply to this kind of offer