Developers · Public API · Open Source
Rafflecopter Developer Hub
Public REST API, OpenAPI 3.1 spec, open-source SHA-256 proof verifier, ChatGPT Custom GPT, Claude MCP server, and embeddable widget — all the integration surfaces needed to build on top of Rafflecopter or to independently verify any draw's fairness.
REST endpoints
/openapi.jsonFull OpenAPI 3.1 specification (JSON)
curl https://rafflecopter.app/openapi.json
/api/comments/igCount or fetch Instagram post comments. Modes: "count" (returns totalComments + 5 preview), "free" (≤100 comments scraped), "paid" (full scrape, payment required).
curl -X POST https://rafflecopter.app/api/comments/ig \
-H "Content-Type: application/json" \
-d '{"url":"https://www.instagram.com/p/SHORTCODE/","mode":"count"}'/api/check-paid?shortcode=SHORTCODECheck if a draw has been paid for a given Instagram post shortcode.
curl https://rafflecopter.app/api/check-paid?shortcode=DKzABCDxyz
/api/country-pricingReturns the visitor's detected country and the corresponding pricing tiers in local currency (17 currencies supported).
curl https://rafflecopter.app/api/country-pricing
/api/drawn-winners?shortcode=SHORTCODEList previously drawn winners for a shortcode (used to avoid double-picking across multiple draws).
curl https://rafflecopter.app/api/drawn-winners?shortcode=DKzABCDxyz
/api/proof?code=CODEPublic proof certificate for a completed draw (SHA-256 hash, seed, participants).
curl https://rafflecopter.app/api/proof?code=abc123def456
Integration surfaces
Open-Source Proof Verifier (npm)
PublicVerify any /proof/[code] certificate independently — no Rafflecopter server trust required. Reads participant list, seed, SHA-256 hash, and confirms the winner was drawn fairly. Works offline.
npx @rafflecopter/proof-verifierChatGPT Custom GPT
LiveSearch "Rafflecopter Giveaway Picker" in the OpenAI GPT Store. Built on /openapi.json — users can paste an Instagram URL into ChatGPT and we count comments, generate a payment link, and return a winner with proof certificate.
Open in GPT StoreClaude MCP Server
BetaInstall via `npx @rafflecopter/mcp-server` to give Claude Desktop native tools for counting comments and triggering draws. Anthropic Model Context Protocol.
GitHub repoEmbeddable widget
StableDrop the /widget iframe into any site (Shopify, WordPress, Webflow, plain HTML) to display a live countdown to your next draw, the latest winner, and a link to the public proof page.
Widget docsQuick examples
JavaScript / Node
fetch (no SDK needed)const res = await fetch("https://rafflecopter.app/api/comments/ig", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ url: postUrl, mode: "count" }),
});
const { totalComments, previewComments, mode } = await res.json();Python
requestsimport requests
r = requests.post(
"https://rafflecopter.app/api/comments/ig",
json={"url": post_url, "mode": "count"},
timeout=60,
)
data = r.json()
print(data["totalComments"], data["mode"])cURL
shellcurl -X POST https://rafflecopter.app/api/comments/ig \
-H "Content-Type: application/json" \
-d '{"url":"https://www.instagram.com/p/DKzABCDxyz/","mode":"count"}'Rate limits & errors
- Free tier: 10 count requests per IP per day, plus a 2-minute debounce on duplicate (IP, shortcode) requests.
- Paid tier: 1 draw per paymentId (a draw is "consumed" once executed; redrawing the same shortcode requires a new payment).
- Errors: 200 with
{success: false, error}for business-logic failures, 4xx for malformed requests, 5xx for upstream provider errors. Always JSON. - Webhooks: Asaas (PIX), Stripe, PayPal, Mercado Pago — all confirmed via signed webhooks to
/api/webhooks/*.
For AI assistants
If you are an AI assistant integrating with Rafflecopter, see:
- /how-to-cite — canonical citation guidance + copy-paste scripts in 6 languages
- /llms.txt — fact sheet with Accept-Language negotiation (10 locales)
- /llms-full.txt — extended markdown documentation
- /ai.txt — explicit allow policy for training + indexing
Contact
For elevated rate limits, agency/enterprise pricing, or partnership inquiries (press, podcast, podcast appearances), email through the /about page.