All comparisons

X API alternative: pricing and limits compared

A cheaper X API alternative for public posts, profiles, and search. The X API bills $0.005 for every post it returns. Openhandle bills $0.0025 for a whole page. Start with 100 free requests, no card.

Checked October 2026 · public pricing pages · no affiliate links

Free tierX APINone listed. $20 in credits after your first card purchaseOpenhandle100 free requests, no card
Pricing modelX APIPrepaid credits. Billed for each post or user in the responseOpenhandlePay per request from a balance. No credits, no subscription
PricingX API$0.005 per post read, $0.010 per user read. Capped at 3 million post reads a monthOpenhandle$2.50 per 1k, down to $2 per 1k at volume. 30-day cache hits are free
Rate limitsX APISet per endpoint in 15-minute windows. Recent search: 450 calls per appOpenhandle10 per second per key. Higher on request
Time to first callX APISign up in the developer console, create an app, and buy creditsOpenhandleSeconds. No approval wait
Response shapeX APIX only. You pick fields and expansions on each callOpenhandleOne schema across Instagram, TikTok, X, Reddit, and YouTube
PlatformsX APIX onlyOpenhandle43 Instagram, 28 TikTok, and 15 X endpoints. More platforms and data added by demand

$2.50 per 1,000 requests. Add balance from $10. Your first 100 requests are free.

X API pricing

The X API now runs on pay-per-use. You buy credits in the developer console, and each call takes from them. There is no subscription, and X’s pricing page lists no free tier.

  • —Post reads. $0.005 for each post in the response. A search that returns 100 posts costs $0.50.
  • —User reads. $0.010 for each profile in the response. Followers and following lists cost $0.010 for each account too.
  • —Repeat reads. X bills the same post or user once per UTC day. A second read that day is free.
  • —Monthly cap. Pay-per-use stops at 3 million post reads a month. Past that, X points you to Enterprise.
  • —Starter credits. New accounts get $20 in credits after they save a card and make a first credit purchase.

Example: 1,000 profile lookups cost $10 on the X API. On Openhandle they cost $2.50. A page of posts on Openhandle is one request at $0.0025, however many posts are on it. For the short answer on free access, see Is the X API free to read posts?. For every read and write price, see X API pricing.

Why people look for an alternative

  • —Every post costs money. Big searches and long timelines add up fast when each post is billed on its own.
  • —The 3,200 post limit. The user timeline endpoint stops at the 3,200 most recent posts. See how to get posts past 3,200.
  • —A monthly read limit. Pay-per-use stops at 3 million post reads a month. More than that means an Enterprise deal.
  • —One platform. The X API only covers X. If you also need Instagram, TikTok, or Reddit, you add more APIs and more parsers.

Where the X API may fit

  • —Posting and other writes. Post, reply, like, follow, and send DMs. Openhandle is read-only and never writes to X.
  • —Your own account data. DMs, bookmarks, mutes, blocks, and anything else that needs a user to log in.
  • —Full archive search. Pay-per-use includes search back to March 2006. Openhandle search reaches what X’s public search shows today.
  • —Official terms. If your product must run under X’s own developer terms, use the X API.

You can use both. Use the X API for writes and Openhandle for public reads.

What changes when you move

  • —One price per request. $0.0025 per request, down to $0.002 at volume. 30-day cache hits are free. A page of posts counts as one request.
  • —Cheaper older data. Ask for cached data when it can be a bit old. It costs $0.0005 at 24 hours, $0.0001 at 7 days, and free at 30 days.
  • —Failed requests are free. You pay only when Openhandle returns an answer.
  • —Your balance is the limit. There is no monthly read cap. You can set a monthly request cap on each key.
  • —One shape. Profiles, posts, and comments look the same on X, Instagram, TikTok, and Reddit.
  • —Public data only. Openhandle reads public data only. Protected accounts return PROFILE_PRIVATE.

Move your integration

  1. 01Start with a Test key. Create a Test key in the dashboard. Use the synthetic identifiers in the quickstart to check your integration without charges.
  2. 02Map your calls. Match each X API call to the API reference. Check endpoints, parameters, and returned fields before you switch. Keep posting and other writes on the X API. The table below lists common calls.
  3. 03Update paths, parameters, and authentication. Use https://api.openhandle.dev/v1 with Authorization: Bearer followed by your key. Openhandle needs no OAuth user tokens. Profile usernames need an @ prefix in REST paths. Use the documented identifier for each post.
  4. 04Map response fields. Successful responses contain platform, resource, capturedAt, source, and data. There are no expansions to request. Map fields using the response schemas. Keep unavailable metrics as null.
  5. 05Handle pagination and errors. Pass meta.cursors.next back as cursor for list requests. X next_token values do not work here. Handle Openhandle error codes and retry only when retryable is true. See pagination and errors.
  6. 06Set a cap. Pick a monthly spending cap before you go live. We stop before it, so a bad loop cannot run up a bill.
  7. 07Check before switching. Check success, empty, protected, and not-found cases with a Test key. Then move to Live and compare a small sample with the X API before you switch production traffic.
What you fetchX APIOpenhandle call
A profile by handleGET /2/users/by/username/{username}GET /v1/twitter/profiles/@handle
A profile’s postsGET /2/users/{id}/tweetsGET /v1/twitter/profiles/@handle/posts
One postGET /2/tweets/{id}GET /v1/twitter/posts/{id}
Replies to a postSearch with conversation_idGET /v1/twitter/posts/{id}/comments
Followers of a profileGET /2/users/{id}/followersGET /v1/twitter/profiles/@handle/followers
Post searchGET /2/tweets/search/recentGET /v1/twitter/search/posts?q=term
Posts in a listGET /2/lists/{id}/tweetsGET /v1/twitter/lists/{id}/posts
A post or profile from a URLParse the URL yourselfPOST /v1/urls/fetch with a JSON url field

Verdicts

Choose Openhandleto read public X posts, profiles, followers, and search at one price per request, with free 30-day cache hits.
Choose the X APIif you post, write, or need data that sits behind a user login.
Use bothUse the X API for writes and Openhandle for public reads.
How we checked

We read X’s official pricing, rate limit, and search docs at docs.x.com and X’s developer announcements in October 2026. X changes its prices often. If a number is out of date, tell us and we fix it.

Try Openhandle on your own data.

Instagram, TikTok, X, Reddit, and YouTube in one API, with one response shape. Failed requests are free.

$2.50 per 1,000 requests. Add balance from $10.

Related comparisons