For developers and builders
Ticketing API and embeddable checkout for your product
Add ticket sales to any website, SaaS product, or client build. A clean REST API, a 5KB embed widget, and signed webhooks. Buyers pay through your brand, money lands in your own Stripe account, and there are no per-ticket fees ever.
Test mode included on every plan. Use sk_test_ keys to build against sample data before you go live.
Integration options
Three ways to integrate
Pick the integration depth that fits. Drop in a widget in two minutes, or drive the whole thing from the API.
Embed widget
The fastest path. One <script> tag renders checkout inline, or wires a "Buy tickets" button to a modal. Vanilla JS, under 5KB, no dependencies, works on any site that allows custom HTML. Buyers never leave your page.
REST API
Full programmatic control. Create and publish events, manage ticket types, and read orders and attendees from your own backend. Bearer-token auth, idempotent writes, predictable JSON. Build ticketing into your SaaS or automate your whole event workflow.
Webhooks
Real-time events pushed to your endpoint. Subscribe to order.created, order.refunded, ticket.checked_in, and event.sold_out. Every delivery is signed so you can verify it came from Equaticket. Available on Growth and Pro.
Embed widget
Embed checkout in one snippet
The widget is a cross-origin iframe served from widget.equaticket.com. Add one script tag and a target element. Revenue goes straight to your Stripe account, no redirect and no marketplace in between.
Inline embed
Renders ticket types, quantities, and checkout in the flow of your page.
<div data-eq-event-id="YOUR_EVENT_ID"></div>
<script src="https://widget.equaticket.com/v1/embed.js" async></script>Modal embed
Attaches to any button. Centered overlay on desktop, bottom sheet on mobile. Style the button however you like.
<button data-eq-event-id="YOUR_EVENT_ID" data-eq-mode="modal">Buy tickets</button>
<script src="https://widget.equaticket.com/v1/embed.js" async></script>Track the funnel
The widget fires postMessage events at each stage so your existing analytics and pixels keep working:
window.addEventListener("message", (e) => {
if (e.origin !== "https://widget.equaticket.com") return;
switch (e.data.type) {
case "eq:ticket_added": /* fire add-to-cart */ break;
case "eq:checkout_started": /* fire begin-checkout */ break;
case "eq:purchase_complete": /* fire conversion */ break;
}
});Checkout completes in a new tab because Stripe does not allow its payment page to be framed. If your site uses a strict Content Security Policy, add https://widget.equaticket.com to your frame-src directive.
REST API
A REST API that does what you expect
Base URL https://app.equaticket.com. Authenticate with a Bearer token. Create an event, add ticket types, publish it, then read orders and attendees as they come in.
curl https://app.equaticket.com/api/v1/events \
-H "Authorization: Bearer sk_live_..."What you can do
- Organization: read your org profile
- Events: list, create, get, update, publish, cancel
- Ticket types: list, create, update, delete per event
- Orders: list across the org or per event, get a single order
- Attendees: list across the org or per event
- Webhooks: create and manage subscriptions, inspect deliveries
- Public events: read published events with no auth, for building public listings
Built for production
Test mode
sk_test_ keys return synthetic data with livemode: false. Build and test without touching live data.
Idempotency
Send an Idempotency-Key header on POSTs to retry safely after a network timeout.
Request IDs
Every response carries an X-Request-Id. Include it when you contact support and we can trace it instantly.
Rate limits
Scoped to your plan, with limit headers on every response. Free 60/min, Starter 100/min, Growth 300/min, Pro 600/min.
Webhooks
Know the moment something happens
Subscribe an HTTPS endpoint to the events you care about. We sign every payload with a secret shown once at creation, so you can verify authenticity.
order.createda buyer completed a purchase
order.refundedan order was refunded
ticket.checked_ina ticket was scanned at the door
event.sold_outan event hit capacity
*subscribe to all events
Inspect recent deliveries and retries from the dashboard or the /webhooks/{id}/deliveries endpoint. Available on Growth and Pro.
Agencies and platforms
Build it once, ship it for every client
If you build websites or run a SaaS product, Equaticket is the ticketing layer you do not have to maintain.
Your brand, not ours
On paid plans the "Powered by Equaticket" mark is removed from the widget and checkout. The flow looks like your product.
Direct payouts via Stripe Connect
Each organizer connects their own Stripe account (Standard). Money flows directly to them, you are never in the funds path, and there is no platform cut to reconcile.
No per-ticket fees to mark up or explain
Flat subscription pricing. Your clients keep their ticket revenue minus only Stripe's standard processing.
Integrations
Drop into the stack you already use
| Platform | How | Status |
|---|---|---|
| Any HTML site | Inline <script> tag or iframe | Available |
| WordPress | Plugin: [equaticket id="..."] shortcode + Gutenberg block | Available |
| Webflow | Custom code embed block | Docs available |
| Squarespace | Native extension (inline, modal, button) | Pending approval |
| Wix | Native app (Wix Blocks) | Pending approval |
Squarespace and Wix native integrations are submitted and under review. Manual embed via custom HTML works on both platforms today.
Prefer a no-code setup? See the embed widget guide for step-by-step instructions.
FAQ
Frequently asked questions
Is the API available on the free plan?
Yes. Every plan includes API access with test and live keys. Rate limits scale with your plan (Free 60 requests/min up to Pro 600/min). Webhooks are available on Growth and Pro.
Do I need to write code to embed tickets?
No. The widget is a copy-paste snippet, and the WordPress plugin needs only your event ID. The API and webhooks are there when you want deeper control.
Where does the money go?
Straight to your own Stripe account through Stripe Connect. Equaticket never holds your funds and takes no cut of ticket revenue. You pay Stripe's standard processing (2.9% + $0.30) and your flat Equaticket subscription, nothing per ticket.
Can I build a public event listing without authentication?
Yes. The /api/v1/public/events endpoint returns your published events with no auth, so you can build a public events page or feed.
How do I keep the checkout on-brand?
Use your logo and colors in the widget, and on paid plans the Equaticket attribution is removed. The Stripe payment step opens in a new tab because Stripe does not permit framing its payment page.
How do I verify a webhook actually came from Equaticket?
Each webhook has a signing secret, shown once when you create it. We sign every payload with it; verify the signature on your endpoint before trusting the event.
Start building in two minutes
Get a free account, grab a sk_test_ key, and make your first call. No credit card required.
No credit card required. Cancel anytime. No per-ticket fees, ever.