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.

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 short way

TickerTick hands you ticker-tagged US stock headlines with no key and no account:

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

What comes back is a stories array, newest first:

{
  "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 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 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 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 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 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 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 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 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 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 has a far larger corpus and disambiguated Wikipedia concepts instead of symbols. 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 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 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 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 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 returns prompt-ready context and marks content usage rights limited below Enterprise; NewsAPI.ai and finlight both publish MCP servers. What MCP actually changes about financial data covers what that buys and what it does not.

When the budget is zero and staying there, GDELT plus your own ticker-mapping table is the honest version, and what financial data is genuinely free 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 carries both — and how to stream real-time quotes is the other half of the same build.

The tools that do this

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

  1. TickerTick

    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.

    Free US stock news API with no key and a small and/or/diff query language.

    FreeFree tier

  2. Marketaux

    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.

    Global financial news over REST, tagged to entities and scored for sentiment per entity.

    $29/moFree tier

  3. finlight

    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.

    Financial news API resolving companies to tickers, ISINs and FIGIs, plus a stream.

    $29/moFree tier

  4. Stock News API

    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.

    US stock news with a keyword sentiment label — headline and link, never the article text.

    $19.99/mo

  5. NewsFilter.io

    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.

    Ticker-tagged news API with a websocket push stream and a stalled SEC filings source.

    $35/moFree tier

  6. Benzinga News API

    The licensed wire itself, over REST, TCP, WebSocket or webhook. No published price, and what you may display is the thing you are negotiating.

    Licensed US stock newswire over REST, TCP, WebSocket or webhook, priced by contract.

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 Marketaux, read
  2. Frequently asked questions Stock News API, read
  3. Terms of Use finlight, read
  4. TickerTick API TickerTick, read
  5. News endpoints AskNews, read
  6. About the GDELT Project The GDELT Project, read

The catalogue next door

This page names a handful of cards. The rest of them are in Stock Market Data APIs, each filled in against the same schema, with the fields to narrow it yourself.

Last updated . Corrected in place: this is a reference page, not a dated post.