CEO APIceo.ca ↗
Access CEO.ca discussion threads, trending stocks, volume anomalies, and news articles via a structured REST API. 7 endpoints covering posts, quotes, and channels.
What is the CEO API?
The CEO.ca API exposes 7 endpoints covering discussion threads, trending stocks, volume anomalies, and newsfeed articles from the CEO.ca investor community. The get_stock_snapshot endpoint alone returns up to five data types in a single call — trading volume, discussion posts, news articles, timestamps, and channel metadata — making it straightforward to build dashboards or alerts without chaining multiple requests.
curl -X GET 'https://api.parse.bot/scraper/21ba56c5-84da-4f86-a937-a098c1c6868e/get_popular_posts?limit=10' \ -H 'X-API-Key: $PARSE_API_KEY'
Fetch the most popular posts across all channels on CEO.ca. Returns posts ordered by engagement score descending. Supports time-based pagination via the until parameter — pass the timestamp of the last post to load older posts.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of posts to fetch. |
| until | integer | Timestamp (milliseconds since epoch) to paginate from. Posts older than this timestamp will be returned. |
{
"type": "object",
"fields": {
"posts": "array of post objects containing spiel (content), name (author), timestamp, votes, score, parent_channel, spiel_id, and engagement metadata"
},
"sample": {
"data": {
"posts": [
{
"name": "@knowforever77",
"score": 6,
"spiel": "3600 is more likely than not",
"votes": 5,
"channel": "popular",
"featured": false,
"spiel_id": "4f23ec318fb3",
"verified": false,
"timestamp": 1781047915047,
"boost_count": 0,
"parent_channel": "sum"
}
]
},
"status": "success"
}
}About the CEO API
Discussion Threads and Popular Posts
The get_discussion_thread endpoint accepts a channel parameter (a stock ticker like eqx, or a topic like gold or boardroom) and returns posts in reverse chronological order. Each post object includes spiel (the post body), name (author handle), timestamp, votes, score, spiel_id, and engagement metadata. The get_popular_posts endpoint works similarly but pulls the highest-engagement posts across all channels, ordered by score descending. Both endpoints support time-based pagination using the until parameter — pass the millisecond epoch timestamp of the last post received to retrieve older results.
Trending Stocks and Volume Signals
The get_trending_stocks endpoint returns a paginated list of trending stock channels alongside quote price data, company_details, and channel category groupings (commodities, crypto, etc.). The get_volume_anomalies endpoint sorts all tracked companies by their volume-to-average ratio, returning fields like volume, average_volume, volume_ratio, last_price, exchange, and quote_timestamp — useful for screening unusual intraday activity. The get_stock_volume endpoint targets a single channel and returns just company_volume and average_volume when a quick point check is all that's needed. Note that non-company topic channels (such as gold or boardroom) do not carry quote data and will return an upstream_error for volume endpoints.
News Articles and the Snapshot Endpoint
The get_stock_news endpoint retrieves CEO.ca newsfeed articles for a specific channel. Each article object includes article_id, title, published_at, source, url, summary, tags, and thumbnail. The news_lookback_days parameter (1–30) controls how far back to search, and news_window_complete indicates whether the full requested window is covered by available data. The get_stock_snapshot endpoint combines volume, comments, and news in one call, with include_news and include_comments boolean flags to selectively skip sections you don't need — useful when minimizing latency.
The CEO API is a managed, monitored endpoint for ceo.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ceo.ca changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official ceo.ca API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Screen for unusual trading activity by sorting stocks by
volume_ratiousingget_volume_anomalies - Build a real-time discussion feed for a specific ticker by paginating
get_discussion_threadwith theuntilparameter - Track sentiment shifts by monitoring
votesandscorefields on posts returned byget_popular_posts - Aggregate company news headlines and publication timestamps from
get_stock_newsfor a watchlist of tickers - Display a combined stock dashboard card using
get_stock_snapshotfor volume, recent comments, and news in one request - Identify which channel categories (commodities, crypto) are dominating trending activity via
get_trending_stockscategory groups - Alert on posts mentioning specific tickers by filtering
parent_channelin theget_popular_postsresponse
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does CEO.ca have an official public developer API?+
How does pagination work across the discussion and popular post endpoints?+
get_discussion_thread and get_popular_posts use time-based pagination via the until parameter, which accepts a millisecond epoch timestamp. Pass the timestamp value of the last post in your current response to retrieve the next batch of older posts. Standard page-number pagination is not supported on these endpoints.Why do volume endpoints return an error for channels like 'gold' or 'boardroom'?+
get_stock_volume and the volume fields in get_stock_snapshot rely on quote data attached to company-linked ticker channels. Topic channels (such as gold, silver, index, or boardroom) are not associated with a publicly traded security, so no quote data exists for them. These calls will return an upstream_error for those channel names. Discussion posts and news for topic channels still work normally via get_discussion_thread and get_stock_news.Can I retrieve historical price data or candlestick charts for a stock through this API?+
last_price field available in get_volume_anomalies and get_trending_stocks quote objects — not historical OHLCV time series. You can fork this API on Parse and revise it to add an endpoint targeting historical price data if that capability becomes needed.Is there a way to filter discussion posts by a specific author or post type?+
get_discussion_thread and get_popular_posts endpoints return posts for a channel or site-wide, and filtering by name (author) or other fields must be done client-side on the returned array. You can fork this API on Parse and revise it to add server-side author or keyword filtering as a parameter.