Replace your team images with Badges in a few steps — keyed by the team IDs you already use, so you don't re-key anything. Every asset is an SVG that scales to any size.
Each customer gets their own key (its own plan, rate limit and quota). Use demo to try things now; swap in your key above and every snippet below updates. Check your plan & remaining quota:
If you already know a team's Badges slug, request its crest as an <img>. Find slugs with /v1/clubs?q=.
So you can render by your own team IDs, upload your team dictionary once — from the library's Connect data panel, or via the API. Provider can be opta, genius, sportradar, or your own label like internal.
You get a match report (matched / unmatched / ambiguous). It's live immediately — no redeploy.
Wherever you render a team image today, point it at the API using the ID you already hold. It's a one-line change.
React / JSX:
Don't rip anything out — use Badges only where you have a gap, so users never see an empty crest.
Map your whole catalogue in one call, store the result, and serve from your own CDN. The unmatched list tells you exactly where to keep your existing asset.
SVG scales losslessly — set &size= (8–1024). Need team colours for your own UI? /v1/club/{slug} returns them. Responses carry X-RateLimit-* headers; over-limit returns 429.
| Endpoint | Use |
|---|---|
| /v1/badge?slug=… | crest by slug |
| /v1/badge?provider=…&team_id=… | crest by your provider ID |
| /v1/teams/resolve | canonical record (id, colours, asset URLs) |
| /v1/clubs?q=… | search for slugs |
| /v1/account | your plan & remaining quota |