Can I verify retweets and follows on X by API?
Yes. Sorsa API returns a boolean for each: did this user retweet this post, did this user follow this account. One call per action, no OAuth, plain JSON.
Verify that every entrant actually followed, retweeted, quoted, commented, or joined. One boolean call per action. No OAuth, no developer account, no 100-retweet ceiling.
curl -X POST "https://api.sorsa.io/v3/check-retweet" \ -H "ApiKey: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"tweet_link": "https://x.com/YourBrand/status/123", "username": "participant"}'
{ "retweet": true, "user_protected": false }
Gather handles however you already do, a signup form, a bot, or a spreadsheet exported from your campaign.
For each required task, send the entrant's handle to the matching endpoint and read back a single boolean.
Keep only entrants who passed every check, then pick a winner from a list you can actually stand behind.
By entry three hundred, your form fills with fake handles, half-completed tasks, and bots farming the prize pool. Manual review is slow and honor-system checkboxes are worthless.
Most free pickers stop at the most recent 100 retweets, draw one winner, and end there. Almost none can verify follows, quotes, comments, or multi-task campaigns entry by entry.
The official X API has no direct "did this user do this" endpoint, so you end up pulling entire retweeter and follower lists and filtering them yourself.
Sorsa API answers the only question that matters, for every entrant, in one call: did this person do what they said they did?
A giveaway picker picks a winner from whatever list it can see. A verification API is different: it confirms every entrant individually, before the draw, against every required action, so the contest winner you pick is one you can actually stand behind.
Pass the entrant's handle and the action. Get a yes or no back. No OAuth, plain JSON.
| Action | Endpoint | Returns |
|---|---|---|
| Followed your account | /check-follow | follow: true or false |
| Retweeted a post | /check-retweet | retweet: true or false (paginated, no 100-retweet limit) |
| Quoted a post | /check-quoted | quoted, retweet, or not_found, with the quote text |
| Commented on a post | /check-comment | commented: true or false, with the comment |
| Joined your X Community | /check-community-member | is_member: true or false |
| Owns the handle they entered | /user-tweets | post a one-time code to confirm handle ownership |
| Liked a post | not verifiable | X made likes private in 2024, no API can confirm a like |
Building the full pipeline with bulk processing, quality rules, and scoring? The implementation guide walks through the complete flow with working Python code, or see the verification docs.
Want to test a single check by hand first? The free Follow Checker runs the same /check-follow call in the browser.
The official X API has no direct check endpoint, so you must pull the whole retweeter or follower list and search it. Sorsa API returns the answer in one call.
Naive setups and many consumer pickers only see the most recent 100 retweets. Sorsa API paginates, so early entrants are never missed.
A single ApiKey header. The official X API needs OAuth 2.0, upfront credit purchases, and bills $0.01 per profile fetched, so scanning one follower list to confirm one entrant can cost more than an entire Sorsa plan.
Flat per-request pricing and 20 requests per second verify tens of thousands of entries overnight.
/info-batch returns 100 full profiles per request, including created_at, tweets_count, and followers_count, so quality rules run before a single check is spent.
Confirm an entrant actually owns the handle they submitted before you pay out.
| Official X API | Sorsa API | |
|---|---|---|
| Direct "did the user do X" check | None, fetch the full list and filter | One boolean call per action |
| Retweet depth | Most recent 100 wall | Paginated, no ceiling |
| Authentication | OAuth 2.0 plus an approved developer account | Single ApiKey header |
| Realistic cost at scale | Pay-per-use: $0.01 per follower or profile fetched, lists must be pulled in full | From $49/mo, flat per request |
| Cost to confirm one follow on a 50K-follower account | Up to ~$500 (full list pull at $0.01/profile) | $0.002 (one /check-follow call on Pro) |
| Verifying likes | Private since 2024 | Private since 2024 (no tool can) |
Giveaway and contest platforms: verify every entry completed every required task.
Creator-marketing agencies: run brand campaigns without days of manual entry review.
Web3 quests and airdrops: gate rewards on verified on-platform actions.
Ambassador and referral programs: confirm sustained engagement, not one-off retweets.
Discord and access gating: grant roles only to verified followers.
A typical 5-task campaign plus an ownership check and a profile quality filter is about 7 requests per entrant, roughly $0.014 on Pro. 1 request equals 1 call on every endpoint, with no credit math and no per-resource fees.
Yes. Sorsa API returns a boolean for each: did this user retweet this post, did this user follow this account. One call per action, no OAuth, plain JSON.
No. X made likes private in June 2024, so no API can confirm a like. Use retweet, quote, or comment instead, all fully verifiable.
No. Authentication is a single ApiKey header, with no app review and no approval process.
Yes. The retweet check paginates, so early entrants are not missed, unlike tools capped at the most recent 100 retweets.
Flat per-request pricing, roughly $0.014 per participant for a full multi-task check on the Pro plan. See the pricing page for plan-by-plan detail.
Each check returns a user_protected flag. Private accounts cannot be verified by any third party, so most campaigns reject them or fall back to the one-time-code ownership check. In practice fewer than 1% of giveaway entrants have private accounts.
Filter accounts by age, tweet count, and followers before verifying, and confirm handle ownership by asking the entrant to post a one-time code.
Grab a key, pass an entrant's handle and an action, and get a verified yes or no.
Building the verification pipeline yourself? Full implementation guide with Python code.
Read the guide