Find viral posts
Posts and videos that took off, from individual creators (brands, politicians and aggregator pages are kept out). Most viewed first. Search X posts by topic, or YouTube, TikTok and Instagram videos. Read-only and free on every plan; 30 searches a minute per workspace.
Try it
Authorization
bearerAuth A Postel API key, Authorization: Bearer pstl_…. Create one in Postel under Settings → API & MCP; it acts for the workspace it was made in.
In: header
Query parameters
Topic or keywords; leave out to browse what's doing best
length <= 200x (posts), or youtube, tiktok, instagram (videos)
"x""x" | "youtube" | "tiktok" | "instagram"X: only posts in this format (an id from GET /v1/viral/formats)
length <= 80Videos: short-form or long-form
"short" | "long"How far back to look
71 <= value <= 60Only posts that outran normal by at least this much (X: views ÷ followers; videos: × the creator's usual)
0 <= value <= 100000Only posts with at least this many views
0 <= valuePosts to return, 1 to 50
201 <= value <= 50Responses
application/json
application/json
application/json
application/json
application/json
Write my take
Your own post in your voice from a viral X post or a format, saved as a draft per network (the Viral posts page's Use as template). Works on every plan. One AI credit per network; a network whose draft fails costs nothing. Takes 10 to 40 seconds, so give the request a 60-second timeout. Videos aren't supported yet (422 not_supported). Shares the 3-at-once writing slots with POST /v1/posts/generate. Send an Idempotency-Key only when it is unique per run.
Get a viral post
One X post or video from the viral library, by its id.