Jetfuel
Jetfuel is Twitter's new server-driven UI framework. It runs the Creator hub, the signup and login flow, the sports and live-events hub, Stories and more. client.jetfuel fetches Jetfuel pages and decodes the binary responses into plain objects. Fetching pages needs a logged-in client, while topPosts also works as a guest.
The top-posts leaderboard resolves to real tweets:
js
import Emusks from "emusks";
const client = new Emusks();
await client.login("your_auth_token");
const { tweets } = await client.jetfuel.topPosts({
engagement: "Likes",
period: "Daily",
country: "USA",
});
for (const t of tweets) console.log(t.text);Pages
| Section | Methods |
|---|---|
| Top posts | topPosts, topPostsFeed, topPostsTimelineId, inspirationPage |
| Surfaces | stories, storiesRemote, newsArticle, sportHome, league, game, event, brackets, bracketView, creatorsStudio, onboardingTopics, health |
| Requests | client.jf(), page, remote, raw, ogImageUrl, mediaPreviewUrl |
| Jetfuel wire format | decode, the binary format and the Timeline: token format |
| Castle and the login flow | how the Jetfuel login flow and its Castle token work |
WARNING
Jetfuel is freshly reverse-engineered and Twitter changes it without notice. The decoder recovers framing, strings, the node tree, atom references and reference lists, but not what the interned style atoms mean, because their dictionary lives in a lazily loaded client chunk. Treat decoded pages as structure to inspect, not a stable schema.