X API pay-per-use endpoint costs

X bills per resource returned, not per HTTP call. A search that returns 100 posts costs 100 post reads at $0.005 each. This page maps each v2 endpoint family to its published credit rate so trend pipelines can be costed before the first Developer Console top-up.

X switched new developers to pay-per-use credits in February 2026. The surprise for most pipelines is multiplication: one API call can bill dozens or hundreds of resources. A recent-search job that pages through 500 tweets is not one $0.005 charge. It is 500 charges.

For the broader tier comparison and legacy Basic math, see the X API pricing comparison. For live trending topics without X credentials, see the X trending topics API.

How X bills API calls

X deducts credits per resource fetched on reads and per request on writes. Rates below come from the official X Developer documentation and the April 2026 pricing update. Verify current figures in the Developer Console before budgeting production spend.

Resource typeUnit costCharged per
Posts: Read$0.005post returned
Users: Read$0.010user profile returned
Following / Followers: Read$0.010relationship resource
Trends: Read$0.010trends resource fetched
DM Events: Read$0.010DM event returned
Owned Reads (own posts, bookmarks, followers)$0.001owned resource
Lists: Read$0.005list resource
Spaces: Read$0.005space resource
Communities: Read$0.005community resource
Media: Read$0.005media attachment
Analytics: Read$0.005analytics resource
Content: Create (no URL)$0.015write request
Content: Create (with URL)$0.200write request
DM Interaction: Create$0.015send request

Writes and reads draw from the same credit balance. URL posts carry a 13x markup over plain text posts since the April 2026 rate change.

Search and timeline endpoints

Search endpoints dominate spend for trend-monitoring prototypes. Each tweet object in the response array counts as one post read.

EndpointTypical useCost example
GET /2/tweets/search/recentKeyword monitoring, 7-day window100 results = $0.50
GET /2/users/:id/tweetsUser timeline sampling50 tweets = $0.25
GET /2/tweetsLookup by ID batch20 IDs = $0.10
GET /2/users/by/username/:usernameResolve handle to ID1 user = $0.010

A cron job that searches five keywords every hour and returns 50 posts each run burns 5 × 24 × 50 = 6,000 post reads per day. At $0.005 each, that is $30.00 per day, or roughly $900 per month, before pagination, errors, or deduplication overhead.

Filtered stream endpoints remain on legacy Pro and Enterprise tiers for existing subscribers. New pay-per-use accounts do not get streaming access at self-serve rates.

Trends endpoint versus post-read inference

The official trends path is GET /2/trends/by/woeid/:id. One call returns the trending topic names for a location. At $0.010 per trends read, polling 10 WOEIDs every 30 minutes costs 10 × 48 × $0.010 = $4.80 per day.

Teams that skip the trends endpoint and instead search recent posts for volume spikes pay the post-read rate. Sampling 200 posts per keyword across 10 keywords once per hour costs 10 × 24 × 200 × $0.005 = $240 per day. The trends endpoint exists because post-read inference is orders of magnitude more expensive for the same signal.

WOEID coverage is location-based. Global or category-level trending lists are not exposed the same way across all third-party feeds.

Owned-account reads and write costs

Owned-account reads at $0.001 apply only to the authenticated user's own posts, followers, bookmarks, and likes. Third-party monitoring still bills at standard post-read and user-read rates.

Publishing workflows add write charges on top of reads:

ActionCost
Post text or media (no link)$0.015
Post containing a URL$0.200
Send DM$0.015

A bot that posts 100 link-free updates per day spends $1.50 daily on writes alone. The same bot that includes URLs in every post spends $20.00 daily.

Monthly read cap and credit controls

Pay-per-use accounts face a 2,000,000 post-read ceiling per month. At the full cap, post reads alone cost $10,000 before any user lookups, trends calls, or writes. Crossing the cap requires Enterprise negotiation.

The Developer Console supports prepaid credit purchases, optional auto-recharge, and per-cycle spending limits. X also advertises up to 20% back in xAI API credits on qualifying spend, which matters only if the team already uses Grok programmatically.

When a trend feed API costs less

Three workload shapes favor skipping per-post X API reads:

  1. Ranked trending list only. No tweet bodies, no user objects, no search pagination. One trends read or one aggregated feed call per interval.
  2. Low-volume alerting. Poll hourly or every few hours, diff topic names against a stored set, alert on new entries.
  3. Cross-platform context. X trending topics paired with Google Search or Reddit growth to judge whether a spike is platform-local or broader.

Trends MCP covers the first two via get_top_trends with type X (Twitter). One request returns ranked [rank, topic] pairs as JSON. The free tier allows 100 requests per month with no X developer account. For scheduled polling patterns and quota math, see monitoring X trending topics on a schedule.

The official X API still wins when the product needs tweet text, engagement metrics, user profiles, or write access. Endpoint-level pricing makes that boundary visible early: if the monthly post-read line item exceeds the value of tweet-level data, the workload may be a trend-feed problem instead.

Common questions

X charges per post resource returned, not per HTTP request. A GET /2/tweets/search/recent call that returns 100 tweets bills 100 post reads at $0.005 each, or $0.50 for that single call. The default page size is often 10 to 100 results depending on endpoint parameters. Budget search pipelines by expected result count, not call count.
Published pay-per-use rates list Trends: Read at $0.010 per resource fetched. Pulling available trends for a WOEID location counts as one trends read at $0.010 under current rate cards. That is double the $0.005 post-read rate but still far cheaper than inferring trends by reading thousands of individual posts.
For teams that only need the current ranked trending topics list, Trends MCP returns live X trending data via get_top_trends at one request per poll with no X developer account. The official trends endpoint costs $0.010 per fetch; a post-read pipeline that samples 1,000 tweets to guess what is trending costs $5.00 before any analysis code runs.
Pay-per-use accounts hit a hard cap at 2,000,000 post reads per calendar month. Further reads require an Enterprise contract, typically quoted from around $42,000 per month. User reads, trends reads, and owned-account reads may have separate metering. Monitor consumption in the X Developer Console billing dashboard.