matchora

Developer API

Free, no key required. Fixtures, live scores and a ready-to-use embed URL for every match.

What you get

Match metadata and an embed_url per event. Playback happens inside our player, so you never handle streams, tokens or geo issues — drop in an iframe and it works. Direct stream URLs are not part of the public API.

Endpoints

MethodPathDescription
GET/api/v1/schedule Fixtures. ?date=YYYY-MM-DD, ?watchable=1 for matches with a channel, ?live=1 for in-play only.
GET/api/v1/events/{id}One fixture + its channels + embed url.
GET/api/v1/liveEverything in play, with the current minute.
GET/api/v1/channelsChannels we index.

Example

curl "https://matchora-site.abdouphphtml.workers.dev/api/v1/schedule?watchable=1"
{
  "events": [{
    "id": "2511759",
    "home": "St Pauli", "away": "Kaiserslautern",
    "league": "German 2. Bundesliga",
    "kickoff": 1788104000, "status": "1H", "minute": "22", "score": "0-0", "live": true,
    "channel_count": 7,
    "embed_url": "https://matchora-site.abdouphphtml.workers.dev/embed/match/2511759"
  }]
}

Embedding

Works on any domain. No key, no registration.

<iframe src="https://matchora-site.abdouphphtml.workers.dev/embed/match/{event_id}"
        width="100%" height="480" frameborder="0"
        allowfullscreen allow="autoplay; fullscreen"></iframe>

Also available per channel: /embed/channel/{channel_id}. Add ?ch={channel_id} to a match embed to preselect a broadcaster.

Fair use

Rate limited per IP. The embed carries our advertising, which is what keeps the API free — please don't strip or overlay it.