Introduction
Company news for the tickers you follow, filtered, grouped into stories, the strong ones flagged.
newsfilter watches financial news for the tickers your app follows. Every article is read and judged; the ones worth reading are grouped into stories, and stories likely to move the stock are flagged strong.
Quickstart
Subscribe to your tickers, read stories and receive your first webhook.
Stories and versions
How stories grow, merge and close, and what version is for.
Receiving webhooks
Signatures, retries, duplicates and ordering.
Keeping a copy in sync
A copy that stays correct under duplicates, reordering and concurrent handlers.
How it works
Poll
Your app subscribes to its tickers. newsfilter polls the news provider for them around the clock.
Judge
Each article is fetched and read by the model, which decides whether it reports something new about the company. Market wraps, price-move pieces, previews, listicles, holdings filings and old news are dropped; an opinion piece stays only if it reports a new fact.
Group
Articles about the same event become one story. A story keeps its id as it grows, merges with another or closes.
Deliver
Read the three outputs over HTTP, or receive webhooks as they change. A catch-up endpoint replays everything you missed, in the order it was published.
The three outputs
| Output | Route | What it holds |
|---|---|---|
| Filtered articles | GET /v1/articles | Articles that passed the filter, newest first. status=all returns every ingested article with its pipeline status. |
| Stories | GET /v1/stories | Groups of articles about one event, newest activity first. |
| Strong feed | GET /v1/strong | Stories flagged strong, with the reason. |