Verify the signature
Each delivery carrieswebhook-id, webhook-timestamp, and webhook-signature. Verification is an HMAC over those values and the raw body, using the signing secret Browserbase returned when you created or rotated the webhook.
Deliveries follow the Standard Webhooks specification, so any library implementing it will verify them. Use one instead of writing the HMAC yourself. It handles the constant-time comparison and the timestamp tolerance for you.
The examples below use Express and FastAPI.
Handle redelivery
Browserbase retries a delivery when your endpoint doesn’t return2xx within 15 seconds, so the same event can arrive more than once. That includes arriving after you processed it but before your response landed.
Treat handlers as idempotent. The envelope id is stable across retries of the same event, so it works as a deduplication key:
Node.js
completed event can arrive before the running event for the same invocation, so branch on type and the state in data instead of assuming arrival order.
When deliveries stop
Browserbase retries failures immediately, then after 5s, 5m, 30m, 2h, 5h, 10h, and 10h. After eight attempts Browserbase marks the message failed and stops retrying. Browserbase disables an endpoint that fails continuously for five days. If deliveries stop without an obvious cause, check that before anything else. These common failure modes are preventable:- Slow handlers. The 15-second budget covers your whole response. Acknowledge first, process after.
- Redirects. A
3xxis a failure, not a success. Register the final URL instead of one that redirects to it.
Webhooks API reference
Full request and response shapes for every endpoint.
Functions
The invocations and builds these events report on.