Benzinga News on Massive does not deliver press releases under the name of the wire service that distributed them, and it has no field for a release's original time. When Benzinga covers a company announcement, what arrives is Benzinga's own item about it: sometimes a headline with no body, sometimes a story that quotes the release, published on Benzinga's clock. That makes the feed a record of when Benzinga reported an event, which is what to plan around if you are measuring reaction times.
Applies to
- Plans: the Benzinga News and Benzinga News Business plans, both with all history, per the Benzinga News documentation.
- Endpoints: /benzinga/v2/news.
- Asset classes: stocks. The tickers field can also carry crypto tickers.
What the Benzinga News feed carries
Every Benzinga News item has a url on benzinga.com, and its author is a Benzinga desk, such as benzinga newsdesk or benzinga insights, or the name of a writer or contributor. The feed mixes several kinds of item:
- Newsdesk headlines: analyst rating and price target changes, offering and deal announcements, earnings figures and guidance, trading halts.
- Written stories: explainers on why a stock moved, market wraps and commentary.
- Lists: the stocks moving in a session.
Some Benzinga News items are a headline only. The documentation says these are included for faster delivery of time-sensitive news, and a headline-only item has no body and no teaser field at all, rather than empty ones.
Benzinga News items carry no sentiment field. Sentiment labels are on the ticker news endpoint, /v2/reference/news, in its insights array.
How press releases show up in Benzinga News
A press release does not appear in Benzinga News as the wire's own record. When Benzinga covers a company announcement, such as an offering, a merger or a contract, it publishes its own item about it, tagged with the company's ticker. Some of those items reproduce the release text in body; many are a headline only. An announcement made in the US evening can appear the next morning UTC as a headline that begins "Reported Earlier", as in the example below.
Benzinga News has no field that names a wire service, so you cannot filter it down to releases from one wire. If you need the releases themselves, the ticker news endpoint /v2/reference/news includes a press-release wire among its publishers, as Where does Massive source ticker news from? explains.
Older years of Benzinga News also hold a press releases channel, used most heavily from 2014 to 2016. Items from those years reproduce company announcements, some of them excerpts that end with a link to the full release. The channel is rarely used in recent years.
What the published time means
The Benzinga News published field is when Benzinga first published the item, in UTC to the second, and last_updated is when the item last changed. An edit moves last_updated and leaves published alone. There is no field for the time of the underlying release or event, and no parameter that returns an earlier version of an item. This request returns a secondary offering announced after the US close on 22 September 2026, and Benzinga's headline on its pricing the next morning:
curl -X GET "https://api.massive.com/benzinga/v2/news?tickers=INNV&published.gte=2026-09-22T20:00:00Z&published.lt=2026-09-23T07:10:00Z&sort=published.asc&apiKey=YOUR_API_KEY"
Response
{
"status": "OK",
"results": [
{
"author": "benzinga news-desk",
"published": "2026-09-22T20:04:45Z",
"last_updated": "2026-09-22T20:22:11Z",
"title": "UPDATED: InnovAge Announces 10M Share Public Secondary Offering By Selling Stockholders",
"channels": ["news"],
"tickers": ["INNV"]
},
{
"author": "benzinga newsdesk",
"published": "2026-09-23T07:03:56Z",
"last_updated": "2026-09-23T07:03:56Z",
"title": "Reported Earlier, InnovAge Prices Secondary Offering Of 10M Shares At $9.25 Per Share By Apax Partners And Welsh, Carson Affiliated Funds",
"channels": ["news"],
"tickers": ["INNV"]
}
]
}
The response has four items; the two in between, a list of movers and a story on the share price, are cut here. The first item was edited 17 minutes after it was published, and its published time stayed put. It also carries body and teaser fields, left out here; the second item is a headline only and has neither. The pricing was announced by press release at 00:46 UTC on 23 September, 8:46 PM on the 22nd in New York; the second item's own title says it was reported earlier, and its published time of 07:03:56 UTC is when Benzinga posted it.
How to filter Benzinga News by channel
The Benzinga News channels field holds the topics an item is filed under, such as news, analyst ratings, price target, earnings, guidance, offerings, ipos and m&a. Filter with channels, or with channels.any_of for several values separated by commas.
Some mergers and acquisitions items carry the channel m&a, an HTML-encoded copy of m&a, so a filter on m&a alone misses them. Ask for both, URL-encoded:
curl -X GET "https://api.massive.com/benzinga/v2/news?tickers=CVE&channels.any_of=m%26a,m%26amp%3Ba&published.gte=2026-10-05&published.lt=2026-10-06&sort=published.asc&apiKey=YOUR_API_KEY"
Response
{
"status": "OK",
"results": [
{
"author": "benzinga newsdesk",
"published": "2026-10-05T10:03:00Z",
"title": "Cenovus Energy To Acquire Athabasca Oil Corporation For $12/Share In Cash And Stock At An Implied EV Of $5.7B",
"channels": ["m&a", "news"],
"tickers": ["CVE", "ATHOF"]
},
{
"author": "akanksha bakshi",
"published": "2026-10-05T12:44:32Z",
"title": "Cenovus Bets $4 Billion on Athabasca in Oil Sands Power Play",
"channels": ["movers", "news", "m&a", "top stories", "equities"],
"tickers": ["CVE", "ATHOF"]
}
]
}
The same deal carries m&a in the first item and the encoded m&a in the second. The same request with channels=m%26a returns only the first.
How far back Benzinga News goes
Benzinga News history starts on 27 April 2009, the date the documentation gives. Sorting ascending returns that first item:
curl -X GET "https://api.massive.com/benzinga/v2/news?sort=published.asc&limit=1&apiKey=YOUR_API_KEY"
Response
{
"status": "OK",
"results": [
{
"author": "benzinga",
"published": "2009-04-27T18:39:00Z",
"last_updated": "2009-09-10T01:46:01Z",
"title": "Update on the Luxury Sector: 2nd Quarter 2009"
}
]
}
That item was published at 18:39 UTC on 27 April 2009 and last changed on 10 September 2009, which again shows published holding the first publication time through later edits.
Why the published time is Benzinga's
Benzinga News is Benzinga's own newsroom output, delivered through Massive's API in real time, so each item carries the time Benzinga published it. A release, a filing or a market event that the item reports on has its own time, which the item does not record. To measure how fast news reached the feed, compare published with the original announcement's time from its own source.
How Benzinga News maps to Benzinga's own Newsfeed API
Each Benzinga News item on Massive is an article from Benzinga's own Newsfeed API, whose Get News endpoint is GET https://api.benzinga.com/api/v2/news: the benzinga_id on each Massive item is Benzinga's article id, the number in the item's benzinga.com url. If you are moving code from Benzinga's API to Massive's /benzinga/v2/news, the fields map like this:
| Benzinga Newsfeed API (Get News) | Massive Benzinga News |
|---|---|
| id | benzinga_id |
| created | published |
| updated | last_updated |
| author, title, teaser, body, url | the same names |
| channels (objects with a name) | channels (a list of names) |
| tags (objects with a name) | tags (a list of names) |
| stocks (objects with a name and identifiers) | tickers (a list of ticker symbols) |
| image | images |
The query parameters change in the same way: Benzinga's tickers and channels become tickers and channels (or .any_of for several values), and dateFrom and dateTo become published.gte and published.lte. Benzinga's updatedSince has no equivalent, so to catch edits to recent items, request the recent window again and compare last_updated.
If you see an error
Articles for every ticker come back although you asked for one: the Benzinga News parameter is tickers, plural. A request with ticker=AAPL is accepted and the parameter is ignored, so it returns everything in the time range. The same applies to channel instead of channels.
An item with no body is a headline-only item, not a truncated one.
A filter on channels=m%26a that misses a merger story you can see on benzinga.com may carry the encoded m&a. Use channels.any_of=m%26a,m%26amp%3Ba.

