# How to get news headlines as data

Ticker-tagged headlines start free. What you buy past that is a display licence, somebody else's entity classifier, and whatever archive your tier reaches.

*https://stockmarketstack.com/how-to/get-news-headlines-as-data · next to Stock Market Data APIs*

**Answer:** Ticker-tagged headlines are cheap: TickerTick is free and keyless, Marketaux and finlight start at twenty-nine dollars, and a Finnhub key you may already hold carries a year of news. What costs is everything around the headline — whether your licence lets you display more than a link, whether the ticker tag is right, and how far back the tier you bought actually reaches.

## The tools that do this

*In the order this page recommends trying them. Paid placement does not affect this order.*

1. [TickerTick](https://stockmarketstack.com/tools/tickertick.md) — Free, no key, US listings only. A small query language joins ticker, source and story type, and ten requests a minute is the whole budget.
2. [Marketaux](https://stockmarketstack.com/tools/marketaux.md) — Global, from a free 100-call tier. Every ticker inside an article carries its own sentiment score, and every article is a snippet plus a link.
3. [finlight](https://stockmarketstack.com/tools/finlight.md) — Resolves companies to ticker, ISIN and OpenFIGI with a confidence score. Entities start at $29, sentiment at $99, and the free tier runs 12 hours late.
4. [Stock News API](https://stockmarketstack.com/tools/stocknewsapi.md) — US tickers with a positive, negative or neutral label from $19.99. No free tier, no article body, and history is a Premium-column feature.
5. [NewsFilter.io](https://stockmarketstack.com/tools/newsfilter-io.md) — Wires, transcripts and US government feeds in one index. The websocket stream and four years of history start at $65 — check the SEC source first.
6. [Benzinga News API](https://stockmarketstack.com/tools/benzinga-news-api.md) — The licensed wire itself, over REST, TCP, WebSocket or webhook. No published price, and what you may display is the thing you are negotiating.

## The short way

[TickerTick](https://stockmarketstack.com/tools/tickertick) hands you ticker-tagged US stock headlines with no key and no
account:

```bash
curl "https://api.tickertick.com/feed?q=z:aapl&n=20"
```

What comes back is a `stories` array, newest first:

```json
{
  "stories": [
    {
      "id": "cnbc_1a2b",
      "title": "Headline text",
      "url": "https://www.example.com/story",
      "site": "cnbc.com",
      "time": 1758412800000,
      "tags": ["aapl"],
      "description": "A short summary, when the source supplied one.",
      "similar_stories": ["reuters_3c4d"]
    }
  ]
}
```

That is the whole shape, and it is close enough to the shape of every paid option below to use as
a model: a title, a link, a source domain, a timestamp in epoch milliseconds, and the tickers
somebody's classifier matched the story to. `z:` is the narrow ticker term and `tt:` the broad
one; `s:`, `E:` and `T:` filter by source domain, entity and story type, and `(and ...)`,
`(or ...)` and `(diff ...)` combine them server-side rather than in your own loop. The README
asks for no more than ten requests a minute from one address and says an address is blocked for
thirty seconds if more than five arrive inside any thirty-second window.

What you do not get is what the story said. Note that too, because it is the constraint the rest
of this page is mostly about.

## What the options are

**Free, keyless, US only.** [TickerTick](https://stockmarketstack.com/tools/tickertick) as above. No terms of service, no
SLA and no status page — the entire agreement is three bullets in a README from one maintainer,
which is worth knowing before it sits under something that matters. Bulk history is published as
GitHub releases rather than through the API, and the newest one is dated May 2025.

**A key you may already hold.** [Finnhub](https://stockmarketstack.com/tools/finnhub) puts a year of news on its free key
next to real-time US quotes and fundamentals, so one provider covers the headline and the price.
The free plan runs at 60 calls a minute and returns no OHLC candles at all, and every self-serve
tier is licensed for personal use — redistribution is an Enterprise contract.

**Ticker tagging as the product.** [Marketaux](https://stockmarketstack.com/tools/marketaux) returns each article with an
`entities` array naming the tickers found in it, and each entity carries a `match_score` for how
strongly the piece is about that company and a `sentiment_score` from -1 to +1 averaged over the
`highlights` where it was matched. A comparison piece about two carmakers therefore returns two
scores. Free is 100 requests a day at three articles each; $29 raises that to 2,500 and 20.

**Identifiers rather than tickers.** [finlight](https://stockmarketstack.com/tools/finlight) resolves the companies in an
article to a ticker, an ISIN, an OpenFIGI identifier, a primary listing and every other listing
it knows, each with a confidence score between 0 and 1 — and lets you query on those fields.
That matters the moment your universe is not US-only, and [what CUSIP, ISIN and FIGI actually
are](https://stockmarketstack.com/guides/cusip-isin-figi-identifiers) is the background. Company entities start at $29,
sentiment at $99, and the free tier holds articles back twelve hours.

**A label on every item.** [Stock News API](https://stockmarketstack.com/tools/stocknewsapi) is $19.99 with no free tier
beyond a five-day trial, and every item arrives labelled positive, negative or neutral. It is US
tickers and ETFs only, the response is a headline and a link, and paging past page five is a
Premium feature.

**Wires and filings in one index, pushed.** [NewsFilter.io](https://stockmarketstack.com/tools/newsfilter-io) puts about
twenty-five named sources — the wires, the PR distributors, earnings transcripts, SEC, FDA, USPTO,
CFTC — behind one Lucene-style query, and pushes matches over a websocket instead of making you
poll. The websocket does not appear until the $65 plan, and the card records the SEC filings
source showing nothing newer than 24 April 2026, which is exactly the half a reader comes here
for. Verify it against a live key before paying.

**The wire itself.** [Benzinga News API](https://stockmarketstack.com/tools/benzinga-news-api) licenses the newswire its own
site runs on, over REST, a persistent TCP connection, a WebSocket or a webhook, with history the
product page dates to 2010. Nothing is published — no price, no redistribution terms — and keys
are scoped to the datasets you bought.

**Everything, with no ticker anywhere.** [GDELT](https://stockmarketstack.com/tools/gdelt) is free for any academic,
commercial or governmental use without fee, asking only for a citation and a link, and records
organisations as lowercased free text with no ticker, ISIN or LEI attached.
[NewsAPI.ai](https://stockmarketstack.com/tools/newsapi-ai) has a far larger corpus and disambiguated Wikipedia concepts
instead of symbols. [AskNews](https://stockmarketstack.com/tools/asknews) documents an archive back to 2023 and named-entity
classes rather than securities. All three are wider than the catalogue above and none of them
will tell you which listed company a story is about; that mapping is yours to build and maintain.

## Where this breaks

**What your licence lets you display is the field vendors are strictest about, and it is not the
price.** There are three rungs. *Headline and link* is what most self-serve plans grant:
Marketaux's documentation returns a `snippet` described as a short piece of the article body, and
the vendor's FAQ says it provides only a short snippet along with the link. *Snippet* is the same
rung with a longer excerpt, and it is still not the article. *Full body* is a negotiation: the
AWS listing for Benzinga's free tier sells headline, teaser and a link back, and names fully
embeddable body content as a paid upgrade. Stock News API states it does not index full article
text for copyright compliance and makes compliance with each source's own terms your
responsibility, source by source. finlight's terms of use grant internal business or personal use,
bar reselling access, and say the vendor does not authorise redistribution or republication of
third-party content without a licence from the content owner — with the publisher named and the
article linked wherever you display anything. None of this is the vendor being difficult. They do
not own the text either.

**The same story arrives five times, and deduplication is your bill.** A wire story is reprinted
by every outlet that subscribes to the wire, so a single event produces a cluster rather than an
item. Some vendors hand you the cluster: Marketaux returns a `similar` array of articles very
similar to the main one, TickerTick returns `similar_stories` ids inside the same response, and
NewsAPI.ai clusters articles into events as its central idea. Where that is absent you write it,
and both naive rules are wrong — dedupe on URL and you keep all five, dedupe on exact title and
you drop the genuine follow-up published an hour later under the same headline. Budget for near-
duplicate matching, a decision about which copy is canonical, and the storage to hold the ones
you discarded so a late arrival does not resurrect them.

**The ticker on a story is a guess made by somebody's classifier.** Marketaux ships a
`match_score` precisely because a mention is not a subject. finlight ships a confidence between 0
and 1 on every resolved company. NewsFilter.io describes its NLP as tagging each article with the
symbols of the companies mentioned in it — mentioned, which is a lower bar than about. TickerTick
distinguishes a narrow `z:` from a broad `tt:`, and the card records a 150-story `tt:` response
for one large-cap in which Reddit supplied twelve items. None of these vendors publishes how the
model works or how it is evaluated. Treat the tag as a filter you audit, not a fact, and be
especially careful with tickers that are also words.

**Sentiment is a vendor-defined text feature, and the definitions do not line up.** Marketaux
computes a number from -1 to +1 per entity, as the average over the passages where the entity was
matched. Stock News API uses keyword analysis over the title and sub-title, flags anything not
clearly one or the other as neutral, and derives a window aggregate running from -1.5 to +1.5 out
of the positive and negative counts. finlight returns a label with a separate confidence and
attaches it to the article rather than to each company in it, from the $99 plan up. Three
vendors, three objects, one word. Nothing here is a signal, a recommendation or a forecast, and
this catalogue does not publish what to do with one — what it will say is that a number whose
definition changes with the vendor cannot be compared across them, backfilled consistently, or
pooled with a second source.

**The archive is a tier feature, and usually a shallower one than the marketing implies.**
NewsFilter.io caps history at one month, one year and four years by tier — and Enterprise is four
years too, because the top plan buys requests and articles per request rather than depth. Stock
News API puts historical data in the Premium column, and its own two pages disagree on the start:
the FAQ says article news goes back to February 2019, the documentation's date parameter says
March 2019. finlight publishes one month on its lower two plans and simply nothing for the upper
two. Marketaux publishes no depth at all, anywhere. AskNews documents 2023 and frames it around
reconstructing what was knowable on a date. Ask for the first available date, per source, in
writing, before the backfill is a dependency.

## If you outgrow this

**When you need the body rather than the headline**, you are buying a licence and not an API.
That is [Benzinga News API](https://stockmarketstack.com/tools/benzinga-news-api) and the contract behind it, where display
rights are the whole negotiation and nothing about them is published.

**When you need point-in-time analytics rather than text**,
[RavenPack News Analytics](https://stockmarketstack.com/tools/ravenpack-news-analytics) sells entity-level sentiment,
relevance and event tags over tens of thousands of sources as a contracted dataset, with no
published price and no public start date — get that date, per source, in the order form.
[Bigdata.com](https://stockmarketstack.com/tools/bigdata-com) is the same vendor's self-serve platform, billed per token,
and its grant covers use at inference time only: no storing, caching or archiving the underlying
content. When the quotes start arriving, [what alternative data actually
costs](https://stockmarketstack.com/guides/what-alternative-data-costs) is the page to read first.

**When the consumer is a model rather than a screen**, the shape changes from a feed to
retrieval. [AskNews](https://stockmarketstack.com/tools/asknews) returns prompt-ready context and marks content usage rights
limited below Enterprise; [NewsAPI.ai](https://stockmarketstack.com/tools/newsapi-ai) and [finlight](https://stockmarketstack.com/tools/finlight) both
publish MCP servers. [What MCP actually changes about financial
data](https://stockmarketstack.com/guides/mcp-and-financial-data) covers what that buys and what it does not.

**When the budget is zero and staying there**, [GDELT](https://stockmarketstack.com/tools/gdelt) plus your own
ticker-mapping table is the honest version, and
[what financial data is genuinely free](https://stockmarketstack.com/guides/free-financial-data-sources) is the rest of that
list.

News is one endpoint on a lot of general providers, so if you also need prices the question is
usually which [market data API](https://stockmarketstack.com/categories/market-data-apis) carries both — and
[how to stream real-time quotes](https://stockmarketstack.com/how-to/stream-real-time-quotes) is the other half of the same
build.

## FAQ

### Which news API tags tickers and is free?

TickerTick. There is no key and no account, and every story comes back with the tickers the service matched it to. The limits are the ones you would expect for nothing — US listings only, ten requests a minute from one address, and a fixed number of stories per request rather than a fixed window, so a heavily covered name gives you hours and a quiet one gives you months. Finnhub is the other free answer, and its news sits beside quotes and fundamentals on the same key.

### Can I display the headlines I pull from a news API?

Sometimes the headline, rarely the body, and never without reading the contract. Marketaux states plainly that it provides only a short snippet along with the link. Stock News API says it does not index full article text for copyright compliance, and makes each source's own terms your responsibility. finlight's terms of use license the API for your internal business or personal use and say finlight does not authorise redistribution or republication of third-party content unless you hold a licence from the content owner, with the publisher named and the source article linked wherever you do display it. Settle this before you design the screen.

### Is a news sentiment score comparable between vendors?

No, because the word names three different objects. Marketaux computes a score from -1 to +1 per entity, averaged over the passages where that entity was matched. Stock News API applies keyword analysis to the title and sub-title, labels anything unclear neutral, and derives an aggregate from -1.5 to +1.5 out of the counts. finlight returns a label with a separate confidence, attached to the article rather than to each company in it. None of them is a signal or a recommendation, and swapping vendors changes what the number means rather than how accurate it is.

### How far back does a news archive go?

Further on paper than on the tier you are buying. NewsFilter.io sells one month on the free plan, one year at $35 and four years at $65 — and four years on Enterprise too, because more money buys requests rather than history. Stock News API puts historical data in the Premium column, with the FAQ dating article news to February 2019 and the documentation's date parameter to March 2019. finlight publishes one month on its lower two plans and nothing at all for the upper two. Marketaux publishes no depth anywhere. Ask for the exact first date in writing before you plan a backfill.

## Sources

1. [News API documentation](https://www.marketaux.com/documentation) — Marketaux, read 2026-09-21
2. [Frequently asked questions](https://stocknewsapi.com/faq) — Stock News API, read 2026-09-21
3. [Terms of Use](https://finlight.me/terms-of-use) — finlight, read 2026-09-21
4. [TickerTick API](https://github.com/hczhu/TickerTick-API) — TickerTick, read 2026-09-21
5. [News endpoints](https://docs.asknews.app/en/news) — AskNews, read 2026-09-21
6. [About the GDELT Project](https://www.gdeltproject.org/about.html) — The GDELT Project, read 2026-09-21

*Last updated 2026-09-21. A reference page, corrected in place — not a dated post.*
