When someone watches a movie or episode, they pause, rewind, and skip around. Scrobbling is how you tell Discovr about those moments—it’s the everyday heartbeat that keeps watch history and resume position in sync. Every time the user pauses, seeks, or finishes watching, you send a scrobble with their progress. Discovr uses that data to:Documentation Index
Fetch the complete documentation index at: https://docs.discovr.media/llms.txt
Use this file to discover all available pages before exploring further.
- Keep the Continue Watching row up-to-date with how far they got
- Track what they’ve watched for the history log
- Unlock completion-based features (auto-add to lists, mark complete)
The two scrobbling calls
scrobble() — progress updates
Track progress as the user watches. Send the media ID and current progress (0–100%).
TypeScript
TypeScript
scrobbleSkip() — recording skips
When the user jumps around (fast-forward, rewind, skip intro), log it. This helps us understand viewing patterns.
TypeScript
When to call scrobble
Callscrobble() during the typical player lifecycle:
| Event | Example | What to send |
|---|---|---|
| Pause | User pauses video | Current progress |
| Resume | User un-pauses | Current progress |
| Seek | User scrubs to new position | New progress |
| Completion | Video finishes or reaches threshold | progress: 100 |
- On pause / resume / completion: scrobble immediately
- During playback: scrobble every 10–30 seconds (or on significant seeks)
Example: A simple player heartbeat
Here’s how you might wire a player to scrobble as the user watches:About skip data
At the momentscrobbleSkip() has no effect on the user’s data, but we’re hoping to use the data for automatic detection of intros and outros so Discovr can help make “Skip Intro” buttons in the future. If your player supports skip detection, please send it via scrobbleSkip().
Playback vs History
Scrobble is the everyday path during viewing—it updates the Continue Watching queue and feeds the history log. If you need to correct or backfill history (e.g., marking a title watched after the fact, or adjusting completion metadata), use the history APIs instead. See Profile context for the distinction between playback (resume queue) and history (event log).Related reading
- Profile context — overview of lists, playback, and history
- Understanding Your Media State — how
getMediaProfileMetareflects scrobble updates scrobble()SDK Reference — completion thresholds and watchlist side effectsscrobbleSkip()SDK Reference — skip telemetry details