Delisted tickers stay in Massive's data. The history a company generated while it was listed remains exactly as it was published, and its ticker record is marked inactive rather than deleted. This matters more than it sounds: a dataset that quietly drops failed companies makes every historical strategy look better than it was, which is the bias that sinks most naive backtests.
Applies to
- Plans: reference data is on every plan; the market data your key can reach still follows your tier and its history window.
- Endpoints: /v3/reference/tickers with active=false to find them, and the ordinary data endpoints for their history.
- Asset classes: US stocks and OTC.
How to find delisted tickers
The tickers endpoint defaults to active instruments only, so you have to ask:
curl -X GET "https://api.massive.com/v3/reference/tickers?active=false&market=stocks&limit=5&apiKey=YOUR_API_KEY"
Response
{
"results": [
{
"ticker": "AAB.WS",
"name": "LEHMAN BROTHERS CURRENCY BASKET WTS EXP 2/13/2008",
"market": "stocks",
"locale": "us",
"primary_exchange": "XASE",
"active": false,
"delisted_utc": "2008-02-11T05:00:00Z"
}
],
"status": "OK"
}
delisted_utc is the field to read: it dates the delisting, which is the one thing the ticker events endpoint will not tell you.
That default is worth remembering whenever a count looks smaller than you expected: totals from this endpoint are counts of active instruments unless you say otherwise.
What you can still get for one
For a delisted ticker you can still get everything that was published while it traded: aggregate bars, trades, quotes, reference details and any corporate actions it had. What you will not get is anything after its last trading day, and there is no delisting event to read, because the ticker events endpoint records symbol changes only.
So the last date with data is the practical answer to "when did it stop", and the reason it stopped may be a delisting, an acquisition or a symbol change. The events endpoint distinguishes the third from the other two.
Why survivorship bias matters
Survivorship bias matters because a universe built only from today's active tickers contains only the companies that made it. Every company that went bankrupt, was taken private or was acquired at a discount is missing, and their absence removes most of the bad outcomes from the sample. A strategy tested on that universe is being asked an easier question than the market asked at the time.
Building the universe as it stood on the date you are testing, using active=false as well as the active list, is the fix, and it is the main reason the delisted records are kept.
If you see an error
A ticker that returns nothing from /v3/reference/tickers but has historical data is almost certainly inactive. Add active=false.
Data that ends abruptly and never resumes is a delisting, an acquisition or a symbol change. Check the events endpoint for a symbol change first, since that is the one case where the history continues elsewhere.
A ticker symbol that has been reused by a different company is possible. Check the ticker details for the date range you care about rather than assuming one symbol is one company for ever.

