X API pricing (2026)
What posting through the X API costs now.
X moved the API to pay-per-use credits. Posting is cheap until you add a link, and then it isn't. Every number below comes from X's own pricing page.
The short answer · Updated Nov 1, 2026
The X API charges per request with no subscription: $0.015 to create a post, $0.200 to create a post that contains a URL, and $0.005 per post read, according to X's developer pricing page. You buy credits upfront. Pay-per-use plans are capped at 3 million post reads per monthly billing cycle; higher volume needs an Enterprise plan.
X: live. Posting to X works on the API today.
X API cost calculator (X's published rates)
- Posts / month
- 300
- X API cost / month
- $32.25
- Same posts, no links
- $4.50
| Request | Price | Note |
|---|---|---|
| Create a post | $0.015 per request | Text, images, replies |
| Create a post with a URL | $0.200 per request | Any post containing a link |
| Read a post | $0.005 per resource | Capped at 3M reads per billing cycle |
| Owned read | $0.001 per resource | Your app reading its own posts, bookmarks, followers, likes, lists |
| Read a user | $0.010 per resource | Profile lookups |
| Create a DM | $0.015 per request | DM Interaction: Create |
Read on docs.x.com on 2026-11-01. X says prices are subject to change; the developer console shows your current rates. Re-reading the same resource within one UTC day isn't billed again.
| Posts per day | Posts per month | No links | Half have links | Every post has a link |
|---|---|---|---|---|
| 1 | 30 | $0.45 | $3.23 | $6.00 |
| 5 | 150 | $2.25 | $16.13 | $30.00 |
| 10 | 300 | $4.50 | $32.25 | $60.00 |
| 20 | 600 | $9.00 | $64.50 | $120.00 |
| 100 | 3,000 | $45.00 | $322.50 | $600.00 |
Computed from $0.015 per post and $0.200 per post with a URL. Excludes reads: reading each post back once adds up to $0.005 per post.
How much does the X API cost per post?
A plain post costs $0.015, so 1,000 posts cost $15. A post with a link costs $0.200, so 1,000 linked posts cost $200. Those two lines are the whole posting bill for most bots and agents; media metadata, reads and deletes are priced separately and only apply if you call them.
X bills against credits you buy in advance. There's no monthly subscription and no minimum spend, and X's page says prices are subject to change, so treat the table above as a snapshot and check the developer console before you commit to a budget.
Is there a free X API tier in 2026?
X's pricing page doesn't describe a free tier. It describes pay-per-use credits, with two incentives for new payers: $20 in API credits after you save a card and make a first purchase, and a match of your first auto-recharge up to $50.
At $0.015 a post, the $20 incentive covers about 1,333 plain posts or 100 linked posts. For a hobby bot posting a few times a day without links, that's months of posting; our X bot guide walks through building one.
Why does a post with a link cost 13 times more?
X lists "Post: Create (with URL)" as its own request type at $0.200, about 13.3 times the $0.015 plain rate. The pricing page doesn't define what counts as a URL; our preflight treats any http:// or https:// in the text as a link and warns with x_link_cost.
A common tip is to move the link into a reply. By X's price list that doesn't save money through the API: the reply is itself a post with a URL, so the pair costs $0.215, a little more than the single linked post. The savings only come from leaving the link off X.
With a unified API you can do that per network. Set platform_options.x.text to a version without the link, and Bluesky and LinkedIn still get the full text. At 20 posts a day, that one field is the difference between $9 and $120 a month.
curl https://socialsforai.vercel.app/v1/posts \
-H "Authorization: Bearer $SOCIALS_API_KEY" \
-d '{
"accounts": ["acc_x", "acc_bluesky", "acc_linkedin"],
"text": "Release notes for v2.3: https://example.com/changelog",
"platform_options": { "x": { "text": "v2.3 is out. Notes are on our site." } }
}'How do X API credits, spending limits and billing cycles work?
You load credits, X draws them down per request, and when the balance goes negative requests are blocked until you top up. Auto-recharge tops up at a threshold you set, at most once per 5-minute window.
You can set a spending limit per billing cycle. Once it's reached, X blocks API requests until the next cycle, which is the cheapest insurance against a runaway loop that posts the same link a thousand times.
- Read cap: pay-per-use plans stop at 3 million post reads per monthly cycle; above that X asks you to request an Enterprise plan.
- Deduplication: re-requesting a billed resource within the same UTC day isn't charged again. X calls this a soft guarantee.
- xAI credits: link your xAI team and X returns 10% of cumulative spend from $200, 15% from $500 and 20% from $1,000 in xAI API credits, reset each cycle.
- Owned reads: your app reading its own posts, bookmarks, followers, likes and lists costs $0.001 per resource instead of $0.005.
What are the X API rate limits for posting?
Creating posts is limited to 100 requests per 15 minutes per user and 10,000 per 24 hours per app, according to X's rate limit table. Deleting is 50 per 15 minutes per user. Looking up a post is 900 per 15 minutes per user and 450 per app.
Media upload (POST /2/media/upload) allows 500 per 15 minutes per user. Over a limit, X returns HTTP 429 with error code 88, "Rate limit exceeded", and documents x-rate-limit-remaining and x-rate-limit-reset headers for pacing.
Through us, a 429 becomes platform_rate_limited and retries on our backoff schedule. We also cap each X account at 100 posts per 24 hours as a fair-use limit, which returns daily_cap_reached before anything is sent.
What does a raw X API post request look like?
Posting needs an OAuth 2.0 user-context token with tweet.read, tweet.write and users.read, per X's create-post reference; we also request media.write for image uploads and offline.access for refresh tokens. You send JSON to POST https://api.x.com/2/tweets; the response's data object carries the new post's id and text.
A post takes up to 4 photos, 1 animated GIF or 1 video, uploaded first to get media ids. Quote posts need an Enterprise plan, per X's create-post reference, so they aren't available on pay-per-use.
curl -X POST https://api.x.com/2/tweets \
-H "Authorization: Bearer $X_USER_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "text": "Hello from the X API" }'
# 201 → { "data": { "id": "...", "text": "Hello from the X API" } }How do you cut an X API bill?
Most of the bill is links, so most of the savings are too. In rough order of impact:
- Drop the link on X only, with
platform_options.x.text. Keep it on networks where links are free. - Set a spending limit in the X developer console so a bug can't drain your credits.
- Don't read what you don't need. Reads are $0.005 each; owned reads are $0.001.
- Use
dry_run: trueto test. Our preflight never calls X, so testing costs nothing. - Fit posts in 280 weighted characters the first time with the X character counter; the X character limit page explains why a URL always counts as 23.
Questions
What developers ask
How much does the X API cost per month?
There is no monthly fee. You pay per request from prepaid credits: $0.015 per post, $0.200 per post with a link, $0.005 per post read. Posting 10 times a day without links is about $4.50 a month; with a link in every post it's $60. Set a spending limit to cap it.
Is there still a free X API tier?
X's pricing page describes pay-per-use credits with no subscriptions or minimum spend and doesn't list a free posting tier. New payers get $20 in credits after saving a card and making a first purchase, plus a match of the first auto-recharge up to $50.
Does a link in a reply also cost $0.20?
Yes, by X's price list. X prices by request type, and creating any post containing a URL is listed at $0.200. A reply with a link is still a post with a URL, so moving the link into a reply costs $0.215 for the pair rather than saving money.
Can I cap my X API spend?
Yes. X lets you set a maximum spend per billing cycle in the developer console. Once it's reached, API requests are blocked until the next cycle. Requests are also blocked if your credit balance goes negative, until you add credits to cover it.
What is the X API rate limit for posting?
X's rate limit table lists 100 create-post requests per 15 minutes per user and 10,000 per 24 hours per app. Exceeding it returns HTTP 429 with error code 88. Through our API, a 429 retries automatically, and each account has a 100-posts-per-day fair-use cap.
Do reads cost anything when I only post?
Only if you read. Publishing doesn't require reading your timeline. Through us, each X post is read back once to confirm it went out, which costs at most one $0.005 post read, and re-reading the same post within a UTC day isn't billed again.
Get an API key and send your first post in five minutes.