Waitlists. One API call.

No embeddable widget. No referral gimmicks. Just an API endpoint, your own form, and notifications where your team actually works.

$ curl -X POST https://app.pleasehold.dev/api/v1/entries \
  -H "Content-Type: application/json" \
  -H "x-api-key: ph_live_your_key_here" \
  -d '{"email": "user@example.com"}'
{
  "data": {
    "id": "a1b2c3d4-...",
    "email": "user@example.com",
    "position": 42,
    "createdAt": "2026-01-15T09:30:00.000Z"
  }
}

Waitlist tools weren't built for developers.

Embed code. Referral leaderboard. Their widget, their styling, their UX decisions. That's what most waitlist tools give you.

Slack notification when someone signs up? Discord ping? Webhook to your CRM? Good luck.

You're a developer. You want an API, not a page builder.

Three steps. Full control.

1

Create a project

Choose which fields to collect. Get a project-scoped API key. You're up in under a minute.

2

Build your own form

Any frontend, any framework. You own the design. POST entries to one endpoint.

3

Get notified everywhere

Email, Slack, Discord, Telegram, or signed webhooks. Configure per project. All channels retry independently.

What you get.

Your form, your rules

No widget. No embed. Build your own signup form and POST JSON. Full control over the user experience.

Slack, Discord, Telegram, email, webhooks

Get pinged where your team works. Not just email. Every channel retries independently with exponential backoff.

Flexible fields

Email-only for low friction, or collect name, company, and a message. You decide what the form asks for.

"You're #42 on the list"

Atomic position assignment. No gaps, no races. Return the position in your API response.

Self-hostable

Deploy with Docker Compose or use the managed service. Your data, your infrastructure.

Dashboard

Search, filter, bulk actions, CSV export, and status tracking from one place.

Double opt-in

Optional per project. Custom email templates. Tokens expire after 48 hours.

Signed webhooks

HMAC-SHA256 signature and timestamp on every webhook. Verify payloads. Prevent replays.

Ship your waitlist today.

Get your API key in under a minute.