SporfieSporfie
Pricing
Contact
SporfieSporfie

The complete video platform for sports.

  • Facebook
  • Instagram
  • X
  • YouTube

Platform

  • Features
  • Pricing
  • Shop
  • Blog
  • API

Legal

  • Service Status
  • Contact
  • Terms of Use
  • Privacy Policy
  • Community Guidelines

Get in touch

  • +1 480 584 0197
  • contact@sporfie.com
  • Support

© 2026 Sporfie. All rights reserved.

Documentation
Embed
v1
  • Configuration
  • Timestamp API
v3beta
  • Configuration
Sporfie API documentation
Beta

Embed player v3

Configure the v3 embed player, preview it live, and read the current query-parameter reference in one place.

Configuration

Toggle the supported v3 embed options, inspect the generated URL, and validate the live preview before shipping it.

Event access
Event key*The unique identifier of the event you want to embed.
Feature toggles
Playback
UI
Embed URL
Missing event key
Embed snippet
<!-- Missing event key -->
Live preview
Enter an event key to load the live preview.

The V3 embed serves the new Sporfie player inside an <iframe>. /embed/:eventKey (v1) is unchanged. Existing /v2/embed/:eventKey partner URLs are rewritten onto this v3 player so iframes keep working without a snippet change. /v3/embed/:eventKey is the documented form for new embeds.

URL format

code
https://www.sporfie.com/v3/embed/<eventKey>?<options>

/v3/embed/:eventKey is the documented form. It is rewritten internally to /event/:eventKey/v3/embed, which also works if you prefer the explicit route.

Basic snippet:

html
<iframe  src="https://www.sporfie.com/v3/embed/-Oab1cD2eF"  width="960"  height="540"  frameborder="0"  allow="autoplay; fullscreen; picture-in-picture"  allowfullscreen></iframe>

Responsive snippet (16:9, no fixed height):

html
<div style="position: relative; aspect-ratio: 16 / 9">  <iframe    src="https://www.sporfie.com/v3/embed/-Oab1cD2eF"    style="position: absolute; inset: 0; width: 100%; height: 100%; border: 0"    allow="autoplay; fullscreen; picture-in-picture"    allowfullscreen  ></iframe></div>

Framing allow-list

Embed responses carry a Content-Security-Policy: frame-ancestors … header built from the domains configured for the organization. If your domain is not on the list, the browser refuses to render the iframe. Ask Sporfie support to add it (or add it yourself under Admin → Events → Embedded player).

Options

Only pass the options you want to change — every one has a default, and omitted parameters use it. Unknown parameters are ignored, so an option added later can never break an existing embed.

Booleans accept true / 1 / an empty value for on, and false / 0 for off.

Access

| Parameter | Type | Default | Description | | --- | --- | --- | --- | | pin | string | — | PIN for a PIN-protected event. | | device | string | — | Pin playback to one camera (device id). Hides the camera picker. | | t | number (seconds) | — | Open the player at this position on the event timeline. |

Features

| Parameter | Type | Default | Description | | --- | --- | --- | --- | | multiAngle | boolean | false | Offer the camera picker and the multi-camera layouts. | | view | single \| split \| pip | single | Layout multi-camera events open with. Requires multiAngle=true and no device. | | scoreboard | boolean | true | Show the live scoreboard when the event has one. | | sponsorAssets | boolean | true | Show sponsor logos and overlays. | | ads | boolean | true | Play sponsor ad breaks. | | chat | boolean | false | Show the live chat panel. | | filmStrip | boolean | false | Show the moments film strip under the player. | | activityLog | boolean | false | Show the moments/activity panel. | | annotations | boolean | false | Show clipping, bookmarking and score buttons. | | settings | boolean | false | Show the settings menu. | | shortcuts | boolean | true | Handle keyboard shortcuts. |

Playback

| Parameter | Type | Default | Description | | --- | --- | --- | --- | | autoplay | boolean | false | Start playing on load. Browsers only allow this when muted=true. | | muted | boolean | false | Start muted. | | volume | number 0–1 | 1 | Initial volume. | | playbackRate | number | 1 | Initial playback speed. | | quality | auto \| high \| medium \| low | auto | Initial quality preference. | | autoplayNextClip | boolean | true | Continue to the next clip in a highlights reel. |

Layout

| Parameter | Type | Default | Description | | --- | --- | --- | --- | | showTitlebar | boolean | true | Show the event name / Sporfie bar above the player. | | fullWidth | boolean | true | Fill the iframe instead of laying out a 16:9 card. | | autohideControls | number (seconds) | 5 | Idle delay before the controls hide. 0 keeps them visible. | | forceRelativeTime | boolean | false | Show times relative to the event start instead of clock time. |

Migrating from V2

Swap /v2/embed/ for /v3/embed/ when you want the documented URL; both serve this player. The renamed options are accepted under their old names too:

| V2 parameter | V3 equivalent | | --- | --- | | contentSelector | filmStrip | | deviceSelector | multiAngle | | annotationButtons | annotations | | sideBySide=true | view=split | | pipPlayer=true | view=pip |

Dropped without a replacement (ignored if present): moments, bookmarks, scoreChanges, timeMarkers, zoomLevel, debugInfo, loop, speed, fullscreen.

Examples

bash
# Minimal, silent autoplay for a page hero/v3/embed/-Oab1cD2eF?autoplay=true&muted=true&showTitlebar=false# Multi-camera, side by side, with the film strip/v3/embed/-Oab1cD2eF?multiAngle=true&view=split&filmStrip=true# One fixed camera, starting 90 seconds in/v3/embed/-Oab1cD2eF?device=cam-1&t=90# PIN-protected event, controls always visible/v3/embed/-Oab1cD2eF?pin=1234&autohideControls=0

Keyboard shortcuts

Active when shortcuts is on and the iframe has focus:

| Key | Action | | --- | --- | | Space / K | Play / pause | | ← / → | Seek 5 seconds | | J / L | Seek 10 seconds | | ↑ / ↓ | Volume | | M | Mute | | F | Fullscreen | | , / . | Frame step while paused | | P / N | Previous / next moment | | 0–9 | Seek to 0–90% | | Home / End | Seek to start / end | | ? | Shortcut reference |

Timestamp messaging

The postMessage timestamp API is identical across v1, v2 and v3 — see EMBED_PLAYER_TIMESTAMP_MESSAGING.md. A listener written against the v2 embed needs no changes.

Paid and protected events

  • **PIN-protected events** show the PIN prompt inside the player; passing pin skips it.
  • **Pay-per-view events** cannot complete checkout inside a cross-origin iframe, so the embed shows a locked panel with a link that opens the event page on Sporfie in a new tab.