X API Comparison 2026: Real Cost per 1,000 Records

By Anurag Pathak · · 12 min read

Every X (Twitter) data provider publishes a price, and almost none of them publish it in the same unit. One charges per returned resource. One charges per delivered row. One charges per request that happens to cost five credits. Two publish in pounds and euros. Until every one of those is converted to the same denominator, you are not comparing prices — you are comparing marketing.

So this post does the conversion. Twelve options, one denominator: US dollars per 1,000 records. Then six dimensions that the price alone hides — what a record actually contains, how hard it is to get a key, rate limits, free tiers, what an empty result costs you, and what real customers say about support.

Every figure below was read from the vendor's own published page on 9 September 2026 and each row links to that page. This is desk research on pricing, docs and free-tier terms. I did not run a benchmark, so there is not a single latency or success-rate number in this post.

Short answer: on list prices read 9 September 2026, the cheapest X post record is Serpent at $0.10 per 1,000 calls, then Apify's igolaizola actor at $0.13 and twitterapi.io at $0.15. The official X API is $5.00 per 1,000 Post reads — 50× the cheapest row, and 100× on profiles. But the unit matters more than the rate: a provider that bills per item charges you again for every post attached to a profile.

How I normalised the prices

Four rules, applied to every row so the numbers are genuinely comparable.

If you want the "who should I buy from" version of this question — what each provider is actually for, and who each one suits — that is a different post: the 2026 directory of X data providers. This one is strictly the side-by-side.

The normalised cost table

This is the table I could not find assembled anywhere else: twelve X data options, every price converted to dollars per 1,000 records, with the condition attached to each rate stated in the same row.

Provider What one billed unit is $ / 1,000 posts $ / 1,000 profiles What that rate needs Free allowance
Serpent API One call. One call is one post, or one profile with its recent posts. $0.10
($0.07 Scale)
$0.10 flat
($0.15 hydrated)
Nothing for $0.10. The $0.07 post rate needs one $500 deposit, spendable as balance. The profile rate never moves. 10 free API calls
X API (official) One returned resource. Posts and Users meter separately. $5.00 $10.00 Nothing — pay-per-usage credits are the published model. Capped at 3M Post reads per billing cycle. None published for reads
twitterapi.io One returned item (one tweet, one user). $0.15 $0.18 Nothing. Minimum $0.00015 per API call, waived for bulk data responses. Trial credit, amount not published
Apify — igolaizola X Twitter Scraper One result. $0.13 Base rate. Apify Store discounts lower it on higher plans; the resulting number is not published. $5/month platform credit on Apify's Free plan
Apify — xquik X Tweet Scraper One delivered row, tweet or profile alike. $0.15 $0.15 Nothing extra — the same rate on every Apify plan. As above
Apify — api-ninja X Profile Scraper One result. $0.30 Base rate. Store discounts apply, unpublished. As above
Apify — parseforge X.com Profiles Scraper One result, priced at $0.01734 each. $17.34 Base rate. 10 results per run preview on Apify's Free plan
Bright Data X Scraper One successfully delivered record. $1.50
($1.30 Scale)
$1.50
($1.30 Scale)
$1.50 pay-as-you-go. $1.30 needs the $499/month Scale plan, which includes 384,000 records. 5,000 records/month, no card
Scrapingdog One successful request, billed at 5 API credits. $1.00 $1.00 The $40/month Lite plan. Larger plans lower it: $200/month Pro works out at about $0.33. 200 credits = 40 X requests
ScrapeCreators One credit; 1 credit is 1 request on most endpoints. $1.88
($0.99 Business)
$1.88
($0.99 Business)
$47 prepaid for the Freelance rate, $497 for the Business rate. Credits never expire. 100 credits, plus up to 7,000 bonus credits to claim
SocialCrawl One credit per standard API call; composite endpoints cost more. $8.14
($2.70 Pro)
$8.14
($2.70 Pro)
£15 Starter for the entry rate; £299 Pro for the floor rate. 100 credits
Data365 One credit. 1 post = 1 credit; 1 profile with info = 9 credits. $0.70 $6.28 The €300/month Basic plan: 500,000 credits, one social network. 14-day trial, no card

Prices checked 2026-09-09. Every rate was read from the vendor's own live pricing or Actor page on that date; each provider name links to the page it came from. Serpent's rates are its published rate card, also on the pricing page. Scrapingdog's per-1,000 figures are derived from its published plan credits and its documented cost of 5 API credits per X request: $40 ÷ 200,000 credits × 5 = $0.001 per request, so $1.00 per 1,000. Data365 and SocialCrawl publish in euros and pounds; converted at mid-market rates on 2026-09-09 (1 GBP = 1.3562 USD, 1 EUR = 1.1630 USD). Re-verify before you budget — marketplace Actor rates change whenever the author edits the pricing block, and platform pricing in this category has moved repeatedly since 2023.

Two honest caveats, because a table nobody can rebut is worth more than a flattering one. Apify's true floor is unknown rather than beaten: the igolaizola and api-ninja actors both say the rate drops on higher paid Apify subscriptions and neither publishes the resulting number. And Scrapingdog's floor is genuinely low — its largest published plans work out near $0.14 per 1,000 X requests, close to the cheapest rows here, though reaching that takes $30,000 a month in committed spend.

Why the unit beats the rate

Look at the second column before the third. It is worth more.

Take one concrete job: a profile plus five of its recent posts, with engagement on each. That is six pieces of information, and providers price it in three completely different ways.

ProviderHow the job is billedCost per 1,000 profiles
SerpentOne hydrated profile call$0.15
twitterapi.io1 user + 5 tweets = 6 billed items$0.93
Apify (xquik)6 delivered rows$0.90
X API (official)1 User read + 5 Post reads$35.00

Arithmetic on the published rates above. twitterapi.io: $0.00018 + (5 × $0.00015) = $0.00093 per profile. Apify xquik: 6 × $0.00015 = $0.00090. Official X API: $0.010 + (5 × $0.005) = $0.035. Five recent posts is my own worked assumption for a like-for-like job, not a promise about how many posts any given profile shows.

The spread widens from 1.5× on a single post to roughly 6× on this job, and to 233× against the official API. Nothing about the headline rates predicted that. The unit did.

This is the same trap that shows up on every social vertical, and it is worth recognising once: I priced it out on TikTok in the TikTok scraping API comparison, and on LinkedIn in the LinkedIn data API cost breakdown. Same shape, different platform.

A row of price tags of different sizes hanging on strings, illustrating identical products advertised in incompatible units

What one record actually contains

A cheap record that is missing the field you need is not cheap. Here is what each provider documents in a single post record.

ProviderEngagement counts in one post recordNotable extras
Serpent favorites, replies quoted_tweet, reply_to, media[], hashtags[], mentions[], urls[], lang, possibly_sensitive, is_edited. Retweet, quote, bookmark and view counts are not in this record at any tier.
twitterapi.io likeCount, retweetCount, replyCount, quoteCount, bookmarkCount, viewCount source, lang, conversationId, inReplyToId, entities, quoted_tweet, retweeted_tweet, isLimitedReply.
Scrapingdog views, retweets, quotes, likes, bookmarks The full author block travels inside the same post record: handle, picture, description, location, followers, following, likes, statuses, is_blue_verified.
Apify (igolaizola) likes, comments, retweets, quotes, views Permalink, username, full name, avatar, verification status, retweet and reply data, image and video URLs.
Bright Data replies, reposts, views Post ID, user info, date posted, hashtags, photos, videos, quoted posts.
X API (official) Whatever you request through fields and expansions The most complete and most authoritative record here — and the one where each returned resource meters separately, so a wide expansion is a wider bill.

Field lists read from each vendor's own documentation or Actor page on 2026-09-09: twitterapi.io tweet object, Scrapingdog X Post Scraper, and the Apify and Bright Data pages linked in the cost table. Serpent's field list is published on its X (Twitter) API page and in the endpoint documentation.

Read the first column and the second together. If your job is ranking posts by reach, view and repost counts are load-bearing, and four of the providers here carry both. If your job is resolving links you already hold into structured rows — a support inbox, a moderation queue, a citation archive — then thread context, media and language matter far more than a view count, and you should not pay a 10× rate for numbers you will never read.

On profiles the divergence is even sharper. The same record type spans $0.30 to $17.34 per 1,000 inside a single marketplace — api-ninja's profile actor against parseforge's, both on Apify, both returning a handle, a bio, follower and following counts, a website and a join date. That is a 58× spread for a broadly similar payload, on the same platform, on the same day. It is the strongest argument in this post for reading the pricing block on the specific actor rather than trusting the marketplace's reputation.

Auth and onboarding friction

How long from "I want to try this" to "I have a working request" — and what you have to hand over.

Rate limits and caps

Two different constraints get conflated here, and they behave nothing alike. A rate limit slows you down. A cap stops you.

The official X API publishes both. Its documented v2 read limits are 3,500 requests per 15 minutes per app on GET /2/tweets, 450 per 15 minutes on GET /2/tweets/:id, and 300 per 15 minutes per app on GET /2/users/by/username/:username, with a 429 carrying an x-rate-limit-reset header. Above those sits the hard one: 3 million Post reads per monthly billing cycle, after which pay-per-usage stops and Enterprise is the only route on.

The third parties mostly publish throughput rather than caps. twitterapi.io's docs state support for up to 200 QPS per client. Bright Data advertises unlimited concurrency on both its pay-as-you-go and Scale plans. Apify is job-shaped rather than request-shaped: throughput is a function of how many actor runs your plan lets you hold at once, and no requests-per-minute number is published for it.

Serpent's shape is closer to the job model for volume work: the shared job form takes 1 to 200 lookups in a single submission for either X endpoint, results come back by polling, signed webhook or one downloadable file, and every item bills at the same published per-call rate — no bulk premium, no bulk discount. There is no depth parameter on X, so a job buys a bigger time budget and one submission instead of a thousand round trips, never more records per lookup.

The practical planning question is not "how fast is it" but "what happens at the ceiling". Only one option in this comparison has a ceiling that ends in a sales call.

Free tiers, compared honestly

A free tier is worth comparing on two axes: how many records it gives you, and whether it lets you test the thing you are actually buying.

Volume is the easy axis. The harder one is whether the free tier lets you test the exact shape you will buy — a preview capped at 10 rows per run tells you the fields exist but tells you nothing about how the provider behaves at 10,000.

An empty cardboard box on a plain surface, illustrating a data request that returns nothing and the question of who pays for it

What an empty result costs

This is the dimension nobody puts in a comparison table, and it is the one that quietly decides your real cost per useful record. Posts get deleted. Accounts get suspended. Handles get renamed. On a list of any age, a meaningful share of your lookups will find nothing — and every provider has a different rule about who pays for that.

There is a second half to this, which is what a thin result looks like. A record with every key present and the missing ones empty is something your pipeline can branch on. A shape that changes depending on what was found is something your pipeline discovers in production at 3am. Serpent's X endpoints return one record with every key always present, which is the property that makes an empty result readable rather than ambiguous. It is worth asking every vendor on your shortlist the same question, and billing for failed requests is where the money actually leaks — alongside the other costs that never make it onto a pricing page.

Support and docs, from real reviews

I did not test support. What I can do is report what verified customers publish, with counts and dates, so you can weigh it yourself.

ProviderPublic ratingWhat reviewers praiseWhat reviewers complain about
Apify 4.8 / 5 from 727 Trustpilot reviews Breadth of ready-made actors; "instead of writing and maintaining scrapers myself, one almost always already exists" (Sep 2026) Cost predictability. "I couldn't tell what a run would cost before starting it, so I got a couple of bills I wasn't expecting" (Aug 2026); another reports needing to try "around 5 different scrapers" before finding one that worked (Aug 2026)
Scrapingdog 4.7 / 5 from 586 Trustpilot reviews Value and responsiveness; "easy API, good value for money, quick and efficient customer service" (May 2026) Individual endpoints breaking, and refund disputes; one reviewer reports support "frequently unhelpful or evasive" (Jan 2026)
twitterapi.io 4.6 / 5 from 30 Trustpilot reviews Support speed above all; "support is almost instantaneous" (Feb 2026), "pricing is very cheap compared to official options" A small sample, and one 1-star review reporting unanswered messages and unreliable extraction (Dec 2025)
Bright Data 4.3 / 5 from 1,019 Trustpilot reviews Depth of technical support once you reach a human A pricing structure one reviewer calls too restrictive for smaller individual users; another reports an unanswered support queue; another a repetitive KYC process; another found the initial support bot "straight-up frustrating"

Ratings and quotes read from Trustpilot on 2026-09-09: Apify, Scrapingdog, twitterapi.io, Bright Data. Review counts move; check the live page. Serpent has no meaningful public review corpus yet, so it is deliberately absent from this table rather than represented by nothing.

One pattern is worth naming because it repeats across every vendor with a marketplace model: the complaints are almost never about the data and almost always about not knowing what a run would cost before starting it. That is a documentation problem dressed as a pricing problem, and it is the reason a flat per-call rate with the scope limits published up front tends to beat a lower headline rate you cannot forecast. The same dynamic on LinkedIn is broken down in Apify's two-layer bill explained and Bright Data's per-record pricing explained.

Which one wins on which axis

No single row wins everything. Match the axis to your job.

Before you commit to any of them, do one thing: price the job you actually have, not the record type in the headline. Multiply the number of records you will pull by the provider's real billed unit, add the lookups you expect to find nothing, and only then compare. That is a five-minute exercise and it reorders this table more often than not. The wider question of platform API versus public data API — when each is the right tool — is worked through in platform API vs public data API.

FAQ

What is the cheapest X (Twitter) API per 1,000 records in 2026?

On published list prices read on 9 September 2026, the cheapest post record is Serpent at $0.10 per 1,000 calls, then Apify's igolaizola actor at $0.13 per 1,000 results and twitterapi.io at $0.15 per 1,000 tweets. On profiles, Serpent is $0.10 per 1,000 calls against Apify's xquik actor at $0.15 per 1,000 delivered rows and twitterapi.io at $0.18 per 1,000 users. Two caveats: Apify's actors discount below their published base on higher paid Apify plans without publishing the resulting number, and Scrapingdog's per-request model reaches $0.14 per 1,000 only on a $30,000 a month plan.

Why is the official X API so much more expensive than third-party providers?

X publishes pay-per-usage credit pricing of $0.005 per Post read and $0.010 per User read, which is $5.00 and $10.00 per 1,000 returned resources. That is 50 times the cheapest post rate and 100 times the cheapest profile rate in this comparison. You are buying different things: the official API is the licensed, terms-clean route with first-party guarantees, and it is capped at 3 million Post reads per monthly billing cycle before you have to move to Enterprise. Third-party providers sell public data as a product and compete on price.

Does per 1,000 mean the same thing at every X data provider?

No, and this is the single biggest source of budget error in the category. The billed unit is a returned resource at the official X API, a returned item at twitterapi.io, a delivered row at Apify, a successfully delivered record at Bright Data, a request costing five credits at Scrapingdog, and one credit inside a monthly bundle at Data365 and SocialCrawl. A provider that bills per item charges you again for every post attached to a profile. A provider that bills per call charges once for the whole record.

Which X API providers have a real free tier?

Bright Data publishes 5,000 records per month free with no card. Serpent gives a signed-up account 10 free API calls shared across every free-eligible endpoint, and those calls are served first with no wait. ScrapeCreators gives 100 credits that never expire plus up to 7,000 bonus credits to claim, SocialCrawl gives 100 credits, Scrapingdog gives 200 credits which is 40 X requests at five credits each, and Data365 offers a 14-day trial with no card. Apify's Free plan includes $5 a month of platform usage. The official X API publishes no free read allowance.

Does a deleted post or an empty result still cost money?

It depends on the provider, and each one publishes its own rule. Bright Data states you only pay for what is successfully delivered and there are no charges for failed deliveries. Scrapingdog documents five API credits per successful request. twitterapi.io charges a minimum of $0.00015 per API call, waived for bulk data responses, so a call that finds nothing still carries the minimum. Serpent charges a 404 because a deleted post or a suspended account is an answer, and refunds a 503 in full because that is not your problem to pay for.

How often should I re-check these X API prices?

Before every budgeting exercise, and certainly before signing anything. Every figure in this comparison was read from the vendor's own published page on 9 September 2026 and each row links to the page it came from. Marketplace actor rates on Apify can change whenever the actor's author edits the pricing block, and platform pricing across this category has moved repeatedly since 2023. Treat a price older than a quarter as a starting point for a check, not as a number.

Related Posts