{"uid":"cap__Ud_cKZLw_sxnyDQXWLeX","slug":"twitr-sh-twitter-giveaway-draw-a02d0130","name":"twitr.sh Twitter Giveaway Draw","description":"Run a provably fair giveaway on X/Twitter: pick crypto-random winners from a tweet's replies, with retweet, follow, hashtag, keyword, minimum-follower, and account-age conditions. Fixed price set upfront from your estimated entry count.","url":"https://twitr.sh/api/tools/draws","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"tweetUrl":{"type":"string","description":"Full tweet URL (https://x.com/user/status/ID)."},"backupCount":{"type":"integer"},"mustRetweet":{"type":"boolean"},"winnerCount":{"type":"integer","minimum":1},"filterLanguage":{"type":"string"},"estimatedEntries":{"type":"integer","maximum":10000,"minimum":1,"description":"Expected replies inspected — drives the fixed price (default 1000)."},"requiredHashtags":{"type":"array","items":{"type":"string"}},"requiredKeywords":{"type":"array","items":{"type":"string"}},"requiredMentions":{"type":"array","items":{"type":"string"}},"uniqueAuthorsOnly":{"type":"boolean"},"filterMinFollowers":{"type":"integer"},"mustFollowUsername":{"type":"string"},"filterAccountAgeDays":{"type":"integer"}}},"responseSchema":{"type":"json","example":{"items":[{"id":"a1b2c3d4e5f67890","tweetId":"2079908425904042170","winners":[{"tweetId":"1893710452812718080","username":"builders_gonna"}],"totalEntries":512,"validEntries":498}],"runId":"tw_example","payment":{"amount":"0.601200","currency":"USD","protocol":"x402"},"duration":6}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"1.2012","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$1.2012/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"1.2012","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"1.2012","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_MtSKeZy1bVBzVu9phjY08","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"1.2012","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Runs a provably fair, crypto-random winner selection from a tweet's replies with configurable eligibility filters like retweet, follow, hashtag, keyword, follower count, and account age requirements.","exampleAgentPrompt":"Pick 3 winners and 2 backups from the giveaway tweet at https://x.com/myproject/status/1234567890, expecting about 2000 entries — only eligible if they retweeted, follow @myproject, and included #MyGiveaway in their reply.","exampleUseCases":[{"title":"Crypto project NFT raffle","prompt":"Run a fair draw for the giveaway at https://x.com/nftdrop/status/9876543210 — pick 5 winners and 3 backups from up to 5000 replies, only counting people who retweeted, follow @nftdrop, and used the hashtag #NFTDrop2025 in their reply."},{"title":"Influencer product giveaway","prompt":"I need to pick 1 winner and 2 backups from my contest tweet at https://x.com/brandaccount/status/1122334455 — expecting around 500 replies, only count unique authors who follow @brandaccount and mentioned #BrandGiveaway, and only accounts older than 30 days."},{"title":"Gaming community tournament prize draw","prompt":"Select 10 winners and 5 backups from the replies to https://x.com/gamingcommunity/status/5544332211, scanning up to 3000 entries, filtering to unique authors only who have at least 10 followers and replied in English."}],"resultDescription":"Returns a ranked list of selected winners and optional backup winners drawn crypto-randomly from eligible replies, after applying all specified eligibility filters (retweet status, follow status, required hashtags/keywords/mentions, minimum followers, account age, language, and uniqueness constraints).","failureModes":["Tweet URL not found or invalid — returns error with URL validation message","Estimated entries ceiling exceeded — price may not cover actual reply volume","Insufficient eligible replies after filtering — may return fewer winners than requested","Twitter/X API rate limit or access error — upstream failure propagated","mustFollowUsername account doesn't exist or is private — filter cannot be validated","Payment of 1.2012 USDC not completed — 402 response blocking execution"],"whenToPreferThis":"Use this endpoint when you need a verifiably fair, auditable winner selection from a Twitter/X giveaway with complex eligibility rules. It is ideal when you need to enforce retweet, follow, hashtag, or account-quality conditions simultaneously and want a fixed, predictable price based on estimated reply volume rather than per-reply billing. Prefer it over manual selection or simple random tools when transparency and fairness matter for your audience.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T06:40:09.870Z","isFirstParty":false}