finlight Logo

Economic News API

Fed, CPI, inflation, and rate-decision headlines from Reuters, AP, CNBC, and 100+ other sources, filtered by one query and delivered to your system over REST, WebSocket, or webhooks.

Product demo payload

What one macro article carries

Fetched live with the query this page is built around:

query: "federal reserve" OR FOMC OR CPI OR inflation
categories: economy
Single article response
{
  "title": "America In Focus: US employers unexpectedly cut 23,000 jobs; mortgage rates rise again",
  "link": "https://apnews.com/article/inflation-economy-trump-iran-unemployment-7e17e0d7b7baf952878274ced568a2f8",
  "source": "apnews.com",
  "publishDate": "2026-08-08T14:10:06.000Z",
  "language": "en",
  "sentiment": "negative",
  "confidence": 0.7371397614479065,
  "categories": ["business", "economy", "markets"],
  "countries": ["US"],
  "summary": "U.S. employers unexpectedly cut 23,000 jobs last month, and Labor Department revisions shaved 103,000 jobs off payrolls in May and June.",
  "companies": []
}

Payload abbreviated: the images array is omitted. companies is empty on this article because a jobs report names no listed company; when a macro article does, each entity carries ticker, exchange (MIC code), ISIN, sector, industry, and cross-listings. A Benzinga markets-week piece returned by the same live query was tagged PLTR, AMAT, TTD, ZBRA, COHR, and DVA with all of those fields. Full field reference in the docs.

Macro alert

The alert macro desks keep building by hand

Macro alerting is the pattern finlight's paying users build again and again, independently and near-identically: an OR-chain over Fed, FOMC, CPI, PPI, payrolls, GDP, inflation, and tariff terms, filtered to economy news. Teams converge on the same criteria without ever seeing each other's queries. This page gives that pattern a starting point instead of a blank query box:

JSON
{
  "name": "Macro news alert",
  "query": "\"federal reserve\" OR FOMC OR CPI OR inflation",
  "categories": ["economy"],
  "url": "https://your-endpoint.example.com/macro-news"
}

When an article matches, this POST arrives at your endpoint. Headers and body shape below are from a real captured delivery:

POST /macro-news HTTP/1.1
Content-Type: application/json
X-Webhook-Signature: sha256=01c4d3b9...913527fd
X-Webhook-Timestamp: 2026-08-08T20:40:58.736Z
{
  "link": "https://apnews.com/article/inflation-economy-trump-iran-unemployment-7e17e0d7b7baf952878274ced568a2f8",
  "source": "apnews.com",
  "title": "America In Focus: US employers unexpectedly cut 23,000 jobs; mortgage rates rise again",
  "images": ["..."],
  "summary": "U.S. employers unexpectedly cut 23,000 jobs last month, and Labor Department revisions shaved 103,000 jobs off payrolls in May and June.",
  "language": "en",
  "publishDate": "2026-08-08T14:10:06.000Z",
  "createdAt": "2026-08-08T14:11:52.000Z",
  "categories": ["business", "economy", "markets"],
  "sentiment": "negative",
  "confidence": 0.7371397614479065,
  "countries": ["US"],
  "content": "...",
  "isUpdate": false,
  "revisedDate": "2026-08-08T14:10:06.000Z"
}

Payload abbreviated: images and content are shortened. Every delivery is signed with HMAC-SHA256 (X-Webhook-Signature) and carries a delivery timestamp; failed deliveries retry automatically with exponential backoff. Webhooks are available on plans that include them; see pricing.

One query, three delivery paths.

The same query drives all three: the REST endpoint for search and backfill, the WebSocket stream for a persistent connection, and webhooks for push into whatever you already run. Define the financial news feed once, consume it wherever your system needs it. If the consumer is a trading system reacting to macro headlines, the Trading Systems page covers the dual-stream setup built for that.

Copy-paste runnable code

The macro query, runnable

The same OR-chain against the REST API. Only the API key is missing.

TypeScript
import { FinlightApi } from 'finlight-client'

const api = new FinlightApi({ apiKey: 'YOUR_API_KEY' })

const res = await api.articles.fetchArticles({
  query: '"federal reserve" OR FOMC OR CPI OR inflation',
  categories: ['economy'],
  includeEntities: true,
  pageSize: 20,
})

for (const a of res.articles) {
  console.log(a.publishDate, a.sentiment, a.confidence, a.title)
}
Python
from finlight_client import FinlightApi
from finlight_client.models import ApiConfig, GetArticlesParams

api = FinlightApi(config=ApiConfig(api_key="YOUR_API_KEY"))

res = api.articles.fetch_articles(
    params=GetArticlesParams(
        query='"federal reserve" OR FOMC OR CPI OR inflation',
        categories=["economy"],
        include_entities=True,
        page_size=20,
    )
)

for a in res["articles"]:
    print(a["publishDate"], a["sentiment"], a["confidence"], a["title"])

Install with npm install finlight-client or pip install finlight-client. The query language supports boolean logic, exact phrases, and field filters, so the chain extends the way those teams extend theirs: add ECB, BOJ, payrolls, GDP, or tariff terms as your desk needs them. For criteria that lean toward tariffs and sanctions, see the Geopolitical News API. Full query reference in the docs, product overview at News API.

What finlight does not do

finlight is not an economic calendar: it does not provide indicator values, consensus or forecast figures, or release schedules. The usual DIY stack pairs a free release-schedule site (Forex Factory, Trading Economics) with a generic news API or hand-rolled RSS scraping, then stitches macro alerts together from both. finlight replaces the second half of that stack: watching Reuters, AP, CNBC, Yahoo Finance, the Guardian, and 100+ other sources for Fed, CPI, inflation, and rate-decision headlines, filtering them by category and keyword, and wiring the result into an alert. If indicator values and release timing are what you need, use a data product for that half. If the news half is the part you keep rebuilding, that is the part this API replaces.

FAQ

Economic News API: Frequently Asked Questions

Everything developers ask before wiring a macro news alert.

There is a free tier for testing, and paid plans start at $29/mo. Plans differ in request volume, real-time access, webhooks, and historical data. Current prices and limits are on the pricing page.

Set the alert before the next release

The next CPI print, jobs report, or rate decision is already scheduled; your alert should exist before it lands. Get a key, create the macro alert above, and judge the feed on a live release instead of a demo.