API, webhooks and MCP

A waitlist API that works like your signup form.

Send signups in from your own code, get a signed webhook the moment something happens, or hand the list to your AI assistant.

Free for your first 100 contactsNo credit card needed
Pied Piper's API keys in Embed & API. Two workspace keys: Production with full access and Zapier with read-only access, each pinned to the Pied Piper project and shown only by its last four characters. Below, the endpoints grouped by area, each marked Live: audience and contacts, projects and forms, and invitations and early access.
Pied Piper's API keys in Embed & API. Two workspace keys: Production with full access and Zapier with read-only access, each pinned to the Pied Piper project and shown only by its last four characters. Below, the endpoints grouped by area, each marked Live: audience and contacts, projects and forms, and invitations and early access.
A key pinned to a project gets a 404 from every other one.
How it works

Send signups in, get events out.

1. Create a key

In Embed & API, open Developers and choose read-only or full access. Copy the key straight away: it is shown once, then kept only as a hash.

2. Send signups in

POST a contact from your backend with the referrer's code as referred_by. It gets the duplicate check, referral credit, the trust verdict and your automations, like a form signup.

3. Get events out

Add a webhook endpoint, choose the events it should hear about, and your server gets a signed POST when someone joins, refers a friend or redeems an invite.

Webhooks

Every delivery, on the record.

Each POST we send is logged with what your server answered, so a missed event is something you can see and resend.

Deliveries

https://api.piedpiper.com/hooks/launchlist
  • Succeeded—
    signup.created200 · 84ms
  • Succeeded—
    referral.made200 · 91ms
  • Retrying—
    contact.verified · 3 attempts503 · 112ms
  • Succeeded—
    invite.redeemed200 · 77ms
  • Succeeded—
    reward.granted · resent200 · 69ms
  • Succeeded—
    email.bounced204 · 58ms
Every event, not just signups

Signups, confirmations, referrals, rewards, invitations, form responses and email outcomes: 27 in all. Pick the ones an endpoint needs, or subscribe it to everything.

Retried, then paused

A failed delivery is tried eight times in all, spread over about two days. An endpoint that keeps failing is paused until you turn it back on.

Replay any delivery

Open a row to see the request and the response, then send it again. A test event checks a new endpoint before real ones arrive.

MCP server

Or let your AI assistant run it.

LaunchList is also an MCP server. Your assistant can check your signups, invite people or draft a page, through the same actions as the dashboard.

Sign in, or use a key

Chat clients sign in with your account and ask for your approval, with no key to paste. Command-line tools use the same keys as the API.

Reads and writes, kept apart

A read-only key only gets the tools that look things up. Changing your list takes a full-access key, and no tool deletes a contact.

Nothing goes out unseen

A page your assistant drafts stays a draft until you publish it. A broadcast is prepared and counted first, and sent only when you say yes.

Revoke it any time

Every signed-in assistant is listed under Authorized agents in the Security settings of your account, and removing it cuts off access.

The details

Built the way developers expect.

The conventions you already know from payment APIs, applied to a waitlist.

Retries that never duplicate

Send an Idempotency-Key and a retry within 24 hours gets the original response back, not a second contact.

Limits you can read

Every response carries RateLimit headers, and a 429 comes with Retry-After. Limits are per workspace and rise with your plan.

An OpenAPI document

Import the spec into Postman or Insomnia and every endpoint is ready to call, including invitations, 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 or Next.js with one call, or post to the form endpoint from your own components. No key needed in the browser.

Verifiable signatures

Each webhook is signed with your endpoint secret in the format Stripe uses, and the secret rotates without downtime.

Questions

Before you write the integration.

What is a waitlist API?
A waitlist API lets your own code add people to a waitlist and read it back, so signups can come from your app, your backend or a script instead of only a form. The list itself stays one list, whichever way people join.
How do I verify a LaunchList webhook?
Read the LaunchList-Signature header: a timestamp and an HMAC-SHA256 of the timestamp and raw body, keyed on your endpoint secret. Recompute it, compare, and reject a request whose timestamp is too old.
Can I connect Zapier, Make or n8n?
Yes, through a webhook. Point a LaunchList endpoint at a webhook trigger in Zapier, Make or n8n and choose the events it should receive. If the tool also needs to look people up, give it its own read-only key, like the Zapier key above.
Which AI assistants work with LaunchList?
Any MCP client that can connect to a remote server. The docs have setup steps for Claude Code, Claude.ai, ChatGPT, Cursor, VS Code, Codex CLI and Windsurf.
Is the API included on the Free plan?
Yes. The REST API, webhooks and the MCP server are on the Free plan, so a programmatic setup never needs a card. The Free plan includes 1 endpoint and 60 requests / min.
Free for your first 100 contacts

Build your waitlist into your own product.

Create a key, then send your first signup.

No credit card needed