A waitlist API that works
like your signup form.
LaunchList's waitlist API adds signups from your code with the duplicate check, place in line and referral link a form gives. Signed webhooks tell your server what happened.
Free for your first 100 contactsNo credit card needed
At a glance
Updated
- REST API
- JSON over HTTPS at api.getlaunchlist.com, with keys that belong to your workspace
- Keys
- Shown once and stored only as a hash, read-only or full access, and a key held to one project gets a 404 from any other
- Webhooks
- 27 kinds of event, each one signed, from a new signup to a bounced email
- On the Free plan
- 1 endpoint and 60 requests / min, with the MCP server included
- Zapier, Make and Slack apps
- Included with the Launch and Grow plans
- Plans
- On every plan
A headless waitlist, wired up from your own backend.
Make a key
In Embed & API, open Developers and press "New API key". Choose what it may do and which projects it reaches, then copy it while it is on screen and keep it on your server.Send a signup
POST to the contacts endpoint with the project, an email and the referrer's code as referred_by. Referral credit, the trust verdict and your automations all run on it.Hear back
Add a webhook endpoint under Developers and pick its events. Your server then gets a signed POST when someone joins, confirms, refers a friend or redeems an invite.
Waitlist webhooks with every delivery on the record.
LaunchList keeps each delivery for 90 days, with what your server said back.
Every event, not just signups
Signups, confirmations, referrals, rewards, invitations, form responses and email outcomes: 27 kinds in all. Subscribe an endpoint to the ones it needs, or to everything, including kinds added later.
Retried, then paused
A delivery that fails is tried 8 times in all, over about two days. After 50 failures in a row, the endpoint is paused, you get an email, and it waits for you to switch it back on.
Replay any delivery
Open a row to see what was sent and what came back, then press "Resend this event". "Send test" checks a new endpoint before real events reach it.
Let an AI assistant work your list, once you approve it.
LaunchList also runs an MCP server, so an assistant like Claude or ChatGPT can look up signups, invite people or draft a page through the same actions as the dashboard.
Sign in, or use a key
Chat assistants sign in with your account and show you what they are asking for, with no key to paste. Command-line and editor clients can sign in the same way or send an API key.
Reads and writes, kept apart
A read-only key is offered only the tools that look things up, and no tool deletes a contact. Signing in grants the full set for one workspace, and the approval screen names what that covers.
A count before any send
A page your assistant writes is saved as a draft, and goes live only after you say yes. A broadcast takes two calls: the first counts who would get it, and only a second call, carrying the first one's token, sends it. The server tells assistants to ask you in between.
Revoke it any time
Each assistant you sign in is listed under "Authorized agents" in the Security settings of your account, and "Revoke" cuts it off.
Reasons to reach for the waitlist API.
A good fit when
- People sign up inside your own app, at account creation or checkout, and you want them on the waitlist with a referral link to share.
- You build your own frontend and want the signup form to look like the rest of it.
- Another system has to hear about each new signup the moment it happens, without asking over and over.
- You want an assistant to answer questions about your list or invite people, once you have approved its access.
Not the right fit when
- You only need a form on your site. The form embed takes no code of your own.
- You want to edit your Launch page from code. Pages are not on the REST API, though an assistant can draft one, and publish it after your yes, through the MCP server.
- You need webhooks to arrive in order. They are not guaranteed to, so sort by each event's timestamp.
A waitlist API built on conventions you already know.
Retries that never duplicate
Send an Idempotency-Key and a retry within 24 hours gets the first response back instead of a second contact. Reuse the key with a different body and you get a 409.Limits you can read
Responses carry RateLimit-Limit and RateLimit-Remaining, and a 429 for going over comes with Retry-After. Limits are per workspace and rise with your plan.An OpenAPI document
Import the OpenAPI document into Postman or Insomnia, no key needed, and every endpoint is ready to call, from contacts and invitations to imports, tags, segments and broadcasts.Your own user IDs
Store your external_id on a contact, then look contacts up by it, so a signup lines up with the account it becomes.Headless and React
Mount our form in React, Next.js, Vue or Svelte with one call, or post to the form's own endpoint from your components. No key goes in the browser.Verifiable signatures
Every request is signed in the format Stripe uses, so the verify code you already have carries over. Rotate the secret and the old one keeps working for 24 hours.
In the docs: authenticating with an API key, receiving webhooks and the full API reference.
Waitlist API questions from developers.
What is a waitlist API?
How do I verify a LaunchList webhook?
Can I connect my waitlist to Zapier, Make or n8n?
Can I add an existing list through the waitlist API?
Is the waitlist API on the Free plan?
Build your waitlist into your own product.
Create a key, then send your first signup.
Free for your first 100 contactsNo credit card needed