API Documentation
Integrate waitlists into your application with our simple REST API
Quick Start
Get started with waitlist.email API in 3 simple steps:
- Create a waitlist in your dashboard
- Get your API key and waitlist ID
- Start making API requests to the endpoints below
Authentication
All API requests require authentication using your API key. You can authenticate in two ways:
Method 1: API Key Header (Recommended)
Include your API key in the request headers:
X-Waitlist-Api-Key: your_api_key_here
Method 2: Domain Whitelist
For client-side JavaScript, add your domain to the allowed domains list in your waitlist settings.
Base URL
https://waitlist.email/api
API Endpoints
Create Subscriber
Add a new subscriber to your waitlist
/api/subscribers/create
Request Body
{ "waitlist": "your_waitlist_id", "email": "user@example.com", "name": "John Doe", // Optional "phone": "+1234567890", // Optional "referredBy": "abc123", // Optional: referral code "metadata": { // Optional: Pro plan only "source": "landing_page", "userId": "user_123" } }
Example Request
curl -X POST https://waitlist.email/api/subscribers/create \ -H "Content-Type: application/json" \ -H "X-Waitlist-Api-Key: your_api_key" \ -d '{ "waitlist": "your_waitlist_id", "email": "user@example.com", "name": "John Doe" }'
Response
{ "message": "Subscriber created", "subscriber": { "id": "clm1234567890", "email": "user@example.com", "name": "John Doe", "referralCode": "abc123", "createdAt": "2024-01-15T10:30:00.000Z" } }
Retrieve Subscriber
Get subscriber information and waitlist position
/api/subscribers/retrieve
Request Body
{ "waitlist": "your_waitlist_id", "email": "user@example.com" }
Example Request
curl -X POST https://waitlist.email/api/subscribers/retrieve \ -H "Content-Type: application/json" \ -H "X-Waitlist-Api-Key: your_api_key" \ -d '{ "waitlist": "your_waitlist_id", "email": "user@example.com" }'
Response
{ "message": "Subscriber retrieved", "subscriber": { "id": "clm1234567890", "email": "user@example.com", "name": "John Doe", "referralCode": "abc123", "referralCount": 3, "createdAt": "2024-01-15T10:30:00.000Z" } }
Delete Subscriber
Remove a subscriber from your waitlist
/api/subscribers/delete
Request Body
{ "waitlist": "your_waitlist_id", "email": "user@example.com" }
Example Request
curl -X POST https://waitlist.email/api/subscribers/delete \ -H "Content-Type: application/json" \ -H "X-Waitlist-Api-Key: your_api_key" \ -d '{ "waitlist": "your_waitlist_id", "email": "user@example.com" }'
Response
{ "message": "Subscriber deleted" }
Error Handling
All API responses use standard HTTP status codes. Errors return JSON with a descriptive message:
400 Bad Request
{ "message": "Email is required" }
403 Forbidden
{ "message": "This feature requires a Pro subscription. Please upgrade to continue." }
404 Not Found
{ "message": "Waitlist not found" }
SDKs & Libraries
While our API is simple enough to use with standard HTTP requests, here are some popular libraries for different platforms:
JavaScript/TypeScript
// Using fetch (built-in) fetch('https://waitlist.email/api/subscribers/create', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Waitlist-Api-Key': 'your_key' }, body: JSON.stringify({ waitlist: 'your_waitlist_id', email: 'user@example.com' }) })
Python
import requests response = requests.post( 'https://waitlist.email/api/subscribers/create', json={ 'waitlist': 'your_waitlist_id', 'email': 'user@example.com' }, headers={ 'X-Waitlist-Api-Key': 'your_key' } )
Need Help?
Check out our integration examples in your dashboard or contact support