X API Pricing Tiers and What You Actually Get (Free, Basic, Pro, Enterprise)

X API Pricing Tiers and What You Actually Get (Free, Basic, Pro, Enterprise)

X API Pricing Tiers and What You Actually Get (Free, Basic, Pro, Enterprise)

You want the numbers, not the marketing. Here are the quotas, caps, and limits the X API actually enforces, straight from the official docs. I am not guessing. I am not hand-waving. Read the tables.

Core self-serve tiers (Free / Basic / Pro)

Tier Price (monthly) Price (annual billing) App IDs Monthly reads (app-level) Monthly posts (user-level) Monthly posts (app-level) Top-ups
Free $0 - 1 100 500 500 -
Basic $200 $175/mo (= $2,100/yr) 2 15,000 3,000 50,000 2
Pro $5,000 $4,500/mo (= $54,000/yr) 3 1,000,000 288,000 300,000 2

Source: X Developer Platform pricing page. (X Developer)

Enterprise

Tier Publicly stated starting price Monthly Post cap (consumption) Notes
Enterprise "starts at $50,000 / Month" 50+ million Posts/month Enterprise is positioned as "monthly subscription tiers" plus sales contact; detailed quotas/prices are negotiated.

Sources: Enterprise interest form plus Post cap volumes. (X Developer)

Projects, Apps, Environments: limits that people miss

Concept Free Basic Pro Notes
Apps per Project 1 up to 2 up to 3 Each Project can include 1/2/3 Apps depending on plan. (X Developer Platform)
Projects (often 1 for self-serve) (often 1 for self-serve) (often 1 for self-serve) The docs describe plan limits around 1 Project plus multiple Apps; details are in the developer portal/docs. (X Developer)
Environments 1 unique env per App (e.g., Dev/Prod/Staging) unique env per App (e.g., Dev/Prod/Staging) Mentioned in platform documentation for app setup/plan structure. (X Developer)

Monthly Post cap (read consumption) and what counts toward it

This is the "you pulled too much content" limiter. It applies at the Project level, so all Apps in the Project share it. (X Developer Platform)

Post cap volumes by access tier

Access tier Monthly Post cap
Free 100 Posts/month
Basic 15,000 Posts/month
Pro 1,000,000 Posts/month
Enterprise 50+ million Posts/month

Source: Post caps page. (X Developer Platform)

Endpoints that count toward the Post cap (the "limited v2 endpoints" list)

Posts returned from these categories count toward the cap:

  • Posts lookup
  • Recent search
  • Full-archive search
  • Filtered stream
  • User timelines
  • Likes, bookmarks, and list posts lookups
  • Spaces lookup

Also: the cap is deduplicated daily. The same Post returned multiple times in a day counts once. (X Developer Platform)

Feature/access differences that affect pricing decisions

Full-archive search (historic back to 2006) is not for Basic/Free

The docs explicitly say full-archive search is Pro and Enterprise only. (X Developer Platform)

Access-level notes (v2 vs v1.1, streams)

X documents that v2 endpoints exist across tiers, with limited v1.1 for self-serve, and streaming/full-archive features tied to higher tiers. (X Developer Platform)

Hard limits on actions (separate from monthly posting caps)

These are app-level action ceilings (v1.1 plus v2 combined), independent of your monthly posting allotment:

Action Limit (app-level) Window
Posts + reposts (combined) 300 per 3 hours
Likes 1,000 per 24 hours
Follows 1,000 per 24 hours
Direct Messages 15,000 per 24 hours

Source: X API v2 support page. (X Developer)

Request rate limits by endpoint (Free / Basic / Pro)

Notation:

  • U = per user
  • A = per app
  • Time windows: 15m, 24h, 1s (per second)

These are from X's Rate limits table for paid plans. (X Developer Platform)

Posts: write actions and interactions

Endpoint Pro Basic Free
POST /2/tweets 100/15m U; 10,000/24h A 100/24h U; 1,667/24h A 17/24h U; 17/24h A
DELETE /2/tweets/:id 50/15m U 5/15m U 17/24h U; 17/24h A
PUT /2/tweets/:tweet_id/hidden 50/15m U 5/15m U 1/15m U
POST /2/users/:id/likes 1,000/24h U 200/24h U 1/15m U
DELETE /2/users/:id/likes/:tweet_id 50/15m U 5/15m U 17/24h U
POST /2/users/:id/retweets 50/15m U 5/15m U 1/15m U
DELETE /2/users/:id/retweets/:tweet_id 50/15m U 5/15m U 1/15m U

Source: Rate limits table (Posts/manage/likes/retweets/hide). (X Developer Platform)

Posts: lookup, timelines, counts, search, stream

Endpoint Pro Basic Free
GET /2/tweets 900/15m U; 450/15m A 15/15m U; 15/15m A 1/15m U; 1/15m A
GET /2/tweets/:id 900/15m U; 450/15m A 15/15m U; 15/15m A 1/15m U; 1/15m A
GET /2/tweets/:id/liking_users 75/15m U; 75/15m A 5/15m U; 25/15m A 1/15m U; 1/15m A
GET /2/tweets/:id/quote_tweets 75/15m U; 75/15m A 5/15m U; 5/15m A 1/15m U; 1/15m A
GET /2/tweets/:id/retweeted_by 75/15m U; 75/15m A 5/15m U; 5/15m A 1/15m U; 1/15m A
GET /2/tweets/counts/recent 300/15m A 5/15m A 1/15m A
GET /2/tweets/counts/all 300/15m A - -
GET /2/tweets/search/recent 300/15m U; 450/15m A 60/15m U; 60/15m A 1/15m U; 1/15m A
GET /2/tweets/search/all 1/s U; 1/s A - -
GET /2/tweets/search/stream 50/15m A - -
GET /2/tweets/search/stream/rules 450/15m A - -
POST /2/tweets/search/stream/rules 100/15m A - -
GET /2/users/:id/liked_tweets 75/15m U; 75/15m A 5/15m U; 5/15m A 1/15m U; 1/15m A
GET /2/users/:id/mentions 300/15m U; 450/15m A 10/15m U; 15/15m A 1/15m U; 1/15m A
GET /2/users/:id/timelines/reverse_chronological 180/15m U 5/15m U 1/15m U
GET /2/users/:id/tweets 900/15m U; 1,500/15m A 5/15m U; 10/15m A 1/15m U; 1/15m A
GET /2/users/reposts_of_me 75/15m U 75/15m U 1/15m U

Source: Rate limits table (Posts lookup/search/timelines/stream). (X Developer Platform)

Important sanity check: full-archive search is documented as Pro/Enterprise only. (X Developer Platform)

Users (lookup/search/follows/mutes)

Endpoint Pro Basic Free
GET /2/users 900/15m U; 300/15m A 100/24h U; 500/24h A 1/24h U; 1/24h A
GET /2/users/:id 900/15m U; 300/15m A 100/24h U; 500/24h A 1/24h U; 1/24h A
GET /2/users/by 900/15m U; 300/15m A 100/24h U; 500/24h A 1/24h U; 1/24h A
GET /2/users/by/username/:username 900/15m U; 300/15m A 100/24h U; 500/24h A 3/15m U; 3/15m A
GET /2/users/me 75/15m U; 75/15m A 1/24h U -
GET /2/users/search 300/15m U 1/15m U -
GET /2/users/:id/blocking 15/15m U 5/15m U 1/15m U
GET /2/users/:id/muting 15/15m U 100/24h U 1/24h U
POST /2/users/:id/following 50/15m U 5/15m U 1/15m U
DELETE /2/users/:source_user_id/following/:target_user_id 50/15m U 5/15m U 1/15m U
POST /2/users/:id/muting 50/15m U 5/15m U 1/15m U
DELETE /2/users/:source_user_id/muting/:target_user_id 50/15m U 5/15m U 1/15m U

Source: Rate limits table (Users). (X Developer Platform)

Spaces

Endpoint Pro Basic Free
GET /2/spaces 300/15m U; 300/15m A 5/15m U; 25/15m A 1/15m U; 1/15m A
GET /2/spaces/:id 300/15m U; 300/15m A 5/15m U; 25/15m A 1/15m U; 1/15m A
GET /2/spaces/:id/buyers 75/15m U; 75/15m A 5/15m U; 25/15m A 1/15m U; 1/15m A
GET /2/spaces/:id/tweets 300/15m U; 300/15m A 5/15m U; 25/15m A 1/15m U; 1/15m A
GET /2/spaces/by/creator_ids 300/15m U; 1/s A 5/15m U; 25/s A 1/s U; 1/15m A
GET /2/spaces/search 300/15m U; 300/15m A 5/15m U; 25/15m A 1/15m U; 1/15m A

Source: Rate limits table (Spaces). (X Developer Platform)

Direct Messages

Endpoint Pro Basic Free
GET /2/dm_events 15/15m U - -
GET /2/dm_events/:id 15/15m U - -
GET /2/dm_conversations/:dm_conversation_id/dm_events 15/15m U 1/24h U -
GET /2/dm_conversations/with/:participant_id/dm_events 15/15m U 1/15m U -
POST /2/dm_conversations 15/15m U; 1,440/24h A 1/24h U; 1/24h A -
POST /2/dm_conversations/:dm_conversation_id/messages 15/15m U; 1,440/24h A 1/24h U; 1/24h A -
POST /2/dm_conversations/with/:participant_id/messages 1,440/24h U; 1,440/24h A 1/24h U; 1/24h A -
DELETE /2/dm_events/:id 1,500/24h U; 4,000/24h A 200/15m U; 2,500/24h A -

Source: Rate limits table (DMs). (X Developer Platform)

Lists

Endpoint Pro Basic Free
DELETE /2/lists/:id 300/15m U 5/15m U 1/15m U
DELETE /2/lists/:id/members/:user_id 300/15m U 5/15m U 1/15m U
DELETE /2/users/:id/followed_lists/:list_id 50/15m U 5/15m U 1/15m U
DELETE /2/users/:id/pinned_lists/:list_id 50/15m U 5/15m U 1/15m U
GET /2/lists/:id 75/15m U; 75/15m A 5/15m U; 5/15m A 1/15m U; 1/15m A
GET /2/lists/:id/members 900/15m U; 900/15m A 5/15m U; 25/15m A 1/15m U; 1/15m A
GET /2/lists/:id/tweets 900/15m U; 900/15m A 5/15m U; 25/15m A -
GET /2/users/:id/list_memberships 75/15m U; 75/15m A 5/15m U; 25/15m A 1/15m U; 1/15m A
GET /2/users/:id/owned_lists 15/15m U; 15/15m A 100/24h U; 500/24h A 1/24h U; 1/24h A
GET /2/users/:id/pinned_lists 15/15m U; 15/15m A 100/24h U; 500/24h A 1/24h U; 1/24h A
POST /2/lists 300/15m U 100/24h U 1/24h U
POST /2/lists/:id/members 300/15m U 5/15m U 1/15m U
POST /2/users/:id/followed_lists 50/15m U 5/15m U 1/15m U
POST /2/users/:id/pinned_lists 50/15m U 5/15m U 1/15m U
PUT /2/lists/:id 300/15m U 5/15m U 1/15m U

Source: Rate limits table (Lists). (X Developer Platform)

Bookmarks

Endpoint Pro Basic Free
GET /2/users/:id/bookmarks 180/15m U 10/15m U 1/15m U
POST /2/users/:id/bookmarks 50/15m U 5/15m U 1/15m U
DELETE /2/users/:id/bookmarks/:tweet_id 50/15m U 5/15m U 1/15m U
GET /2/users/:id/bookmarks/folders 50/15m U; 50/15m A 5/15m U; 5/15m A 1/15m U; 1/15m A
GET /2/users/:id/bookmarks/folders/:folder_id 50/15m U; 50/15m A 5/15m U; 5/15m A 1/15m U; 1/15m A

Source: Rate limits table (Bookmarks). (X Developer Platform)

Compliance, usage, trends, communities

Endpoint Pro Basic Free
GET /2/compliance/jobs 150/15m A 5/15m A 1/15m A
GET /2/compliance/jobs/:job_id 150/15m A 5/15m A 1/15m A
POST /2/compliance/jobs 150/15m A 15/15m A 1/15m A
GET /2/usage/tweets 50/15m A 50/15m A 1/15m A
GET /2/trends/by/woeid/:id 75/15m A 15/15m A -
GET /2/users/personalized_trends 10/15m U; 200/15m A 1/15m U; 20/15m A 1/15m U; 1/24h A
GET /2/communities/:id 300/15m U; 300/15m A 1/15m U; 25/15m A 1/15m U; 1/15m A
GET /2/communities/search 18/15m U; 300/15m A 1/15m U; 25/15m A 1/15m U; 1/15m A

Sources: Rate limits table (Compliance/Usage/Trends/Communities). (X Developer Platform)

Effective cost at the cap (simple math, nothing magical)

If you actually hit caps, this is what you are paying per allowed unit. This is not what X bills you per request. It is just price divided by maximum included quota.

Plan $/1k reads at cap $/1k app-level posts at cap
Basic ($200/mo) $200 / 15k = $13.33 per 1k reads $200 / 50k = $4.00 per 1k posts
Pro ($5,000/mo) $5,000 / 1,000k = $5.00 per 1k reads $5,000 / 300k = $16.67 per 1k posts

Caps and pricing used here come from the official plan page. (X Developer)

What's not publicly quantified (so you will not find it in the reference)

  • Top-up pricing/size: the plans say "2 top ups" for Basic/Pro, but public docs do not spell out price per top-up or how many reads/writes you buy per top-up on the public pages we can access. (X Developer)
  • Enterprise exact quotas: public pages give "starts at $50k/month" and "50+ million Posts/month" post cap, but the actual SKUs, add-ons, and contract terms are sales-driven. (X Developer)

Bottom line

The plan names are noise. The caps and rate limits are the product. If you are building on the X API, design around the Post cap and per-endpoint limits, not the marketing tier.

If you are comparing API costs across platforms, see my breakdown of direct provider image and video generation pricing here: /blog/direct-provider-pricing-image-video-generation-apis.

Previous

Previous article

Direct Provider Pricing for Image + Video Generation APIs (USD)

Next article

From StudlyCaps to SpongeBob: The Surprising History of tHiS wEiRd, MoCkInG tExT

Next

Explore the tools or browse interactive maps for more experiments.

Back to Blog Posts