Overview
LIGR runs live sports graphics and streams for broadcasters, leagues and federations. This site documents four surfaces you can build on.
The four surfaces
Section titled “The four surfaces”| Surface | What it does | Where to start |
|---|---|---|
| REST API | Read and write matches, facts, teams, overlays, streams and themes | Your first request |
| Webhooks | Signed POST requests when a match, fact, team, competition or summary changes | Webhooks overview |
| Graphics SDK | Write a graphic in HTML and JavaScript, then publish it into a theme | Graphics SDK |
| Rive graphics | Import a native Rive runtime or source project, then bind live data | Rive graphics |
What you can build
Section titled “What you can build”- A scoring system that creates matches and posts facts as the match runs.
- A broadcast automation that fires graphics on an overlay and drives the stream.
- A data push from a spreadsheet or a feed into a theme data source.
- Your own HTML graphics, published into a theme that operators use.
- Native Rive graphics bound to live match data and control-room variables.
Before you start
Section titled “Before you start”- Get an organization on LIGR. Ask your LIGR contact if you do not have one.
- Ask an owner or an admin of that organization to create an API key.
- Send that key on every request to
https://api.ligr.live/rest.
The examples in these docs use production: api.ligr.live for REST and overlay.ligr.live for
overlays. If LIGR gave you a non-production environment, use its API and overlay origins instead.
A key works only in the environment that issued it.
The rest of this section
Section titled “The rest of this section”| Page | What it answers |
|---|---|
| Authentication | How keys work, which scopes exist, and how expiry works |
| Your first request | A working curl call and the response it returns |
| Concepts | The competition tree, the theme tree, and the ids that join them |
| Includes & pagination | How to fetch related entities and page through lists |
| Errors | Every status code, error code and response body |
| Rate limits | The RateLimit headers, observe mode, and the enforcement dates |
| Versioning | Why /v1 and /v2 run side by side, and the deprecation policy |