NBA VIDEO CLIPS API - BETA

Every play,
every clip
matched.

Sports Clips API connects your play-by-play feed to real NBA highlight clips automatically. One POST request - your app shows the video.

API live
LIVE DEMO

Watch the API work.

Every clip matched to the exact play and served within minutes of the post going live.

Knicks vs Hawks
NBA · Apr 6, 2026
Waiting for tip-off…
Listening for plays...
{ "match": { "tweetId": "2041322141916746137", "caption": "CAN'T BELIEVE WHAT I'M SEEING" } }
The response includes the embed URL ready to render in your app.
Masters · Round 2
Augusta National
Waiting for the first play…
Listening for plays...
{ "play": { "player": "Rory McIlroy", "round": 2, "hole": 12, "result": "birdie" } }
Sportradar gives the play. We return the clip - when we have it.
Patriots vs Buccaneers
NFL · Week 10
Waiting for kickoff…
Listening for plays...
{ "match": { "tweetId": "1987601624576020727", "caption": "OH MY TOE TAP STEFON DIGGS" } }
Same pipeline, different sport - no code changes needed.
Want to see this on your own game data?
INTEGRATION

Ship it your way.

Get the raw video file or drop in the X embed. Same clip, two delivery modes.

response.json
{
  "match": {
    "clipId": "celtics_2042412044",
    "videoUrl": "https://cdn.sportsclips.ai
      /nba/2026-04-10/celtics
      /2042412044478034337.mp4",
    "duration": 14.2,
    "mimeType": "video/mp4",
    "width": 1280,
    "height": 720
  }
}
01

Direct video file

02

X/Twitter embed

FULL COVERAGE

Live clips during. Full highlights after.

Per-play clips from team accounts in real time, then official @NBA full-game highlights within ~25 minutes of the final whistle. Two complementary feeds, one API.

LIVE · 2nd quarter @team accounts
0:14
J. Tatum 27' 3PT
@celtics · 18s after the play
0:09
L. Doncic Driving Layup
@dallasmavs · 24s after the play
0:11
J. Brunson Pull-Up J
@nyknicks · 31s after the play
+ 47 more clips this game
POST-GAME · 21 min after final @NBA on YouTube
LAKERS at WARRIORS | FULL GAME HIGHLIGHTS | April 9, 2026
NBA · 1.2M views · 21 min ago
Official full-game highlights from the @NBA channel. Auto-ingested via Google PubSubHubbub the moment the upload goes public - no polling, no scraping.
Beyond the NBA

Same pipeline. Every major league.

The matching engine is sport-agnostic. Any league with a structured event feed and an official highlights channel plugs in. Champions League match-day recaps auto-ingest from the official UEFA YouTube feed the moment the final whistle goes, exactly like @NBA full-game highlights do today.

Swap the schedule source, swap the event taxonomy, keep everything else. One API, one integration, every sport your users watch.

NBA · live Champions League · demo NFL MLB NHL La Liga
UEFA Champions League | Official Match Highlights
UEFA · official YouTube · post-match
HOW IT WORKS

From play event to video in one request.

1

POST a play event

When your play-by-play feed emits a new event - dunk, three-pointer, block - you POST it to our API with the game ID, play type, players, and timestamp.

POST /v1/nba/clips/match { "gameId": "nba-2026-04-06-nyk-atl", "playType": "three_pointer", "players": ["J. Brunson"] }
2

We score every candidate clip

Our scorer evaluates all clips posted by NBA team accounts within the time window - scoring by post timing (35 pts), play type (30 pts), player mention (20 pts), and caption similarity (15 pts).

"CAPTAINNNNN 🎯"
94
"JB FOR 3️⃣"
71
"Knicks run continues!"
12
3

We return the clip, ready to embed

You get back the matching tweet embed URL, confidence score, and all candidate clips. Render it directly using Twitter's embed API, or proxy the video URL.

{ "match": { "tweetId": "2041319293934002590", "embedUrl": "https://x.com/nyknicks/status/...", "caption": "CAPTAINNNNN 🎯" }, "confidence": 0.94 }
GET ACCESS

Request API access.

We're in beta with a limited number of teams. Tell us about your product and we'll get back to you within 24 hours.

✓ Request received.
We'll reach out to you within 24 hours.
🔒 No spam. Seriously.
⚡ 24h response time
🏀 NBA 2025-26 data live