Fetch the catalog
Use the public catalog endpoint to list live and upcoming events. Each event includes its public id, source list, and display metadata.
GET __ORIGIN__/api/public/catalog
FootFast exposes a simple public API for event discovery and iframe generation. You can fetch the live event catalog, pick an event source, and embed the player using either a raw URL or a ready-to-paste iframe snippet.
Use the public catalog endpoint to list live and upcoming events. Each event includes its public id, source list, and display metadata.
GET __ORIGIN__/api/public/catalog
Events can expose multiple servers. Pass source or sourceId to target a specific server.
?source=server-uuid
Ask for JSON, a raw embed URL, or a finished iframe snippet. The player itself is hosted by FootFast and handles the secure playback flow for you.
?format=json|url|iframe
| Endpoint | Use |
|---|---|
| /api/public | Machine-readable discovery document for the public API. |
| /api/public/catalog | Public event catalog with event ids and server sources. |
| /api/public/embed/event/:eventId | Returns embed data for one event. |
| /api/channel-logo/:token | Public channel/logo proxy with open CORS. |
| Query | Returns |
|---|---|
| ?format=json | JSON payload with embedUrl, iframeCode, and source metadata. |
| ?format=url | Plain text embed URL like /event/:id?source=.... |
| ?format=iframe | Ready-to-paste iframe HTML snippet. |
const origin = "__ORIGIN__";
const catalog = await fetch(`${origin}/api/public/catalog`).then((r) => r.json());
const event = catalog.events?.find(Boolean);
if (!event) throw new Error("No live events");
const embed = await fetch(
`${origin}/api/public/embed/event/${encodeURIComponent(event.id)}?format=json`
).then((r) => r.json());
document.querySelector("#player").innerHTML = embed.iframeCode;
GET __ORIGIN__/api/public/embed/event/soccer-example?format=url
Replace soccer-example with a real event id from the catalog.
GET __ORIGIN__/api/public/embed/event/soccer-example?format=iframe
The response body is already safe to paste into your page template.