X API pricing in 2026: what posting actually costs
October 29, 2026
If you last looked at the X API when it had Free, Basic and Pro tiers, the pricing page will look different now. X's developer pricing page describes pay-per-usage pricing, with no subscriptions and no minimum spend. You pay for each request you make.
This post is the short version for someone who wants to post: what a post costs, what changes the price, and how to estimate a month before you get the bill. Prices below are as of October 2026, from X's own page. They can change, so check the page before you commit to a budget.
#The prices that matter for posting
From X's pricing page, as of October 2026:
| Request | Price |
|---|---|
| Create a post | $0.015 |
| Create a post with a URL | $0.200 |
| Create a post (summoned) | $0.010 |
| Read a post | $0.005 per resource returned |
| Read a user | $0.010 |
| Owned reads (your own posts, bookmarks and similar) | $0.001 |
Pay-per-usage plans are capped at 3 million post reads per monthly billing cycle. For more than that, X points you at an Enterprise plan, and the page gives no price for it.
Two numbers do most of the work. A plain post is 1.5 cents. A post with a URL is 20 cents. That is more than thirteen times as much for the same API call, and it is the line to understand before you automate anything.
#The link surcharge is the whole story
Most posts a company sends contain a link: a launch, a blog post, a changelog. So the realistic price of a post is 20 cents, not 1.5.
Here is what that looks like over a month:
| Posts per month | All plain | All with a link |
|---|---|---|
| 30 | $0.45 | $6.00 |
| 100 | $1.50 | $20.00 |
| 500 | $7.50 | $100.00 |
| 3,000 | $45.00 | $600.00 |
For a person or a small team posting a few times a day, that is a few dollars a month. For a feed bot or a content pipeline that posts hundreds of links, it is a real line item. If you run one, put a spend cap on it before you turn it on.
Reads are separate. If your code posts and then reads the post back to check its numbers, each read is another charge at $0.005 per post returned. Reading your own data is cheaper at $0.001, but know which kind of read your code makes.
#Threads cost per segment
X bills per post, so a thread is a charge for every segment. A head post and three replies is four charges. If the third reply contains a link, it costs 20 cents and the other three cost 1.5 cents each, which is 24.5 cents for the thread.
This is the reason to put the link in one place on purpose. A thread where every segment links back to your site costs 80 cents for four posts. The same thread with one link costs 24.5 cents.
#How yeetpost passes this through
yeetpost does not hold an X developer plan for you to rent. You connect your own X account, and the posting fee is passed through at X's own cost with no margin. From the yeetpost X docs:
- 1.5 cents per X post
- 20 cents when the post has a link
- X posting needs a payment method from the first post. Without one, the API answers
402 payment_method_required. - You can set your own monthly X spend cap in Settings. Past it, posts to X fail with
402 spend_cap_reacheduntil you raise it or the month rolls over. - A thread is one charge per segment, and the spend cap is measured against the whole thread before any of it goes out, so a thread that would cross your cap is refused whole instead of posted halfway.
- Reading a post's numbers back off X is metered at 1 cent a read, and X analytics is off by default.
What counts as a link is decided from the post's text when it is sent. yeetpost counts an http:// or https:// URL or a www. host. A bare host such as example.com counts as a plain post, and yeetpost absorbs the difference instead of charging you the link rate for something that reads as plain text. That rule is yeetpost's own, so it will not always match how X classifies a given post. The spend cap is the safety net.
Posting itself is one call:
curl -X POST https://api.yeetpost.com/api/v2/post/x \
-H "x-api-key: $YEETPOST_API_KEY" \
-d 'v2.4 is live. changelog: https://example.com/changelog'That post costs 20 cents because it has a link. Moving the link into a thread reply does not make it cheaper:
curl -X POST https://api.yeetpost.com/api/v2/posts \
-H "x-api-key: $YEETPOST_API_KEY" \
-H "content-type: application/json" \
-d '{
"text": "v2.4 is live. two things changed:",
"connectionSlugs": ["x"],
"thread": [
"1. the scheduler is faster.",
"2. changelog: https://example.com/changelog"
]
}'That is 1.5 + 1.5 + 20 = 23 cents. Splitting only makes sense when the thread is what you wanted to write anyway.
You can check what a post would do before it costs anything. validateOnly: true on POST /posts runs every check a real call runs and then stops. It creates nothing and charges no X fee.
#On top of the X fee: the account price
The X fee is separate from yeetpost's own pricing, which is per active connected account. The first 2 accounts are free, accounts 3 to 10 are $5 a month each, 11 to 100 are $2.50, and 101 and up are $1. There is no post quota. See pricing for the calculator. An account is active when it has at least one successful send in the last 30 days.
So a team posting from one X account and one LinkedIn page pays $0 a month to yeetpost, plus the X fee on each X post.
#Text limits
X's character limit is advisory in yeetpost: a longer post is not refused by yeetpost, and X decides. Every other platform's limit is enforced before sending with 400 text_too_long. Images on X are up to 4 per post, 5 MB each.
#How to estimate your month
- Count the X posts you send per month.
- Count how many have a link. Multiply those by $0.20 and the rest by $0.015.
- Add 1.5 cents for every extra thread segment, or 20 cents if the segment has a link.
- Add reads only if your code makes them.
- Set a spend cap about 30 percent above the estimate so a bug shows up as a refused post instead of a large bill.
#What to do with this
If you post a handful of times a day, pay-per-use is a few dollars a month and the link surcharge is tolerable. If you post at high volume with a link in every post, run the table above first, and consider which of those posts need X at all. Posting to LinkedIn, Bluesky, Mastodon, Telegram and Discord through yeetpost is free per post.
If you want the call without managing an X developer account, the X posting API page has the limits and the one-line request. The full reference is in the docs.