Next free-source hunt
We check for new free financial data every Wednesday.
Datasets / Market Data
massive.com/

Massive (formerly Polygon.io)

Freemiumauth: free API keyProvider terms#market-data#real-time#stocks#optionsโœ“ verified Oct 28, 2026

Massive (formerly Polygon.io)

REST and WebSocket APIs for stocks, options, forex, and crypto with fundamentals and market news.

Coverage

US stocks (all US exchanges, dark pools and OTC; data since 2003), options (since 2014), indices (S&P, Dow Jones, FTSE and more; since 2023), forex and crypto pairs (since 2009) and futures (CME, CBOT, NYMEX, COMEX; since 2017). Free Stocks Basic: all US stock tickers, end-of-day data and minute aggregates, 2 years of history, 5 calls/min, individual use. Paid stock plans add 5 to 20+ years of history, delayed or real-time data, and financials & ratios (Stocks Advanced).

Verdict

Free Stocks Basic (5 calls/min, 2 years, end-of-day and minute aggregates, individual use) is enough to try the API and run small US-stock backtests. Tick-level data, longer history and real-time need a paid plan.

Get the free weekly email

Free weekly email of newly verified free data. Unsubscribe by emailing us.

Use in your agent

Load Massive (formerly Polygon.io) daily bars into pandas and Parquet. Checked against the provider's documentation on Oct 29, 2026.

Raw skill file (/skills/polygon.md)Also in our MCP server: call get_ingestion_skill with {"slug": "polygon"}.

Access

  • Sign up or log in at massive.com and copy your API key from the Dashboard (the free plan is Stocks Basic).
  • Send the key as Authorization: Bearer <key> or as ?apiKey=<key>. Keep it out of code; the snippet reads MASSIVE_API_KEY.

Request

bash
curl -H "Authorization: Bearer $MASSIVE_API_KEY" 'https://api.massive.com/v2/aggs/ticker/AAPL/range/1/day/2026-09-29/2026-10-28?adjusted=true&sort=asc&limit=120'

Format

JSON: ticker, adjusted, queryCount, resultsCount, status, results (o, h, l, c, v, vw, n, t) and next_url when there is another page. t is the Unix millisecond start of the bar.

Load into pandas and Parquet

Needs Python 3 with requests, pandas and pyarrow.

python
"""Massive (formerly Polygon.io) daily bars for one stock -> pandas -> Parquet. Free key required."""
import os
import requests
import pandas as pd

session = requests.Session()
session.headers["Authorization"] = f"Bearer {os.environ['MASSIVE_API_KEY']}"  # key from your Massive dashboard
url = "https://api.massive.com/v2/aggs/ticker/AAPL/range/1/day/2025-01-01/2026-10-28"
params = {"adjusted": "true", "sort": "asc", "limit": 50000}
rows = []
while url:
    r = session.get(url, params=params, timeout=30)
    r.raise_for_status()
    body = r.json()
    rows += body.get("results", [])
    url, params = body.get("next_url"), None   # next_url already carries the query; the header carries the key

df = pd.DataFrame(rows).rename(columns={"o": "open", "h": "high", "l": "low", "c": "close",
                                        "v": "volume", "vw": "vwap", "n": "transactions"})
df["date"] = pd.to_datetime(df.pop("t"), unit="ms", utc=True)   # t = start of the bar, Unix milliseconds
df.to_parquet("massive_aapl_daily.parquet", index=False)
print(len(df), "rows", df["date"].min(), "to", df["date"].max())

Not run: it needs a personal API key.

Limits

  • Free Stocks Basic: 5 API calls a minute, 2 years of history, end-of-day data.

Quirks

  • Results are split-adjusted by default; pass adjusted=false for raw prices.
  • limit caps the base aggregates used to build the bars (default 5,000, maximum 50,000); follow next_url for more.
  • Without a key the API answers HTTP 401 "API Key was not provided" (observed 2026-10-29).

Terms and attribution

  • Stocks Basic is a personal-license plan. Massive's Individuals terms cover personal, individual and non-business use of products labeled Individual Use; business or commercial use falls under its Businesses terms and plans.

Sources

Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer