X API pricing in 2026: Free, Basic, Pro, and pay-per-use explained for developers
A complete breakdown of X (Twitter) API pricing tiers — what each tier actually gets you, rate limits, post caps, endpoint access, and the new pay-per-use model launched in February 2026.
X API pricing has changed dramatically since 2022
Before 2023, X’s API was one of the most permissive major social APIs. Researchers, indie developers, and automation builders had broad free access to read timelines, search posts, and publish content. That era is over.
Following the 2022 acquisition, X rebuilt its pricing from scratch. The free tier was reduced to a write-only stub. The Basic tier was introduced, then repriced upward. And in February 2026, X launched a pay-per-use consumption model alongside the existing fixed monthly tiers. Developers now have to navigate a more complex and more expensive pricing landscape than ever.
This guide covers what each tier actually gets you, what the numbers mean for publishing-focused developers, and where the line falls between what you can do yourself and when using a publishing API makes more sense.
The tiers at a glance
As of early 2026, X offers four fixed monthly tiers plus a new pay-per-use option:
| Tier | Monthly price | Annual option | Post writes/month | Post reads/month |
|---|---|---|---|---|
| Free | $0 | — | ~500 | ~50 |
| Basic | $200 | $175/month ($2,100/year) | ~50,000 | ~10,000–15,000 |
| Pro | $5,000 | $4,500/month ($54,000/year) | ~300,000 | 1,000,000 |
| Enterprise | $42,000–$50,000+/month | Custom | Custom | 50,000,000+ |
| Pay-per-use | Credit-based | — | $0.01/post | $0.005/read |
Annual subscriptions were added to Basic and Pro in October 2024 when the Basic tier was raised from $100 to $200/month.
Free tier: write-only, minimal reads
The free tier is specifically designed for posting and nothing else. This is intentional — X wants developers to pay for read access.
What you get:
POST /2/tweets— create posts (text, with media)- Media upload via the upload endpoint
GET /2/users/me— the only read endpoint available: fetching your own account info
What you do not get:
- Search (neither recent nor historical)
- Timeline reading
- User lookup for accounts other than your own
- Like and follow endpoints (removed August 2025)
- Streaming endpoints
- Any engagement or analytics data
Post cap: approximately 500 posts per month at the app level. That is roughly 16–17 posts per day before hitting the monthly cap. Enough for a notification bot or a low-volume scheduled posting tool, but not much else.
Rate limits: Standard 15-minute rolling windows apply. The tighter constraint is the monthly post cap rather than per-minute rates for most basic publishing use cases.
Practical assessment: The free tier is usable for publishing, but barely. You cannot read back what you posted (beyond the immediate API response), cannot check engagement, and cannot build any kind of search or discovery feature. Most production publishing use cases will outgrow 500 posts/month quickly.
Basic tier: $200/month
The Basic tier is the minimum for any serious publishing or read-access use case.
What you get:
- Full read + write access to most v2 endpoints
- ~10,000–15,000 post reads per month (tracked at the project level, resets monthly)
- ~50,000 post writes per month
- Recent search (7-day window) —
GET /2/tweets/search/recent - User lookup, user timelines, likes, follows, bookmarks
- 2 app environments within the project
- 2 top-ups per month (additional quota in exchange for payment)
What Basic does not get you:
- Full archive search (historical beyond 7 days) — that requires Pro
- Streaming endpoints (filtered stream, sampled stream) — Pro only
- Academic or compliance data feeds — Enterprise only
Rate limits: 15-minute rolling windows apply to each endpoint independently, with separate per-app (Bearer Token) and per-user (OAuth context) limits:
| Endpoint | Per-app limit (15 min) | Per-user limit (15 min) |
|---|---|---|
Post lookup (GET /2/tweets) | 3,500 | 5,000 |
| Recent search | 450 | 300 |
Create post (POST /2/tweets) | 10,000 per 24 hrs | 100 per 15 min |
| Media upload | 50,000 per 24 hrs | 500 per 24 hrs |
| User lookup | 500 per day | 100 per day |
Per-app limits and per-user limits are enforced independently. A single user hitting their 100 posts/15-minute per-user limit does not block other users of your app. HTTP 429 is returned on breach; the x-rate-limit-reset header gives the UTC epoch timestamp of when the window resets.
Annual pricing: $175/month billed annually ($2,100/year) saves ~12.5% over monthly billing.
Pro tier: $5,000/month
Pro is designed for companies building products that genuinely depend on high-volume read access or streaming.
What you get:
- 1,000,000 post reads per month
- ~300,000 post writes per month
- Full archive search — historical data going back to the first tweet, not just 7 days
- Filtered stream (
/2/tweets/search/stream) — real-time filtered stream of posts matching your rules - Sampled stream (
/2/tweets/sample/stream) — random 1% sample of all posts in real time - Higher rate limits per endpoint
- 3 app environments
What Pro does not get you:
- Full firehose access — the complete real-time stream of all posts. That is Enterprise only.
Annual pricing: $4,500/month billed annually ($54,000/year).
Who actually needs Pro: Companies building social analytics platforms, news monitoring tools, or real-time event tracking products. If your use case is publishing content — posting on behalf of users or automating a brand’s social feed — Pro’s defining features (full archive search, streaming) are not what you need, and the $5,000/month price tag is not justified.
Enterprise: $42,000+/month
Enterprise is negotiated directly with X. Publicly cited entry-level pricing starts around $42,000–$50,000/month with fully custom terms. This tier includes:
- 50,000,000+ post reads per month
- Full firehose access — complete real-time stream of all posts on the platform
- Compliance data feeds — deletion, suspension, and edit event streams (required for applications with data retention obligations)
- Custom rate limits and a dedicated account manager
Enterprise applies to research institutions, large analytics platforms, and newsrooms with significant data contracts. It is not relevant to the vast majority of developers building social publishing tools.
The new pay-per-use model (launched February 2026)
On February 6, 2026, X launched pay-per-use pricing as an alternative to the fixed monthly tiers. Developers purchase credits upfront in the Developer Console and are charged per API call:
| Operation | Cost per unit |
|---|---|
| Post read | $0.005 |
| Post create | $0.01 |
| User lookup | $0.01 |
Deduplication: Requesting the same post multiple times within a 24-hour UTC window counts as a single charge.
Cap: Pay-per-use is limited to 2 million post reads per month. Above that threshold, Enterprise is required.
Legacy free tier migration: Active free-tier users were migrated to the pay-per-use model with a one-time $10 voucher. New developers can choose between pay-per-use and fixed monthly plans.
xAI credit program: X introduced a credit-back program alongside pay-per-use — developers earn xAI/Grok credits based on cumulative API spend, up to 20% back.
Is pay-per-use cheaper than fixed tiers? It depends heavily on usage patterns:
- For a developer publishing 500 posts/month: $5.00 in post creation credits (500 × $0.01) plus minimal reads. Cheaper than Basic at $200/month.
- For a developer publishing 5,000 posts/month with 10,000 reads: $50 in writes + $50 in reads = $100/month. Still cheaper than Basic.
- For a developer reading 100,000 posts/month: $500. More expensive than Basic.
- At 2 million reads/month: $10,000. More expensive than Pro ($5,000).
Pay-per-use is most advantageous for publishing-heavy, read-light workloads. It is disadvantageous for read-heavy workloads.
Authentication: OAuth 1.0a vs. OAuth 2.0
Both authentication methods are supported on all tiers. There is no pricing tier restriction on which OAuth flow you use.
| Feature | OAuth 1.0a | OAuth 2.0 |
|---|---|---|
| User context (act on behalf of user) | Yes | Yes (PKCE flow) |
| App-only (Bearer Token) | No | Yes |
| Newer v2-only endpoints (Bookmarks, etc.) | No — not compatible | Yes |
| Recommended for new development | No (legacy) | Yes |
For publishing on behalf of users, both methods require user-level authentication — app-only Bearer Tokens cannot create posts. OAuth 2.0 with PKCE is the recommended path for new applications; some newer endpoints are OAuth 2.0 only. OAuth 1.0a still works and many existing integrations use it.
The compliance requirements developers miss
The pricing is only part of what determines whether you can actually use the X API for production. The compliance requirements add friction that is often underestimated:
Stated use case obligation: The use case description you submit during developer onboarding is contractually binding. Materially changing your use case requires notifying X and getting approval before the change. There is no casual “we pivoted” exemption.
Bot labeling: Automated accounts must clearly identify as bots in the profile bio. There is no grace period — this is a day-one requirement.
AI reply bots: Applications that use AI to generate and post replies require explicit prior written approval from X. This is not handled through the standard developer portal flow; it requires a separate sign-off.
Like and follow endpoint removal: As of August 2025, the free tier no longer has access to POST /2/users/:id/likes and POST /2/users/:id/follows. Applications that were using these endpoints on the free tier broke without warning.
Data deletion compliance: If a user deletes a post, applications with data storage obligations must honor that deletion. The compliance data feeds that provide deletion events are an Enterprise-only feature.
What this means for publishing-focused developers
If you are building a tool that posts to X on behalf of users — a scheduling tool, a cross-posting workflow, a content management product — here is what you are actually dealing with:
On Free ($0): You can publish roughly 500 posts per month per app. You cannot read back post metrics or engagement data. You cannot search. The free tier is viable for a personal automation project but not for a product with multiple users.
On Basic ($200/month): You can publish at volume and read post data for reporting. You get 7-day search access. This is the minimum viable tier for a product that includes any analytics or engagement tracking.
On Pro ($5,000/month): The additional capability beyond Basic is primarily full archive search and streaming. If your product does not need historical data or real-time event streams, the jump from $200 to $5,000 is hard to justify for a publishing-only use case.
On Pay-Per-Use: More predictable at low volumes, potentially cheaper than Basic for publishing-heavy workloads with minimal reads.
The math for a multi-user publishing product — one managing dozens or hundreds of accounts — gets complicated. Each user’s posts count against your app’s write cap. If 50 users each post 10 times per day, that is 500 posts/day or 15,000 posts/month. That is within the Basic write cap (~50,000/month), but it requires coordinating rate limits across all users within the 15-minute per-app windows.
Publishing to X without managing the tier complexity
The scenario Postproxy is built for: you want to publish to X as part of a multi-platform workflow without negotiating X’s pricing tiers, managing OAuth tokens per user, or tracking your monthly write quota.
curl -X POST "https://api.postproxy.dev/api/posts" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "post": { "body": "Your post content here" }, "profiles": ["twitter"], "media": ["https://your-cdn.com/image.jpg"] }'To post to X alongside other platforms in the same request:
curl -X POST "https://api.postproxy.dev/api/posts" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "post": { "body": "New post across all platforms" }, "profiles": ["twitter", "instagram", "linkedin", "threads"] }'Postproxy operates on Pro-tier X API access and handles the OAuth token lifecycle, rate limit tracking, and monthly cap management internally. Your application does not need its own X developer account or pricing tier.
This is the practical alternative when the X API pricing structure is more expensive or complicated than the X publishing problem actually warrants.
Timeline: how X API pricing changed
| Date | Change |
|---|---|
| Oct 2022 | Musk acquisition; API policy review begins |
| Feb 2023 | Free tier reduced to write-only stub; thousands of apps break |
| Apr 2023 | v1.1 API deprecated (except media upload); $100/mo Basic and $5,000/mo Pro introduced |
| Oct 2024 | Basic tier raised from $100 to $200/month; annual billing introduced |
| Aug 2025 | Like and follow endpoints removed from free tier |
| Feb 2026 | Pay-per-use pricing publicly launched; legacy free-tier users migrated with $10 voucher |
The direction has been consistent: pricing increases, access restrictions, and the removal of capabilities from lower tiers.
Summary
| Free | Basic | Pro | Pay-per-use | |
|---|---|---|---|---|
| Price | $0 | $200/mo | $5,000/mo | Credits |
| Post writes | ~500/mo | ~50,000/mo | ~300,000/mo | $0.01 each |
| Post reads | ~50/mo | ~10,000–15,000/mo | 1,000,000/mo | $0.005 each |
| Search | No | 7-day only | Full archive | 7-day only |
| Streaming | No | No | Yes | No |
| User lookup | No | Yes | Yes | $0.01 each |
For publishing-focused developers: the free tier is viable only at very low volume. Basic at $200/month is the minimum for a product. Pro’s unique value is full archive search and streaming — neither of which is needed for most publishing workflows. Pay-per-use is worth modeling against your expected call volume if your workload is write-heavy with minimal reads.
Connect your X account to Postproxy and start publishing through the Postproxy API — without managing X API tier selection, OAuth setup, or monthly cap tracking.
Postproxy
One API for every social platform
Publish to Instagram, X, LinkedIn, TikTok, YouTube and more with a single request. Free plan, no credit card required.