Updated September 27, 2026
News API
Use Gloomberb's standalone market-news API in your own financial product.
Separate product
The News API is Gloomberb's market news for your own product, backend, model pipeline, or dashboard. It is not needed to use the app and is billed separately from Gloom Cloud.
Access levels
| Plan | Price | News |
|---|---|---|
| Free key | Free | Delayed 12 hours. |
| Unlimited | $99/mo or $999/yr | Real-time. |
Both get the same v1 response, including ticker links and source clusters, and neither is metered. Create or rotate a key from News API account.
Authentication
Every /v1/news request requires a News API key. Use either header style:
Authorization: Bearer gloom_news_...
x-api-key: gloom_news_...Check access state with:
curl -s 'https://api.gloom.sh/v1/me' \
-H 'Authorization: Bearer gloom_news_...'/v1/me returns the plan, whether the key has full access, billing interval/status, and dataDelaySeconds.
The market data endpoints under /v1 (quotes, data, history) take Gloom keys instead; see the REST API.
List news
curl -s 'https://api.gloom.sh/v1/news?feed=top&limit=25' \
-H 'Authorization: Bearer gloom_news_...'| Parameter | Values or example | Notes |
|---|---|---|
feed | latest, top, breaking, ticker, sector, topic | Defaults to the service default when omitted. ticker is newest first by last published time. |
limit | 25 | Clamped between 1 and 100. |
cursor | value from nextCursor | Use for pagination. |
tickers | AAPL, AAPL:XNAS, 7203:XTKS | Comma-separated. Required for feed=ticker. Use exchange-qualified symbols for ambiguous tickers. |
tickerTier | primary, related, any | Defaults depend on feed. |
tickerRelations | direct,parent,brand,counterparty,regulatory,competitor | Comma-separated relation filters. |
topics / categories | earnings,mna | Category/topic filters. |
sectors | information_technology | Sector filters from /v1/news/facets. |
sources | source keys | Include only specific sources. |
excludeSources | source keys | Exclude sources. |
sentiment | positive, neutral, negative | Story sentiment filter. |
minImportance | 80 | Minimum importance score. |
minUrgency | 80 | Minimum urgency score. |
breaking | true or false | Filter breaking state. |
since / until | ISO date/time | Filters by last seen time. |
Feed examples
curl -s 'https://api.gloom.sh/v1/news?feed=ticker&tickers=NVDA:XNAS&tickerTier=primary' \
-H 'x-api-key: gloom_news_...'Story detail
curl -s 'https://api.gloom.sh/v1/news/{storyId}' \
-H 'Authorization: Bearer gloom_news_...'Detail returns the story plus its source items. Top and breaking lists include source items inline.
Metadata
curl -s 'https://api.gloom.sh/v1/news/sources' \
-H 'Authorization: Bearer gloom_news_...'
curl -s 'https://api.gloom.sh/v1/news/facets' \
-H 'Authorization: Bearer gloom_news_...'Use these to populate filters in your app.
Response shape
{
"items": [
{
"id": "story-id",
"headline": "Company reports earnings beat",
"summary": "...",
"topic": "earnings",
"topics": ["earnings"],
"sentiment": "positive",
"sectors": ["information_technology"],
"scope": "single_ticker",
"firstPublishedAt": "2026-05-07T11:59:00.000Z",
"lastPublishedAt": "2026-05-07T12:00:00.000Z",
"firstSeenAt": "2026-05-07T11:59:08.000Z",
"lastSeenAt": "2026-05-07T12:00:00.000Z",
"primaryUrl": "https://example.com/story",
"primarySource": "example-wire",
"scores": {
"importance": 82,
"urgency": 76,
"marketImpact": 74,
"novelty": 88,
"confidence": 91
},
"flags": {
"breaking": false,
"developing": false,
"provisional": false,
"stale": false
},
"breaking": {
"active": false,
"provisional": false,
"kind": null,
"reason": null,
"confidence": null,
"firstDetectedAt": null,
"lastMeaningfulAt": null,
"confirmedAt": null,
"expiresAt": null
},
"variantCount": 3,
"sourceCount": 2,
"sources": ["example-wire", "example-filings"],
"tickerLinks": [
{
"symbol": "AAPL",
"exchange": "XNAS",
"canonicalTicker": "AAPL:XNAS",
"relationType": "direct",
"displayTier": "primary",
"confidence": 0.96,
"relevanceScore": 92,
"impactScore": 74,
"sentiment": "positive"
}
],
"items": [
{
"id": "item-id",
"sourceKey": "example-wire",
"sourceName": "Example Wire",
"title": "Company reports earnings beat",
"summary": "...",
"url": "https://example.com/story",
"publishedAt": "2026-05-07T12:00:00.000Z",
"hasArticleText": true
}
]
}
],
"nextCursor": "..."
}Ticker errors
Ticker problems return 400 with a reasonCode:
reasonCode | Fix |
|---|---|
TICKERS_REQUIRED | feed=ticker needs tickers. The parameter is plural: tickers=AAPL. |
AMBIGUOUS_TICKER | Send an exchange-qualified symbol from candidates, such as AAPL:XNAS, or a provider suffix where supported. |