Developers

Ticketing as
a primitive.

Not a widget bolted onto someone else's platform. Sessions, inventory, reservations, and payments — composable parts with real guarantees underneath.

$ npm install @ticketlayer/live
22 sales endpoints 3 lines to first ticket 135 currencies 0 queues fallen over
onsale.ts
01import { TicketLayer } from '@ticketlayer/live';
02
03// real-time availability, no polling
04tl.inventory.watch('evt_subsonic_26', (level) => {
05  render(`${level.available} tickets left`);
06});
07
08// reservations that expire themselves
09const hold = await tl.cart.reserve({
10  ticketType: 'tty_ga', quantity: 2, ttl: 600
11});
12await tl.checkout.confirm(hold, { method: 'card' });
✓ order ord_8Xk2mQ confirmed · 2× GA · £48.00 · 184ms

Every layer is yours to build on

Elements<tl-ticket-selector />
Live SDK@ticketlayer/live
Backstage APIREST · webhooks · OpenAPI
Docs that respect youdocs.ticketlayer.com
Build with confidence
@ticketlayer/elements

Drop-in components

Event lists, seat maps, ticket selectors, carts. Framework-agnostic web components with React bindings.

guides · golden journeys

Copy-paste examples

OpenAPI-generated reference and guides that actually run — from a buy button to a full white-label checkout.

webhooks · outbox · at-least-once

Events you can trust

Every mutation emits an event through a transactional outbox. Build integrations without fear.

99.99%
onsale uptime
184ms
median checkout API
22
sales endpoints
£0
until you sell

Ship your ticketing this weekend