The PreFlight REST API lets you read your subscriber data programmatically. API access is available on the Studio plan.
All API requests are authenticated using your API key, passed in the X-API-Key header. Generate your key from Settings.
curl https://api.trypreflight.io/api/v1/subscribers \ -H "X-API-Key: YOUR_API_KEY"
Keep your key secret. Treat it like a password — never expose it in client-side code, public repositories, or browser requests. If compromised, revoke it immediately from Settings and generate a new one.
https://api.trypreflight.io/api/v1
/api/v1/waitlistsReturns all waitlists belonging to the authenticated builder, with their subscriber counts.
Request
curl https://api.trypreflight.io/api/v1/waitlists \ -H "X-API-Key: YOUR_API_KEY"
Response
{
"waitlists": [
{
"id": "wl_abc123",
"appName": "My App",
"slug": "my-app",
"status": "in_development",
"subscriberCount": 142,
"createdAt": "2026-01-15T10:00:00.000Z"
}
]
}/api/v1/waitlists/:id/subscribersReturns all confirmed subscribers for a specific waitlist, ordered by most recent first.
Request
curl https://api.trypreflight.io/api/v1/waitlists/WAITLIST_ID/subscribers \ -H "X-API-Key: YOUR_API_KEY"
Response
{
"waitlistId": "wl_abc123",
"total": 142,
"subscribers": [
{
"id": "sub_xyz789",
"email": "user@example.com",
"confirmedAt": "2026-03-01T09:15:00.000Z",
"betaInvited": false,
"launchEmailSent": false
}
]
}/api/v1/subscribersReturns all confirmed subscribers across all of your waitlists, ordered by most recent first. Each subscriber includes a nested waitlist object so you can tell which waitlist they belong to.
Request
curl https://api.trypreflight.io/api/v1/subscribers \ -H "X-API-Key: YOUR_API_KEY"
Response
{
"total": 284,
"subscribers": [
{
"id": "sub_xyz789",
"email": "user@example.com",
"confirmedAt": "2026-03-01T09:15:00.000Z",
"betaInvited": false,
"launchEmailSent": false,
"waitlist": {
"id": "wl_abc123",
"appName": "My App",
"slug": "my-app"
}
}
]
}| Status | Meaning |
|---|---|
| 401 | Missing or invalid API key. |
| 403 | Your plan doesn't include API access, or you don't own the requested resource. |
| 404 | The requested waitlist was not found. |
| 500 | Something went wrong on our end. Try again or contact support. |
There are currently no hard rate limits on the API. Fair use applies — the API is intended for reading subscriber data into your own tools and automations, not for high-frequency polling. We reserve the right to introduce limits in future and will give advance notice before doing so.
If you run into any issues or have a use case that isn't covered by the current API, get in touch at support@trypreflight.io.