What endpoints does the Twitter API have?
Last updated October 1, 2026
The surface is 112 endpoints, 68 of them reads and 44 writes, grouped into fifteen families in the catalog. Write Actions is the largest at 22 paths, then Monitoring at 15, User Reads at 14, Session Reads at 13 and Articles at 9. Twenty-four of the 112 bill nothing, and most of the rest bill the standard $0.0008.
Every rate here is the pricing TwitterAPIs publishes. The billed rate is $0.0008 per call; $0.04 per 1,000 tweets is derived from it at a full 20-tweet page, which is the default page size rather than a guaranteed yield (source: twitterapis.com/pricing).
How the catalog is grouped
Fifteen named families cover all 112 paths, and the counts sum rather than approximate. Search holds 2, Tweet Details 5, User Reads 14, Follower Graph 5, List Data 7, Session Reads 13, Write Actions 22, Direct Messages 3, Articles 9, Trends 2, Spaces 1, Communities 7, Grok 2, Account 5 and Monitoring 15. Bookmarks are not a family of their own; they sit inside Session Reads with the home timeline and the block and mute lists, because all of those read the session you registered rather than a public profile. There is no media family either: the upload write and the processing-status read both live in Write Actions, beside the profile edits, the drafts and the scheduled posts. The ordering above is the order the catalog itself renders them in.
Which families are read-only
Seven of the fifteen contain no writes at all: Search, Tweet Details, User Reads, Follower Graph, Communities, Spaces and Trends. Account, read-only until feedback joined it, is now 4 reads to 1 write. The mixed families split in ways worth knowing before you plan a job. Write Actions is 19 writes against three reads: media/status, which polls the processing state of an upload rather than uploading anything and therefore bills and counts as a read, and the two compose list reads, draft/list and scheduled/list. Monitoring runs 6 reads to 9 writes, Articles 2 to 7, List Data 4 to 3, Session Reads 10 to 3, Direct Messages 2 to 1, and Grok is one of each. Across the whole surface reads outnumber writes, 68 to 44. Spaces is the smallest family at a single path, one read of a Space by its id.
What each price tier holds
Seven tiers partition the 112, and the partition is asserted tier by tier rather than by its total, because moving one endpoint between two buckets leaves a sum unchanged and hides the error. Sixty-five sit at the standard $0.0008, which also covers every simple write. Nineteen are premium at $0.0016. One is $0.0024, two are $0.004, one is $0.01, and twenty-four are free. The premium nineteen are tweet/create, dm/send, the two DM reads dm/list and dm/conversation, six article writes, list/create, the three profile writes, and five compose routes: draft/create, draft/edit, draft/list, scheduled/create and scheduled/list. Two of those five are list reads, so the tier is a price bucket rather than a method one. list/create costs twice what its two membership-write siblings do and is the one people guess wrongly from the family name. Three standard endpoints bill per item instead of per call: user/user_about/batch charges $0.0008 for each account X answered for, user/check_follow_relationship/batch for each pair answered with a relationship, and user/audience_summary for each sample page plus each sampled account answered. One tier is deliberately empty: simple writes bill at the read rate, so they already sit inside the standard sixty-five rather than in a bucket of their own.
The twenty-four that bill nothing
Every management route is zero-rated. That means the five Account routes, account/me, account/payments and the three feedback routes, then customer/session with its status read and its delete counterpart, grok/config, and all fifteen Monitoring paths, which cover webhook create, list, delete, test and redrive, monitor create, list, delete and update, the per-monitor and account-wide health reads, the deliveries feed, and three compatibility paths translating an older request shape onto the same system. Five plus three plus one plus fifteen is the twenty-four. Revoking a stored session is priced at zero as a property rather than as a discount: a route that charged would return a payment error to somebody at a zero balance trying to delete their own credentials. The three compatibility paths carry no price entry of their own and resolve onto the monitor slugs through an alias table, which is how they stay free without a duplicated row.
The reads and writes that cost more
Above the standard rate, the price follows the work. user/tweets/complete is $0.0024 because it pages internally and returns a large slice of an account's history in one response instead of a cursor page. tweet/thread and grok/chat are both $0.004, priced for the wall-clock cost of a long connection hold and the upstream work behind it rather than for any model tokens, since the customer's own account does the inference. The $0.0016 tier holds the three DM routes, post creation, the article and profile writes, list/create and the draft and scheduled-post routes that create, edit or list. user/user_login is $0.01 and is billed only when the login actually succeeds, so a challenged or refused attempt costs nothing. Everything else is the standard rate or free, so six numbers describe the entire catalog: zero, $0.0008, $0.0016, $0.0024, $0.004 and $0.01.
Writes that bill at the read rate
Most write actions cost exactly what a read costs. A like, a retweet, a bookmark, a follow, each of their undos, a post delete, a media upload, the two List membership writes, an article delete and deleting a draft or a scheduled post all bill $0.0008, which is why the constant for a simple write and the constant for a read carry the same value in the pricing source. Only creating and editing are priced up: a new post, a DM send, six of the nine article operations, list/create, the three profile writes, and creating or editing a draft or a scheduled post. If you are estimating a write-heavy job, count the creations separately and file everything else in alongside your reads. media/upload is the one that surprises people, since a large payload still bills the same eight hundredths of a cent that a like does.
Which routes need a registered X session
Authentication is one key everywhere, but a subset of routes additionally needs an X session registered against that key, because they act as an account rather than reading from a shared pool. That covers every Session Read, every Write Action, all three Direct Message routes, the Article operations except reading a published article by its announcement post, both Grok routes, and the three List writes, since a List belongs to an account. Community reads are pooled instead, which is why the four fields describing the caller's own relationship to a community always come back null. Registering that session and revoking it are both free calls, so the credential step never costs anything on its own.
Two paths in one family can answer different questions
Names are a poor guide and parameter sets are a good one. list/tweets runs against the search index, so it accepts since, until and include_replies and returns no retweets, while list/timeline uses X's native ordering, carries members' retweets and takes no filters at all. They are two capabilities rather than two spellings of one. user/status works the same way: it separates alive, suspended, not_found and unavailable and answers 200 for every case, where a plain profile lookup collapses a ban, a deletion and a typo into one 404 you cannot branch on. The quote reader is a third case: X exposes no dedicated quote-tweet operation, so it runs a search against the index and its count is what that search returned rather than the post's own quote figure.
One ceiling covers all 112
There is no per-endpoint quota and no tier to upgrade into. A key is allowed 600 requests a minute and 20 concurrent, applied identically to every route, and crossing either returns 429 with a Retry-After header. That flatness is what makes a job estimable: pick a worker count at or under twenty and throughput follows arithmetic instead of a lookup table. All 112 of those paths are published as agent tools, 68 read and 44 write, so an agent client sees very nearly the surface a REST caller sees, though that package ships on its own release cadence and parity is not a rule. Two narrower caps sit alongside the ceiling and are documented rather than hidden, one on direct-message sending and one on credential logins. Per our published rates: $0.0016 a call.
The fifteen families, by size and read to write split
| Family | Endpoints | Reads | Writes | Rate |
|---|---|---|---|---|
| Write Actions | 22 | 3 | 19 | mixed |
| Monitoring | 15 | 6 | 9 | free |
| User Reads | 14 | 14 | 0 | mixed |
| Session Reads | 13 | 10 | 3 | mixed |
| Articles | 9 | 2 | 7 | mixed |
| List Data | 7 | 4 | 3 | mixed |
| Communities | 7 | 7 | 0 | standard |
| Tweet Details | 5 | 5 | 0 | mixed |
| Follower Graph | 5 | 5 | 0 | standard |
| Account | 5 | 4 | 1 | free |
| Direct Messages | 3 | 2 | 1 | premium |
| Search | 2 | 2 | 0 | standard |
| Trends | 2 | 2 | 0 | standard |
| Grok | 2 | 1 | 1 | mixed |
| Spaces | 1 | 1 | 0 | standard |
Rate limits are the number of requests that can be made to an endpoint within a given time window.
Questions and answers
- How many Twitter API endpoints are there in total?
- One hundred and twelve unique public paths, 68 reads and 44 writes. The figure is derived from the router that serves them rather than counted off a documentation page, with infrastructure routes and one alias excluded from the total. All 112 are published as agent tools carrying the same read and write split, so a tool-calling client and a REST client are looking at one surface.
- Which family has the most endpoints?
- Write Actions, at 22 paths: likes, retweets, bookmarks and follows with their undos, post create and delete, media upload and its status read, the three profile writes, and the seven draft and scheduled-post routes. Monitoring comes next at 15, and every one of those is free to call: five webhook routes, four monitor management routes, two health reads, the deliveries feed and three compatibility paths shaped like an older streaming interface.
- Are the write endpoints priced differently from reads?
- Mostly not. A like, retweet, bookmark, follow, their undos, a delete and a media upload all bill at the read rate. The exceptions are creations and edits: a post at $0.0016, a DM send at the same, six of the nine article operations, list/create, which costs twice what adding or removing a List member costs, the three profile writes, and creating or editing a draft or a scheduled post. Login is the outlier at $0.01 and charges only on success.
- Is there a rate limit across all these endpoints?
- One ceiling covers the whole surface instead of a window per route. A key gets 600 requests a minute and 20 in flight, and anything past either answers 429 with a Retry-After header. Because the limit does not vary by endpoint, a cheap search loop and an expensive expansion loop draw on the same allowance, which turns concurrency planning into arithmetic rather than a per-route table.
- Where do bookmarks and DMs sit in the catalog?
- Bookmarks live inside Session Reads, next to the home timeline, the block and mute lists and the two bookmark-folder reads, because every one of those reads your own registered session rather than a public profile. Direct Messages is a family of three, two reads and a send, all priced at $0.0016. Neither a bookmark list nor a DM thread is public, which is why both need a session.
- Do all 112 endpoints work with a single key?
- For authentication, yes. One credential reaches every family and there is no per-endpoint entitlement to purchase. The routes that act on an account need something extra, which is a registered X session, because they run as your account instead of a pooled one. That covers Session Reads, Write Actions, Direct Messages, most Article operations, both Grok routes and the List writes.
- Which endpoints cost more than the standard rate?
- Twenty-three of the 112. Nineteen are $0.0016, covering post creation, DM send, the two DM reads, six article writes, list/create, the three profile writes and five draft and scheduled-post routes. One is $0.0024, the full-history read. Two are $0.004, thread expansion and Grok chat. One is $0.01, the credential login, and it charges only when the login succeeds. Sixty-five are the standard read rate, simple writes included, and twenty-four are free.
- Are there endpoints you charge for but do not document?
- No. Every endpoint the biller charges for carries a public price row, including the three profile writes, which were priced before they were published and are now listed. One route was unpublished deliberately, the batch user lookup by id, because X refuses that batch resolution for pooled sessions; the per-id lookup user/info_by_id replaced it. Batch About data is a different, published endpoint: user/user_about/batch reads up to 100 accounts per call at $0.0008 per account X answered for. The batch follow check and the audience summary are published too, both billed per item.
- What is the difference between list/tweets and list/timeline?
- Their parameter sets, which is the honest way to tell two capabilities apart. list/tweets is backed by the search index, so it takes since, until and include_replies and returns no retweets. list/timeline is X's own List feed, so it carries members' retweets and X's ordering and accepts no filters at all. Both bill $0.0008, so the choice is about what you need rather than cost.
- Do the agent tools cover the same 112 endpoints?
- All of them, today. The package publishes 112 tools against 112 REST paths: every tool maps to one endpoint. The batch follow check and the audience summary joined at the 0.19.0 release. Parity is a property of a given catalog rather than a rule: the package is built and released on its own cadence, and the two have drifted apart before, so the published tool list is what to check instead of an endpoint count read off a page.
Keep reading
Start with $0.50 in free credits
No credit card. Roughly 12,500 tweets to test every endpoint.