Endpoints
Read what bullpen.news publishes: stories, X posts, videos and investor letters about listed companies, and its daily recap. Every endpoint is GET, and limit goes up to 100. New fields and enum values may appear; ignore the ones you don't use.
Search companies and letters
GET /v1/search
Find companies by ticker or name, and the investor letters that match the same query. Use it when you aren't sure of a company's ticker. Any other parameter is refused.
Front page
GET /v1/latest
What bullpen.news shows on its front page now, or on a past day: stories and videos, X posts, and investor letters, each list in the page's order. sector narrows the stories and X posts by their topic tags; it doesn't narrow letters. mincap and maxcap narrow all three by the market cap of the companies they're about. Any other parameter is refused.
Company
GET /v1/companies/{ticker}
Everything bullpen.news has on one company, by its ticker: its sector and market cap, the stories and X posts that mention it, and the investor letters that discuss it. days narrows the stories and X posts to the last N days, today included; it doesn't narrow letters. Any other parameter is refused.
Investor letters
GET /v1/letters
Investor letters (fund and partnership letters) bullpen.news has read, newest first: all of them, only those that discuss a ticker, or only one firm's. Any other parameter is refused.
Daily recap
GET /v1/recap
The daily recap email for a day, in full: every story, X post, video and investor letter it listed, by section. Without day, the newest recap, ordinarily yesterday's. Any other parameter is refused.
Result detail
GET /v1/items/{id}
Full detail for one result, by the id another endpoint returned: story:, x:, video: or letter:. A letter names every company it mentions, where lists name only the ones it is mainly about. Any other parameter is refused.
Firms
GET /v1/firms
Every firm with an investor letter on bullpen.news, by name, for the letters endpoint's firm. It takes no parameters, and refuses any.
Feed
GET /v1/feed
What went live on bullpen.news, oldest first: stories, X posts, videos and investor letters in one list. Poll it with the last nextCursor. It runs two minutes behind. Any other parameter is refused.
Story
| Field | Type | Description |
|---|---|---|
id | string | Its id, such as story:123. |
kind | story | |
title | string | |
summary | string or null | Our summary. Null until we have written one. |
source | string | The publication. |
author | string | The writer, when the publication names one. |
published | string (date-time) | When it was published, in UTC. |
wentLive | string (date-time) or null | When it went live on bullpen.news, in UTC. |
url | string | The story at its publisher. |
companies | array of string | The companies it is about, by ticker. tickers says what each one is. |
XPost
| Field | Type | Description |
|---|---|---|
id | string | Its id, such as x:456. |
kind | x_post | |
postId | string | The post's id on X. |
url | string | The post on X. |
published | string (date-time) | When it was published, in UTC. |
wentLive | string (date-time) or null | When it went live on bullpen.news, in UTC. |
companies | array of string | The companies it is about, by ticker. tickers says what each one is. |
Video
| Field | Type | Description |
|---|---|---|
id | string | Its id, such as video:789. |
kind | video | |
url | string | The video on YouTube. |
published | string (date-time) | When it was published, in UTC. |
wentLive | string (date-time) or null | When it went live on bullpen.news, in UTC. |
companies | array of string | The companies it is about, by ticker. tickers says what each one is. |
Letter
| Field | Type | Description |
|---|---|---|
id | string | Its id, such as letter:532. |
kind | letter | |
title | string | |
firm | string | The firm that wrote it. |
period | string or null | The period it covers, such as Q2 2026. |
published | string (date-time) | When it was published, in UTC. |
wentLive | string (date-time) or null | When it went live on bullpen.news, in UTC. |
summary | string or null | Our summary. Null until we have written one. |
url | string | The letter itself. |
companies | array of string | The companies it is about, by ticker. tickers says what each one is. |
TickerEntry
| Field | Type | Description |
|---|---|---|
name | string | |
sector | string or null | Its GICS sector, such as Technology. Null when we don't know it. |
marketCapUsd | integer or null | Its market cap in whole US dollars. Null when we don't know it. |
bullpenUrl | string | Its page on bullpen.news. |