Coras Embed & API

LLM Compatible API for Bookable Inventory (hotels, flights, car hire, events).

Go live in under 15 minutes with the best music, sports, theatre and attraction ticketing inventory.

Framework-neutral SDK Typed events & callbacks Your brand, your routing
app.ts
import { mount } from "@coras-io/embed";

const app = mount({
  container: document.querySelector("#coras"),
  page: "landing",
  config: { locale: "en-GB", currency: "GBP" },
});

await app.ready;

Trusted by the world's biggest brands

Fly FrontierSun Country AirlinesRiyadh AirPegasus AirlinesAzerbaijan AirlinesMovetixLufthansaSwiss International Air LinesAustrian AirlinesBrussels AirlinesAir France-KLMItaloTravelodgeTrip.comFurthrShop Experiences
Two ways to build

Choose the integration that suits your product.

The API

Build it your way

A REST API over pre-negotiated global inventory. Full control of search, checkout and fulfilment in your own stack.

  • Complete control over UX and data
  • One integration, global catalogue
  • Typed, documented, LLM-friendly
Read the API docs
The embed SDK

Or, ship in an afternoon

Mount ready-made booking, search and checkout pages with onemount() call. The fastest path from zero to selling.

  • Live in under 15 minutes
  • Works in every major framework
  • Themed to your brand, end to end
Read the embed docs
Build with Studio & Claude

Three steps. Under fifteen minutes.

Design your pages, pick what they do, and let Claude build the site.

Design

Use Coras Studio to design your purchase pages: colours, fonts, logo and radius, previewed against real pages.

Choose

Choose the functionality you want to include, from search and checkout to the exact pages you need.

Ship

Copy your brand.json and prompt into Claude to build your site.

The world's biggest sports and entertainment brands sell through Coras's partner network.

Coras Studio

Simple customisation for your brand.

Our Branding Studio lets you easily customise our ready-to-ship components. Choose the functionality you want to include, then copy your brand.json and prompt into Claude to finish your site.

10,000+
Events
300+
Cities
50+
Countries
20
Languages
11
Frameworks
<15 min
To first sale
For developers

How you integrate: the SDK, every framework, and the production details.

From install to live

Install, mount, go live.

No page tags, no per-framework wrappers. One SDK, one contract.

Install

Add the SDK to your project with your package manager of choice.

pnpm add @coras-io/embed

Mount

Point mount() at a container and a page. It renders on attach.

mount({
  container,
  page: "search",
  config,
});

Go live

Own routing and analytics with typed callbacks. Ship it.

app.update({
  page: "details",
  params: { id },
});
Framework-neutral

The same mount() call, everywhere.

One contract, eleven copy-paste bindings. React or plain HTML: the runtime behaviour is identical.

React
Next.js
Vue
Svelte
Angular
Solid.js
Astro
Lit
Alpine.js
Ember.js
Plain JS
Built for production

Everything the demo hides.

The details that decide whether an embed survives contact with a real app.

Your routing stays yours

Typed onNavigate and onStateChange callbacks and framework-neutral URL helpers keep routing, analytics and URL state in your app.

Typed events, redacted errors

Every host-facing event has a matching callback. Errors arrive safe and redacted, each with a stable code you can branch on.

Container-scoped by design

Theme, chrome and events are scoped to each mount root. Run two embeds on one page and they never leak into each other.

Optional Coras chrome

Opt into an SDK-managed navbar and footer per slot, or bring your own. Mount just the page when you want full control.

Global from day one

20 languages, dozens of currencies and locale-aware defaults, with pre-negotiated inventory across 50+ countries.

Fast by default

mount() returns synchronously and streams the page in. Prefetch the next page so a later switch renders instantly.

Card and crypto checkout

Take payment the way each customer prefers: cards through Stripe, crypto through Coinbase, with capture and refunds handled for you.

Start selling tickets today.

Grab the docs, mount a page, and go live before your coffee gets cold.