Skip to main content

Pricing, Plans, and Cost per Request

Sorsa API uses a flat pricing model: 1 API call = 1 request from your quota, regardless of which endpoint you hit. A complex tweet search costs the same as a simple ID conversion. There are no “credit multipliers,” no per-endpoint pricing tiers, and no hidden charges for user data embedded in tweet responses. This page explains the available plans, breaks down the effective cost per data unit for every endpoint, and shows how to estimate your monthly spend for common workflows.

Plans

StarterProEnterprise
Monthly requests10,000100,000500,000
Price$49/mo$199/mo$899/mo
Cost per request$0.0049$0.00199$0.0018
Rate limit20 req/s20 req/s20 req/s
All endpoints includedYesYesYes
Custom plans. If you need more than 500,000 requests per month - whether for AI training, large-scale scraping, or continuous monitoring across thousands of accounts - we offer custom volumes with dedicated rate limits. Contact [email protected] or reach us on Discord. Rate limit is the same on all standard plans. Every plan gets 20 requests per second. Upgrading from Starter to Pro does not change your speed, only your monthly quota. Custom enterprise plans can include higher rate limits if needed.

The Flat-Rate Principle

Many X data providers use credit-based pricing where different endpoints consume different numbers of credits per call. A search might cost 25 credits, a profile lookup 5 credits, and a follower extraction 50 credits. This makes budgeting difficult and creates situations where the same data costs wildly different amounts depending on how you access it. Sorsa does not work this way. Every request to every endpoint costs exactly 1 request from your quota. Additionally:
  • User data is included for free in tweet responses. When /search-tweets, /user-tweets, /comments, /mentions, or any tweet endpoint returns results, each tweet includes the full author profile (ID, username, bio, follower count, verified status, etc.). You are not charged extra for this embedded data.
  • Batch endpoints exist for high-volume lookups. /info-batch and /tweet-info-bulk let you fetch multiple items in a single request, so the effective cost per item drops significantly when you use them.
  • Follower/following endpoints return up to 200 profiles per request. This is among the highest per-request yields in the industry.

Cost per 1,000 Data Units

The real question is not “how much does a request cost?” but “how much does it cost to get the data I need?” The answer depends on how many items each endpoint returns per request.

Tweet Data

EndpointItems per requestRequests for 1K itemsStarterProEnterprise
/search-tweets~20 tweets50$0.25$0.10$0.09
/user-tweets~20 tweets50$0.25$0.10$0.09
/mentions~20 tweets50$0.25$0.10$0.09
/comments~20 tweets50$0.25$0.10$0.09
/quotes~20 tweets50$0.25$0.10$0.09
/list-tweets~20 tweets50$0.25$0.10$0.09
/tweet-info-bulkup to 100 tweets10$0.05$0.02$0.018
/tweet-info1 tweet1,000$4.90$1.99$1.80
Takeaway: Always use /tweet-info-bulk instead of looping /tweet-info. The cost difference is 100x. For collecting tweets by keyword, topic, or user, the search/timeline endpoints are the most efficient at ~$0.10 per 1,000 tweets on Pro.

User Profile Data

EndpointItems per requestRequests for 1K itemsStarterProEnterprise
/followersup to 200 users5$0.025$0.01$0.009
/followsup to 200 users5$0.025$0.01$0.009
/verified-followersup to 200 users5$0.025$0.01$0.009
/community-members~20 users50$0.25$0.10$0.09
/list-members~20 users50$0.25$0.10$0.09
/retweets (users who RT’d)~20 users50$0.25$0.10$0.09
/search-users~20 users50$0.25$0.10$0.09
/info-batchmultiple profiles~10$0.05$0.02$0.018
/info1 profile1,000$4.90$1.99$1.80
Takeaway: Follower/following extraction is extremely cost-efficient at $0.01 per 1,000 profiles on Pro. For bulk profile lookups, always use /info-batch instead of looping /info.

Verification Checks

EndpointItems per requestRequests for 1K checksStarterProEnterprise
/check-follow1 check1,000$4.90$1.99$1.80
/check-retweet1 check1,000$4.90$1.99$1.80
/check-quoted1 check1,000$4.90$1.99$1.80
/check-comment1 check1,000$4.90$1.99$1.80
/check-community-member1 check1,000$4.90$1.99$1.80
Verification endpoints are one-check-per-request by design (each checks a specific user against a specific action). For campaigns with 1,000 participants and 5 tasks each, budget 5,000 requests.

Utility Endpoints

EndpointItems per requestRequests for 1K itemsStarterProEnterprise
/about (country data)1 result1,000$4.90$1.99$1.80
/username-to-id1 conversion1,000$4.90$1.99$1.80
/id-to-username1 conversion1,000$4.90$1.99$1.80
/link-to-id1 conversion1,000$4.90$1.99$1.80
/score1 result1,000$4.90$1.99$1.80

Free Data: What You Get Without Extra Requests

Some data comes at zero additional cost because it is embedded in responses you are already making: User profiles inside tweet responses. Every tweet from /search-tweets, /user-tweets, /mentions, /comments, /quotes, and /list-tweets includes the full author profile. If you search for 1,000 tweets and they come from 400 unique users, you now have 400 complete profiles without a single /info call. Comment text inside verification responses. When /check-comment returns commented: true, the response includes the full tweet object of the comment. No need to call /comments separately to read what the user wrote. Quote text inside quote verification. When /check-quoted returns status: "quoted", the response includes the quote text and timestamp. Tweet data inside /article. The /article endpoint returns the full article text, engagement metrics, and the author profile in one call.

Budget Estimation for Common Workflows

Social Listening: Monitor a keyword and collect tweets

You poll /search-tweets every 30 seconds, 24/7, to capture tweets about your brand.
  • 1 request per 30 seconds = 2 req/min = 2,880 req/day = 86,400 req/month
  • Fits in the Pro plan ($199/mo)
  • Each request returns ~20 tweets, so you collect up to ~1.7M tweets/month

Competitor Analysis: Profile + content + mentions for 5 competitors

  • 5 profile lookups via /info: 5 requests
  • 50 pages of tweets per competitor via /user-tweets: 250 requests
  • 10 pages of mentions per competitor via /mentions: 50 requests
  • Total per run: 305 requests
  • Run weekly: 1,220 req/month - fits comfortably in the Starter plan

Audience Research: Extract and geo-analyze 50,000 followers

  • 50,000 followers via /followers (200/page): 250 requests
  • 50,000 country lookups via /about: 50,000 requests
  • Total: 50,250 requests
  • Fits in the Pro plan ($199/mo)
  • Cost: ~$100 (50,250 x $0.00199)

Campaign Verification: 2,000 participants, 5 tasks each

  • 2,000 x 5 verification checks: 10,000 requests
  • Fits in the Starter plan ($49/mo)

Large-Scale Data Collection: Full timeline scrape of 100 accounts

  • Average 500 tweets per account, ~20 per page = 25 pages per account
  • 100 accounts x 25 pages = 2,500 requests
  • Plus you get ~50,000 tweets with embedded user profiles
  • Fits in the Starter plan ($49/mo)

Real-Time Monitoring: Track 200 accounts via X List, 5-second interval

  • 1 request per 5 seconds = 17,280 req/day = 518,400 req/month
  • Requires the Enterprise plan ($899/mo) or a custom plan
  • Covers all 200 accounts with a single request per cycle

Cost Optimization Strategies

These are covered in depth in the Optimizing API Usage guide, but here is the summary: Use batch endpoints. /tweet-info-bulk (100 tweets/request) and /info-batch (multiple profiles/request) exist specifically to reduce request counts for bulk lookups. Use /list-tweets for multi-account monitoring. Monitoring 50 accounts individually costs 50x more requests than grouping them in an X List and polling once. Extract user data from tweet responses. Every tweet endpoint embeds author profiles. Build your user database from search and timeline results instead of making separate /info calls. Use /info instead of conversion + lookup. If you need both the User ID and the full profile, call /info once (it accepts usernames, IDs, and links) instead of calling /username-to-id then /info separately. Choose the right plan for your volume. Moving from Starter to Pro cuts your cost per request by 59% ($0.0049 to $0.00199). Moving from Pro to Enterprise cuts it by another 10%. If you consistently use more than 80% of your plan’s quota, upgrading saves money.

Comparing Sorsa to Official X API Pricing

X API FreeX API BasicX API ProSorsa StarterSorsa ProSorsa Enterprise
Price$0$100/mo$5,000/mo$49/mo$199/mo$899/mo
Monthly requests1,500 tweets read10,000 tweets read1M tweets read10,000 requests100,000 requests500,000 requests
Historical search7 days7 days30 days (full archive at Enterprise)Full archiveFull archiveFull archive
Auth complexityOAuth 2.0OAuth 2.0OAuth 2.0API key headerAPI key headerAPI key header
User data in tweet responsesRequires expansions paramRequires expansions paramRequires expansions paramAlways includedAlways includedAlways included
The official X API’s tweet counts refer to tweets read (not API calls), which is a different unit than Sorsa requests. A single Sorsa request to /search-tweets returns ~20 tweets, so 100,000 Sorsa requests on Pro yield approximately 2,000,000 tweets - comparable to X API Pro at 4% of the price.

Checking Your Current Usage

Use GET /v3/key-usage-info to see your current request consumption and remaining quota:
curl "https://api.sorsa.io/v3/key-usage-info" \
  -H "ApiKey: YOUR_API_KEY"
{
  "key_requests": 100,
  "remaining_requests": 99900,
  "total_requests": 100000,
  "valid_until": "2026-04-01T00:00:00Z"
}
  • key_requests - requests used so far in the current billing period
  • remaining_requests - requests remaining
  • total_requests - total quota for the plan
  • valid_until - when the current billing period ends
Build this check into your monitoring scripts to alert you before you approach your quota limit.

Next Steps

  • Optimizing API Usage - detailed patterns for deduplication, batch endpoints, and avoiding redundant calls.
  • Rate Limits - handling 20 req/s rate limits, 429 errors, and backoff strategies.
  • API Reference - full specification for all 38 endpoints.