Trend signals
Three signal types — velocity surges, keyword spikes, and rising posts — computed over a rolling 24-hour window in 5-minute buckets.
A subreddit must be tracked first via POST /v1/subreddits/{name}/track. Until enough history accumulates (typically the first 4 hours), signal endpoints return 425 INSUFFICIENT_DATA.
/v1/subreddits/{name}/trends/velocityPro+Velocity
Posts-per-hour and comments-per-hour for the current hour against the rolling-median baseline. Modified z-score (MAD-based) on top, with a cold-start guard that withholds the `is_surging` boolean until baseline is meaningful.
Parameters
name string·path·required | Subreddit name. Must be tracked. example: python |
Request
curl -X GET https://api.redditintel.dev/v1/subreddits/{name}/trends/velocity \
-H "Authorization: Bearer <YOUR_API_KEY>"Response · 425
X-RateLimit-Limit: 100000{ "error": { "code": "INSUFFICIENT_DATA", "message": "no posts or comments recorded for subreddit 'python' in the last 24h; POST /v1/subreddits/python/track to seed the window", "request_id": "<redacted>", "details": { "subreddit": "python", "track_url": "/v1/subreddits/python/track", "track_method": "POST", "hint": "Call the track endpoint to add this sub to the poller and seed the rolling-window state via /new.json backfill. Most trend signals become available within seconds of tracking." } } }
/v1/subreddits/{name}/trends/keywordsPro+Keyword surges
Tokens whose frequency in the recent window exceeds their baseline at a statistically significant level. Benjamini–Hochberg FDR adjustment applied to the per-token p-values.
Parameters
name string·path·required | Tracked subreddit name. example: python |
significant_only boolean·query | When `true`, return only tokens that pass the FDR-adjusted threshold. Default `false`. example: true |
top_k integer·query | Maximum tokens to return, ranked by z-score. 1-100, default 25. example: 25 |
Request
curl -X GET https://api.redditintel.dev/v1/subreddits/{name}/trends/keywords \
-H "Authorization: Bearer <YOUR_API_KEY>"Response · 425
X-RateLimit-Limit: 100000{ "error": { "code": "INSUFFICIENT_DATA", "message": "no token observations recorded for subreddit 'python' in the last 24h; POST /v1/subreddits/python/track to seed the window", "request_id": "<redacted>", "details": { "subreddit": "python", "track_url": "/v1/subreddits/python/track", "track_method": "POST", "hint": "Call the track endpoint to add this sub to the poller and seed the rolling-window state via /new.json backfill. Most trend signals become available within seconds of tracking." } } }
/v1/subreddits/{name}/trends/risingPro+Rising posts
Posts whose score and comment-velocity in their first hours rank in the top z-score band — the rising-curve signal that Reddit's own ranking is about to amplify.
Parameters
name string·path·required | Tracked subreddit name. example: python |
top_k integer·query | Maximum posts. 1-100, default 25. example: 25 |
Request
curl -X GET https://api.redditintel.dev/v1/subreddits/{name}/trends/rising \
-H "Authorization: Bearer <YOUR_API_KEY>"Response · 425
X-RateLimit-Limit: 100000{ "error": { "code": "INSUFFICIENT_DATA", "message": "no posts tracked in the rising window for subreddit 'python'; POST /v1/subreddits/python/track to seed the window", "request_id": "<redacted>", "details": { "subreddit": "python", "track_url": "/v1/subreddits/python/track", "track_method": "POST", "hint": "Call the track endpoint to add this sub to the poller and seed the rolling-window state via /new.json backfill. Most trend signals become available within seconds of tracking." } } }
/v1/subreddits/{name}/trends/historyBusiness+Trend snapshots history
Persisted trend snapshots for the subreddit over the last 7 days. Each snapshot is a frozen point-in-time computation.
Parameters
name string·path·required | Tracked subreddit name. example: python |
since string·query | ISO-8601 timestamp. Inclusive lower bound. example: 2026-05-08T00:00:00Z |
limit integer·query | Maximum snapshots. 1-200, default 50. example: 50 |
Request
curl -X GET https://api.redditintel.dev/v1/subreddits/{name}/trends/history \
-H "Authorization: Bearer <YOUR_API_KEY>"Response · 404
X-RateLimit-Limit: 100000{ "error": { "code": "RESOURCE_NOT_FOUND", "message": "no snapshots for subreddit 'python' in the last 24h", "request_id": "<redacted>" } }