The 22 June 2016 start date for Massive's ticker news is the oldest article, not the start of steady coverage: fewer than 500 articles were published before 22 April 2021, so a backtest that needs news for a ticker before May 2021 will usually find none. Sentiment also has a fixed start. Articles published before 17:46 UTC on 2 July 2024 have no insights field, and no request parameter adds one.
Applies to
- Plans: ticker news is included in all Stocks plans and updated hourly on each. Stocks Basic reaches 2 years of history; Stocks Starter, Developer, Advanced and Business reach all of it, per the News documentation.
- Endpoints: /v2/reference/news, including the insights array on each article.
- Asset classes: US stocks.
Where the news archive starts
The ticker news archive starts at 13:18 UTC on 22 June 2016, which matches the documentation's "Records date back to June 22, 2016". Sorting ascending returns the oldest article:
curl -X GET "https://api.massive.com/v2/reference/news?sort=published_utc&order=asc&limit=1&apiKey=YOUR_API_KEY"
Response
{
"results": [
{
"title": "Polymetal Could Be a Winning Ticket on the Gold Price Rollercoaster",
"published_utc": "2016-06-22T13:18:00Z",
"tickers": ["AU", "GFI"]
}
],
"status": "OK"
}
How dense the news archive is before 2021
The ticker news archive is sparse before late April 2021. Fewer than 500 articles were published from 22 June 2016 to 21 April 2021, fewer than 50 a year from 2016 to 2019 and about 200 in 2020, and more than 130,000 in the rest of 2021. On a plan with all history, an empty results array for a ticker and a date in 2018 is that sparseness, not a permissions problem.
For news before 2021, the separate Benzinga News dataset has records back to 27 April 2009 and has its own plans.
When sentiment starts
The insights array on a ticker news article holds, for each ticker it covers, a sentiment label such as positive, neutral or negative and a one-sentence sentiment_reasoning. It starts on 2 July 2024. No article published before 17:46:28 UTC that day has an insights field. Until 18:05 UTC some articles have one and some do not, and every article published after 18:05 UTC on 2 July 2024 carries it. This request spans the change:
curl -X GET "https://api.massive.com/v2/reference/news?published_utc.gte=2024-07-02T17:41:00Z&published_utc.lte=2024-07-02T17:46:30Z&sort=published_utc&order=asc&apiKey=YOUR_API_KEY"
Response
{
"results": [
{
"title": "Stocks Hold Steady As Powell Reassures On Disinflation Path, Warns About Debt Risks; Tesla Rallies, Job Openings Spike: What's Driving Markets Tuesday?",
"published_utc": "2024-07-02T17:41:40Z"
},
{
"title": "Unpacking the Latest Options Trading Trends in ARM Holdings - ARM Holdings (NASDAQ:ARM) - Benzinga",
"published_utc": "2024-07-02T17:46:28Z",
"insights": [
{
"ticker": "ARM",
"sentiment": "positive",
"sentiment_reasoning": "The article indicates that heavyweight investors have adopted a bullish approach towards ARM Holdings, with 55% leaning bullish and 31 call options totaling $2,156,874 compared to 14 put options totaling $702,530."
}
]
}
],
"status": "OK"
}
The first article, five minutes before the change, has no insights field at all; the second is the first article in the archive that does.
When an article and its sentiment appear
The ticker news endpoint is updated hourly, so an article reaches it some time after its published_utc, which is when the publisher published it. The delay depends on the publisher and ranges from under an hour to several hours, so a request for the last hour of news can come back short and fill in later. When an article does arrive, its insights are already attached.
No field on the article records when it reached Massive or when its sentiment was assigned, and the endpoint has no parameter that returns an article as it was at an earlier time. If your research needs to know what was available at a given moment, record when you received each article and store its insights as received, rather than treating published_utc as the time the sentiment existed.
Why older articles have no sentiment
Older ticker news articles have no sentiment because the insights field begins with articles published at 17:46 UTC on 2 July 2024; articles already in the archive by then did not receive one. The documentation does not describe a way to request sentiment for them, and the endpoint has no parameter for it.
If you see an error
An article with no insights field was published before 17:46 UTC on 2 July 2024, or between 17:46 and 18:05 UTC that day, while coverage was mixed.
On a plan with all history, an empty results array for a ticker on a date before late April 2021 is normal: the archive has very few articles from those years.

