Twitter (X) scraper API: pricing, alternatives
The official X API bills $0.005 for every post it returns. Compare Twitter scraper API pricing with a pay-per-request alternative for public data.
Checked September 2026 · public pricing pages · no affiliate links
The official X API still exists, but every read costs money. X bills $0.005 for each post and $0.010 for each user in a response, and pay-per-use stops at 3 million post reads a month. That price is why people search for a Twitter scraper API. This page explains the options and what each one really costs.
Openhandle reads public X data on request and returns it in one schema. 15 X endpoints cover profiles, posts, replies, media, followers, lists, and search.
Openhandle reads public data on request and returns it in one schema. It is not a scraper you run. Read the public data notice for what we never do.
$2.50 per 1,000 requests. Add balance from $10. Your first 100 requests are free.
Why the official API pushes people away
X sells API access pay-per-use. Each post in a response costs $0.005 and each user costs $0.010. A search that returns 100 posts costs $0.50. X’s pricing page lists no free tier. Scrapers fill the gap by reading the public web interface, and X changes that interface often.
What a Twitter scraper is used for
- —Brand monitoring. Posts and replies that mention a brand, a product, or a handle.
- —Social listening. Search by keyword and read the conversation threads underneath.
- —Profile tracking. Follower counts, bio, and recent posts for a set of accounts over time.
- —Creator reads. Views, likes, reposts, and quotes on a creator's recent posts.
- —List and follower graphs. Who an account follows, who follows it, and the lists it belongs to.
Where Twitter scrapers break
- —Login walls. X hides most content from logged-out visitors. Scrapers use pooled accounts, and those accounts get suspended in waves.
- —Guest tokens. The public web interface needs a guest token that X rotates and rate-limits. When it changes, every scraper built on it fails at once.
- —Protected and suspended accounts. Many scrapers return an empty success. You cannot tell "protected" from "no posts".
- —View counts. X shows views only in some places. A scraper that fills in 0 breaks every reach number you compute.
- —Long threads. Replies load in pages with cursors that expire. Half a thread is a common result.
What Openhandle does instead
- —Public reads on request. You ask for a public profile, post, or search. We read it and answer. A protected account returns a clear error.
- —Null means hidden. A view count X does not show comes back as null, never as 0.
- —Stable pagination. Replies, followers, and search pages come back with cursors that keep working.
- —Media that stays up. Images and videos are served from our CDN. The link you store keeps working.
- —One schema with Instagram and TikTok. A post is a post on every platform. One parser, three networks.
- —Pay per answer. $0.0025 per request, down to $0.002 at volume. 30-day cache hits are free. Failed requests are free. You pay only when Openhandle returns an answer. No monthly plan.
What we never do
Openhandle is read-only. We never post, like, repost, follow, or message on any account. Protected accounts, direct messages, and anything a logged-out visitor cannot see are out of scope. Account owners can ask us to block their profile. The public data notice lists every limit.
Start in a minute
Create a key and make your first X call. You get 100 free live requests and no card is needed. See every endpoint on the X (Twitter) API page, and run a request from the quickstart in cURL, TypeScript, Go, Python, PHP, or Rust.
Official X API tiers come from X's public developer pricing page. Scraper failure modes come from public listings and from customers who moved to Openhandle. Openhandle endpoint counts and rates come from our own catalog and pricing page and update with them.
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.