How X API pay-per-use pricing works for small tools
Short answer
The X API now bills self-serve developers per use: you buy credits in the Developer Console, and each post you create or each resource you read is deducted from that balance. As of November 2026 X lists $0.015 to create a post, $0.200 for a post with a URL, $0.005 per post read and $0.010 per user read, with repeat reads of the same resource deduplicated within a UTC day.
Key takeaways
- There is no subscription on the self-serve plan; credits are bought upfront and spent per request or per resource.
- A post that contains a URL costs more than ten times a plain post, so links are the biggest line item for most bots.
- Reads are billed per returned resource, not per call, so
max_resultsdirectly sets the cost of a request. - Reads of your own data ("owned reads") cost $0.001 per resource.
- Pay-per-use is capped at 3 million post reads per billing cycle; beyond that X points you to Enterprise.
If you built a small X tool a few years ago, the pricing model you designed for has changed. X moved its self-serve API to pay-per-use credits, which is good news for tools with light traffic and a trap for tools that read more than they need. This post walks through how the billing works and how to shape a tool around it. Every number below comes from X’s pricing documentation as of November 2026; treat them as a snapshot and confirm in the Developer Console before you commit to a budget.
How does X API pay-per-use billing work?
You buy credits upfront in the Developer Console, and X deducts them as your app makes requests or receives resources. There are no contracts and no minimum spend. When the balance runs out, requests stop until you top up, so an auto-recharge setting or a low-balance alert matters more than it did under a flat plan.
Two units are billed. Writes, such as creating a post, are charged per request. Reads are charged per resource returned, so a search that returns 100 posts costs 100 post reads, not one call.
What does each request cost?
As of November 2026, X lists these prices on its pricing page:
| Operation | Unit | Price |
|---|---|---|
| Create a post | per request | $0.015 |
| Create a post that contains a URL | per request | $0.200 |
| Create a summoned reply | per request | $0.010 |
| Read posts | per resource | $0.005 |
| Read users (includes user lookup) | per resource | $0.010 |
| Owned reads (your own posts, bookmarks, followers) | per resource | $0.001 |
The URL line is the one that surprises people. A bot that posts one link a day for 30 days spends about $6 on posting alone, while the same bot posting plain text spends about $0.45. If your tool shares articles, that difference is the whole budget.
A “summoned” reply is a reply to a post whose author mentioned your account or quoted one of your posts. X restricts API replies to other people’s posts to these cases for self-serve accounts, which the posting and reading guide touches on.
How does deduplication lower read costs?
X deduplicates resources within a 24-hour UTC day, so reading the same post twice in that window should be billed once. The window resets at midnight UTC. X describes this as a soft guarantee that may not hold during outages or other edge cases.
In practice this protects you from a refresh button that fires the same request twice. It does not replace a cache. If your tool shows the same timeline after midnight UTC, those posts are billable again, and a local cache keyed by post ID is still the cheapest read there is.
How do you estimate a monthly bill?
Multiply each operation by how often it runs, then add a margin for retries and growth. A worked example for a personal tool that checks mentions every 15 minutes:
- 96 checks a day, each returning on average 5 new posts, is 480 post reads a day.
- At $0.005 each that is $2.40 a day, or about $72 over 30 days.
- Add 20 plain posts a month at $0.015, which is $0.30.
Now change one thing: ask for new posts only by passing since_id with the newest ID you have already seen. If most checks return zero or one post, reads drop to a few dozen a day and the monthly cost falls to a few dollars. The rate-limit advice in the rate limits chapter and the billing advice point the same way: fewer, narrower reads.
How do you keep a small tool’s bill predictable?
Request only the resources you will use, cache by ID, and keep URLs out of automated posts unless the link is the point.
- Set
max_resultsdeliberately. Reads are billed per resource, so a request for 100 posts when you display 10 costs ten times more than it needs to. - Use
since_idor time windows so polling returns only new items. - Prefer owned reads when the data is your own. Your own posts and bookmarks are priced at $0.001 per resource.
- Watch the balance. Set an alert in the Developer Console so a runaway loop shows up before the credits are gone.
- Know the ceiling. Pay-per-use is capped at 3 million post reads per monthly billing cycle; past that, X directs you to an Enterprise plan.
If you run one of the open-source clients covered on this site for yourself, every read the client makes on your behalf is now billed to your App. Check how often it polls before you leave it running overnight.
What about the free tier and older plans?
The pricing page describes pay-per-use credits and Enterprise; it does not list a free tier. X does describe promotional credits, such as $20 in API credits after a first eligible purchase, but these are incentives, not a standing free plan. Older posts on this site written for the free tier still describe useful design habits, but check your account’s actual plan in the Developer Console rather than relying on any blog post, including this one.
Sources
- X API pricing, X Developer Platform documentation.
- Manage Posts: create a Post, X Developer Platform documentation.
Frequently asked questions
Is there a monthly subscription for the X API?
Not on the self-serve plan. You buy credits in the Developer Console and each request or returned resource is deducted from that balance. Enterprise access is a separate, negotiated plan.
How much does it cost to create a post through the API?
X lists $0.015 per post create request, $0.200 when the post contains a URL, and $0.010 for a summoned reply, as of November 2026. Check the Developer Console before you budget, because prices can change.
Am I charged twice if I read the same post twice?
Usually not. X deduplicates resources within a 24-hour UTC day, so fetching the same post again that day should not be billed again. X calls this a soft guarantee, so design as if it can fail.
What are owned reads?
Owned reads are reads of your own account's data, such as your own posts, bookmarks or followers. X prices them at $0.001 per resource, far below a general post read.
Is there a cap on pay-per-use reads?
Yes. X documents a cap of 3 million post reads per monthly billing cycle on pay-per-use. Above that you need an Enterprise plan.