Stories
Retrieve a story
GET
One story with its member articles. A closed story answers 404.
apiKeyheader
AuthorizationBearer <token>id*stringst_ and 26 letters and digits, sortable by time.
The story
application/json- response
A group of articles about the same event, for one ticker.
id*stringStays the same as the story grows.
version*integerGoes up by one on every public change. Keep the highest version you have seen.
Range
1 <= valueticker*stringTicker symbol in capitals, such as ACME or BRK.B.
headline*stringOne line saying what happened.
summary*|A few sentences on the story. null until it is written.
strong*booleanWhether the story is likely to move the stock.
strong_reason*|Why the story is strong, or why it is not. null if it has not been assessed.
article_count*integerRange
1 <= valuearticles*array<>Its articles, oldest first.
Items
1 <= itemsrepresentative_article_id*stringThe article that best represents the story.
first_article_at*stringWhen its first article was published.
Format
date-timelast_article_at*stringWhen its latest article was published.
Format
date-timeupdated_at*stringWhen it last changed.
Format
date-timecurl -X GET 'https://api.newsfilter.dev/v1/stories/st_01JC4ZQ8M6W7Y3T2K9P5R1N0BX'Example Response
{ "id": "st_01JC4ZQ8M6W7Y3T2K9P5R1N0BX", "version": 1, "ticker": "ACME", "headline": "Acme raises full-year guidance", "summary": "Acme raised its full-year revenue guidance to $4.2 billion, citing stronger industrial orders.", "strong": true, "strong_reason": "A guidance change from the company.", "article_count": 1, "articles": [ { "id": "art_01JC4ZQ8M6W7Y3T2K9P5R1N0BX", "title": "Acme raises full-year revenue guidance", "outlet": "Example Wire", "url": "https://news.example.com/acme-raises-guidance", "published_at": "2026-11-03T14:05:00Z" } ], "representative_article_id": "art_01JC4ZQ8M6W7Y3T2K9P5R1N0BX", "first_article_at": "2026-11-03T14:05:00Z", "last_article_at": "2026-11-03T14:05:00Z", "updated_at": "2026-11-03T14:05:00Z"}