The Twitter API and scraper in one
Posts, profiles, followers, search, lists and communities as clean JSON. No browser, proxies or cookies: one key, one header.
Tweets from $0.014 per 1,000 instead of $5.00 on the official X API. One API key: no developer account, no proxies, no cookies. First request in 3 minutes.
No credit card, and they never expire.
The Twitter API and scraper in one
Posts, profiles, followers, search, lists and communities as clean JSON. No browser, proxies or cookies: one key, one header.
The official X API bills every post and every author it returns. One Sorsa API request returns up to 100 tweets with their authors, so you pay per request, not per tweet.
The rest of the API is priced the same way: 1,000 followers for $0.007 instead of $10.00, 1,000 profiles for $0.014 instead of $10.00, and a million tweets for $14 instead of $5,000.
Tweets, profiles, followers, full-archive search back to 2006, replies, quotes, Lists, Communities, Spaces, trends and action checks. Point at any part of a post to see the endpoint that returns it.
Is the Gulf set hourly or 3-hourly?
Wiring this into our storm alerts tonight.
/infoProfile and bio/mentionsEvery post that mentions it/tweet-info-bulk100 posts per request/commentsEvery reply/followers200 followers per request/search-tweetsSearch back to 2006/retweetersEveryone who reposted it/quotesEvery quoteMany posts by ID
Returns a list of posts by ID or link in one call, every field and every author included.
Use it to rehydrate a dataset or an archive of post IDs.
Pick a job and its size. You see the requests it needs, the plan that covers it and what the official X API would bill for the same data.
1M followers a month
Sorsa API
This job needs 5,000 of the 10K requests Starter includes each month.
Choose Starter40 MCP tools for search, profiles, followers, Lists and action checks. Read-only, so an agent with your key can’t post, like or DM.
search_tweets20 tweets with their authorsget_user_info_batch5 full profilesLarkspur Weather leads with 1,843 likes, then Tidepool with 1,204 and Gulf Watch Radio with 640. Every post came back with its author’s profile.
2 requests for the whole answer
claude mcp add --transport stdio --env SORSA_API_KEY=YOUR_API_KEY sorsa -- npx -y sorsa-mcpPrefer a skill? Install the agent skill for Claude Code, Cursor or Codex.
Change one header and a few paths, and keep the official X API for posting. Pick an endpoint to see the same request on both APIs and what 1,000 results cost after the move.
r = requests.get( "https://api.x.com/2/tweets", params={"ids": ",".join(ids), "expansions": "author_id", "user.fields": "username,public_metrics"}, headers={"Authorization": f"Bearer {BEARER}"})tweets = r.json()["data"]authors = r.json()["includes"]["users"]r = requests.post( "https://api.sorsa.io/v3/tweet-info-bulk", json={"tweet_links": ids}, headers={"ApiKey": KEY})tweets = r.json()["tweets"]# each tweet carries its author in "user"Start with 100 free requests and grow on the same API: in production since 2022 with 6B+ requests served and 99.9% uptime, every request fetched live, failed requests never charged.
Guaranteed in our terms on every paid plan. If uptime in a month ever drops below 99.5%, we add bonus requests: 10% of your monthly requests.
Read the guarantee/comments1 request/tweet-info-bulk1 request/mentions1 request/followers1 request/search-tweets0 requests/search-tweets1 request/info-batch1 request/user-tweets1 request/comments1 request/tweet-info-bulk1 request/mentions1 request/followers1 requestEvery plan starts at 20 requests per second, 60x the official X API on search and followers, with no 15-minute windows. Need more speed? We raise the limit for your workload. Talk to sales
Your requests and the response schema stay the same, so integrations don’t break. When X changes something, we fix it on our side.
Write to us from your dashboard and get a fast answer from the people who build Sorsa API. Enterprise adds priority support, and Business and larger plans add a dedicated account manager.
All of it at 250x less than the official X API.
Trusted by 2,500+ developers and 100+ companies: from a solo builder on 100 free requests to teams running millions of requests a month, on the same API. Here is what developers build with it.
Harbor Lab@harbor_lab_notesThu
The @larkspur_weather storm tracks are the cleanest we have used.
Gulf Sailing Club@gulf_sailing_clubThu
Thanks @larkspur_weather, the hourly tracks saved our race day.
/mentions/search-tweetsCoastal Dave@coastal_dave_20082008
Watching the storm track on TV all night. Stay safe, Gulf.
Ridgeline Alerts@ridgeline_alerts2016
New storm track just dropped: landfall east of Tampa by Friday.
Bluefin Research@bluefin_research2026
Twenty years of storm-track posts, now one open dataset.
/search-tweets/tweet-info-bulkpostgres: public.tweets12,400 rowsbigquery: x.users1,850 rowss3: audience/2026-11-02.jsonl48,200 rowsLast runs
/tweet-info-bulk/info-batch/followers/followers/info-batchTape Reader Lena@tape_reader_lena09:30:04
$NVDA opening strong, volume twice yesterday’s.
Options Flow Desk@options_flow_desk09:30:03
Big call sweep on $NVDA at the open.
Macro Notes Daily@macro_notes_daily09:30:01
Chips leading again: $NVDA, $AMD up early.
/search-tweets/list-tweetsEvery account starts with 100 free requests, up to 10K tweets, with no credit card and no expiry. Every plan has every endpoint and 20 req/s.
More than 10M requests a month, higher rate limits or an invoice? We’ll set it up with you.
99.9% uptime guaranteed on every paid plan. Failed requests are never charged. Cancel anytime. Card or crypto. From 1M requests a month, an SLA we sign with you.
When your requests run out, calls keep running from a balance you top up. It never expires, and you decide how much it can spend each month.
The balance is yours. It never expires.
Nothing stops: each call is paid from the balance.
Choose how much it can spend each month.
•••• •••• •••• 7f3aReady after sign-upTweets from $0.014 per 1,000 instead of $5.00 on the official X API. One API key: no developer account, no proxies, no cookies. First request in 3 minutes.
20 tweets with their authors
1,000,000 tweetsbilled one post at a time
and 999,994 more posts
1,000,000 tweetswith their authors, 100 per request
The official X API bills every post and every author it returns. One Sorsa API request returns up to 100 tweets with their authors, so you pay per request, not per tweet.
The rest of the API is priced the same way:
Tweets, profiles, followers, full-archive search back to 2006, replies, quotes, Lists, Communities, Spaces, trends and action checks. Point at any part of a post to see the endpoint that returns it.
The whole API, on every plan: 45 endpoints, one price each.
Pick a job and its size. You see the requests it needs, the plan that covers it and what the official X API would bill for the same data.
Whole follower lists with full profiles, 200 per request.
Followers a month
a month on the Starter plan
This job needs 5,000 of the 10K requests Starter includes each month.
Choose Starter40 MCP tools for search, profiles, followers, Lists and action checks. Read-only, so an agent with your key can’t post, like or DM.
claude mcp add --transport stdio --env SORSA_API_KEY=YOUR_API_KEY sorsa -- npx -y sorsa-mcpYour API key It goes in place of YOUR_API_KEY. 100 free requests, no credit card.
Get 100 free requestsPrefer a skill? Install the agent skill for Claude Code, Cursor or Codex.
Change one header and a few paths, and keep the official X API for posting. Pick an endpoint to see the same request on both APIs and what 1,000 results cost after the move.
Header
Authorization: Bearer YOUR_TOKEN
ApiKey: YOUR_API_KEY
Path
api.x.com/2/tweets
api.sorsa.io/v3/tweet-info-bulk
Start with 100 free requests and grow on the same API: in production since 2022 with 6B+ requests served and 99.9% uptime, every request fetched live, failed requests never charged.
/tweet-info-bulk1 request/mentions1 request/followers1 request/search-tweets0 requests/search-tweets1 request/info-batch1 requestEvery request is fetched live.
A stable API.
Your code doesn’t change.
Your requests and the response schema stay the same, so integrations don’t break. When X changes something, we fix it on our side.
Fast answers from the team
Write to us from your dashboard. Enterprise adds priority support.
All of it at 250x less than the official X API.
Get 100 free requestsTalk to salesTrusted by 2,500+ developers and 100+ companies: from a solo builder on 100 free requests to teams running millions of requests a month, on the same API. Here is what developers build with it.
Every account starts with 100 free requests, up to 10K tweets, with no credit card and no expiry. Every plan has every endpoint and 20 req/s.
Need more requests, higher rate limits or an invoice? We’ll set it up with you.
99.9% uptime guaranteed on every paid plan. Failed requests are never charged. Cancel anytime. Card or crypto. From 1M requests a month, an SLA we sign with you.
Add funds from $20 and pay for each request you make. The balance never expires, and you decide how much it can spend each month.
/followersPlan/search-tweetsPlan/followersBalance/search-tweetsBalanceUp to 10,000 tweets or 20,000 profiles.
•••• •••• •••• 7f3aReady after sign-upEvery mention of your brand and your competitors, filtered by likes, replies and dates.
/mentions/search-tweetsSearch the full archive back to 2006 and rehydrate datasets by ID.
/search-tweets/tweet-info-bulkLand tweets, profiles and followers in Postgres, BigQuery or S3 on a schedule.
Export the followers of any public account, each with a full profile.
Poll tickers and cashtags around the clock, with no rate-limit window to wait for.
Every call is one request, on every plan.
/tweet-infoPOSTOne post
Returns one post by link or ID: its text, metrics, author and the post it quotes or reposts.
Use it to show a post with live counts in your app.
API reference/tweet-info-bulkPOSTMany posts by ID
Returns a list of posts by ID or link in one call, every field and every author included.
Use it to rehydrate a dataset or an archive of post IDs.
API reference/user-tweetsPOSTAn account’s posts
Returns an account’s posts, newest first, as far back as you page.
Use it to archive or analyze what an account has posted.
API reference/user-repliesPOSTAn account’s replies
Returns the replies an account has written, newest first.
Use it to see how an account talks to its audience.
API reference/user-retweetsPOSTAn account’s reposts
Returns the posts an account has reposted, newest first.
Use it to see what an account amplifies.
API reference/commentsPOSTReplies to a post
Returns the replies under a post, sorted by relevance, recency or likes.
Use it to read the conversation under any post.
API reference/quotesPOSTQuotes of a post
Returns the posts that quote a post, each with its author.
Use it to see how a post spreads and what people add to it.
API reference/retweetersPOSTWho reposted a post
Returns the accounts that reposted a post, with full profiles.
Use it to find who amplified a launch or a campaign.
API reference/articlePOSTAn X Article
Returns an X Article with its title, full text and views.
Use it to pull long-form Articles into your reader or your model.
API reference/trendsGETTrends in a place
Returns what is trending in a country or a city right now.
Use it to follow what a market is talking about.
API referenceEvery call is one request, on every plan.
/infoGETProfile of an account
Returns one account’s public profile: name, bio, location, follower and following counts, links and verification.
Use it to check who is behind a handle before you reach out.
API reference/info-batchGETMany profiles at once
Returns full profiles for a whole list of usernames or user IDs in a single call.
Use it to enrich a CRM or a spreadsheet of handles in bulk.
API reference/aboutGETAbout this account
Returns what X shows under About this account: the country, username changes, verification and the account’s source.
Use it to spot renamed or relocated accounts before you trust them.
API reference/followersGETFollowers of an account
Returns the accounts that follow any public account, each with a full profile, page by page.
Use it to export an audience for lead generation or research.
API reference/followsGETWho an account follows
Returns the accounts a public account follows, each with a full profile, page by page.
Use it to see who an account listens to.
API reference/verified-followersGETVerified followers
Returns only the verified accounts among an account’s followers, with full profiles.
Use it to find the notable people in an audience.
API referenceEvery call is one request, on every plan.
/search-tweetsPOSTSearch posts
Runs any X search with every operator, across the full archive, newest or most popular first.
Use it to monitor keywords, cashtags and topics.
API reference/mentionsPOSTMentions of an account
Returns the posts that mention an account, with filters for likes, replies, reposts and dates.
Use it to track brand mentions and answer them faster.
API reference/search-usersPOSTSearch accounts
Returns the accounts that match a search query.
Use it to find creators, experts or companies in a niche.
API reference/spacesGETA Space
Returns a Space with its title, hosts, speakers and state.
Use it to log Spaces and who spoke in them.
API referenceEvery call is one request, on every plan.
/check-followPOSTFollow check
Tells you whether one account follows another.
Use it to verify follow tasks in a campaign.
API reference/check-commentGETReply check
Tells you whether an account replied to a post.
Use it to verify reply tasks without checking by hand.
API reference/check-quotedPOSTQuote check
Tells you whether an account quoted or reposted a post.
Use it to verify share tasks in a campaign.
API reference/check-retweetPOSTRepost check
Tells you whether an account reposted a post.
Use it to confirm reposts before you reward them.
API reference/check-community-memberPOSTCommunity member check
Tells you whether an account belongs to a Community.
Use it to keep perks for your Community’s members.
API reference/check-shadowbanGETShadowban check
Tells you whether an account is hidden from search or from search suggestions.
Use it to rule out a shadowban when reach drops.
API referenceEvery call is one request, on every plan.
/community-infoPOSTA Community
Returns a Community’s name, description and member count.
Use it to size up the Communities in your space.
API reference/community-membersPOSTCommunity members
Returns the members of a Community, page by page.
Use it to find the people active in a Community.
API reference/community-tweetsPOSTCommunity posts
Returns the posts in a Community, newest first.
Use it to follow a Community’s conversation.
API reference/community-search-tweetsPOSTSearch a Community
Runs a search inside one Community.
Use it to find what a Community says about a topic.
API reference/search-communitiesPOSTFind Communities
Returns the Communities that match a search query.
Use it to discover where your audience gathers.
API referenceEvery call is one request, on every plan.
/list-tweetsGETA List’s feed
Returns the posts from every account on an X List, as one feed.
Use it to watch many accounts with a single call.
API reference/list-membersGETList members
Returns the accounts on an X List.
Use it to reuse curated Lists as ready-made audiences.
API reference/list-followersGETList followers
Returns the accounts that follow an X List.
Use it to find people who care about a topic.
API referenceEvery call is one request, on every plan.
/username-to-idGETUsername to ID
Turns a handle into the account’s permanent user ID.
Use it to store IDs that survive handle changes.
API reference/id-to-usernameGETID to username
Turns a user ID into the account’s current handle.
Use it to show readable handles for stored IDs.
API reference/link-to-idGETLink to ID
Turns a post or profile link into its ID.
Use it to accept pasted links anywhere in your app.
API reference/key-usage-infoGETYour key’s usage
Returns the requests used and left on your key, and when they renew.
Use it to warn your team before requests run out.
API reference