What the stock news API returns
| Field | Meaning |
|---|---|
title | Headline |
summary | A summary the source supplies and licenses, or a paywalled article's teaser; never generated |
content | Licensed article text, when available |
is_paywalled | True when the source delivered a subscription notice or teaser instead of the article |
url, publisher | Link to the article and the outlet's name and domain |
published_at | Publication time in UTC |
updated_at, authors | Not reported by the current sources: updated_at is always null and authors always empty |
language | BCP 47 language detected from the headline and text; und when undetermined |
topics | Normalized topics |
instruments | Every covered listing the article is tagged to; empty for general market news and for companies listed only elsewhere |
Tags use stable listing IDs, so an article stays attached to the right company after a ticker change, and symbol_at resolves a ticker as it was on a past date. Each article has a stable id; store it to deduplicate when you poll overlapping windows.
An article that mentions five companies appears once, tagged to all five, so a query for any of them finds it. Without a symbol filter, the feed also includes general market news that is not tied to a ticker.
Full text, summaries and paywalls
content is the licensed article text. It is null when the source agreement does not cover the text, when the source delivered a paywall notice or teaser instead (is_paywalled is then true and the teaser sits in summary), and for articles published more than 90 days ago, except each instrument's ten newest. Headlines, links and tags stay available beyond 90 days. OHLC does not write its own summaries; url always links to the publisher.
Filtering and search
# Everything tagged to NVIDIA in September 2026
GET /v1/news?symbols=XNAS:NVDA&from=2026-09-01&to=2026-09-30
# Headlines and summaries matching every word
GET /v1/news?q=dividend%20increase&from=2026-09-01
# English articles on one topic, newest first
GET /v1/news?topics=EARNINGS&languages=enResults default to newest first. from and to are UTC dates on published_at, and meta.next_cursor pages through the rest. Search matches word prefixes in the title and summary only, so a word that appears only in the article body will not match; there is no boolean query language.
languages matches the language field exactly. The language is detected from the headline and text, and over 99% of detected articles are English. Articles published before early July 2026 are und, because their text was no longer held when detection began, as are very short items and languages outside English, German, French, Spanish, Italian, Portuguese and Dutch. To keep those older articles in an English query, ask for languages=en,und.
Use cases
- A news panel on a ticker page or watchlist. Showing articles to your own users is display, which needs Commercial.
- Keyword alerts on a portfolio: poll with
qand your symbols. - Event studies that line up headlines with daily or intraday bars.
- Context for AI assistants: the MCP server exposes the same news to Claude.
History and point in time
On October 3, 2026, Apple's tagged headlines went back to May 2012, with article text kept as described above. as_of limits results to articles OHLC had recorded by the end of that UTC day; knowledge history starts when OHLC began recording news in late September 2026.
Each article carries a sentiment object: a score from -1 (negative) to 1 (positive) and a label giving its sign, unknown when the source gives no score. The score is a word-list tone measure summed over the whole text, so full-length articles sit close to 1 or -1 and most are positive; use it to rank articles or to pick out negative coverage, not as a confidence value. /v1/news/sentiment averages those scores per ticker: one row per UTC day (interval=1d) or Monday-starting UTC week (interval=1w) with the mean score and the number of scored articles behind it, published the day after a day or week ends and back to the start of the stored news. Articles without a score are left out, and a ticker with no scored article in a bucket has no row rather than a neutral one.
Plans and credits
News is included on Pro, Commercial and Scale, at 25 credits per request. Pro covers internal use; Commercial adds the rights to display news in your own product. See pricing.
Latest news mentioning Microsoft
curl 'https://api.ohlc.io/v1/news?symbols=XNAS:MSFT&from=2026-10-01&limit=1' \
-H "Authorization: Bearer $OHLC_API_KEY"{
"data": [
{
"id": "record_e2dc430b5930001514f7",
"title": "Example headline: Microsoft expands cloud partnership",
"summary": null,
"content": "Licensed article text appears here when the source agreement covers it ...",
"is_paywalled": false,
"url": "https://news.example.com/articles/microsoft-cloud-partnership",
"publisher": { "name": "Example News", "domain": "news.example.com" },
"published_at": "2026-10-03T00:36:04Z",
"updated_at": null,
"language": "en",
"authors": [],
"topics": ["CLOUD", "PARTNERSHIPS"],
"instruments": [
{ "instrument_id": "01M35XSMPYAGP0QPTZTCWKXET7", "symbol": "XNAS:MSFT", "name": "Microsoft Corporation" }
],
"sentiment": { "score": "0.52", "label": "positive" }
}
],
"meta": {
"timezone": "UTC",
"as_of": "2026-10-03T15:04:35Z",
"next_cursor": "ASqwsOc5eLgL...",
"coverage": { "status": "partial", "reason": "Coverage is partial for the entitled query scope." }
}
}Prices delayed 15 minutes · Illustrative sample data