Analytics product markSTREAMING & SOCIAL ANALYTICS

Streaming Analytics Built for Label Catalogs

A track picks up on Deezer over the weekend. Apple Music’s editorial team adds it on Tuesday. By Thursday it is soundtracking Snapchat videos in a country nobody on your team has ever marketed in. Separate dashboards, separate logins, every feed arriving on its own lag.

LabelGrid puts the whole catalog on one screen. Spotify, Apple Music, Deezer, Audiomack, Boomplay, AWA, KuGou, KuWo and QQ Music report into the same views, scoped to your labels, with the social platforms where people actually use your music sitting next to them. Read it all in the dashboard, and pull the streaming side over the public API or ask your AI assistant.

Soft-3D chart panel where separate store ribbons converge into one catalog-wide curve, with a trailing segment drawn as still filling — one catalog read across every reporting store
Three store ribbons rendered as a merged total, then split side by side, then isolated one at a time — combined, compare and single store modes

COMBINED, COMPARED, OR ONE AT A TIME

One dashboard, every store that reports

Spotify, Apple Music, Deezer, Audiomack, Boomplay and AWA report daily, while KuGou, KuWo and QQ Music report once a week, and all of them land in the same views. Combined mode totals the catalog across every store at once. Compare mode puts them side by side, which is usually where you find out that the release doing nothing at home is doing quite well somewhere else. Single mode isolates one store when you want to work it properly. Compare-all picks up new stores on its own, so a feed added next quarter shows up in comparisons you built months ago.

LabelGrid distributes to all major DSPs, and the stores above are the ones whose analytics feeds we ingest. The rest still earn, and they still land in your royalty statements. Statements and analytics run on separate pipelines, so a store can pay you without charting here.

THIRTY-SEVEN METRIC SECTIONS

Depth, not a bigger stream counter

A stream count tells you something happened. The other 36 metric sections tell you what. Not every store reports every one of them, and the dashboard says which per metric instead of guessing.

A single track record fanning into layered facets for geography, audience, engagement and playlists — the metric sections behind one stream count

Plays, listeners and saves

Streams come from every store on the list. Listeners come from Spotify, Apple Music and Audiomack, with Spotify and Apple reporting a true de-duplicated daily count per track. Saves come from Spotify and Audiomack. Skips and shares are Spotify signals.

Where the listening happens

Streams by country for Spotify, Apple Music, Deezer, Boomplay and Audiomack, with Apple adding its own city and storefront breakdowns. AWA reports streams with no country split, because its feed carries sub-national Japanese region codes rather than countries. KuGou, KuWo and QQ Music carry no country split either.

Who is listening

Streams by age and gender come from Spotify and Apple Music. Listener demographics from Spotify and Deezer are a different lens on the same audience, counting people rather than plays. They cover age and gender, region, plus the free-versus-paid plan mix of your listeners.

How they listen

Spotify goes deepest here. Completion rate and skip behavior, average listen time and shuffle share. Then discovery and repeat-listener rates, with lyrics and canvas views alongside. Then the mechanics: device, OS, audio format, hour of day, and where the stream started, whether that was a playlist, someone’s library or a search. Deezer reports average listen time plus device and OS.

Playlists and editorial

The placements view lists the playlists a track landed in for Spotify, Apple Music and Deezer, filterable per store. Spotify rows carry the playlist name plus its owner and stream count. Apple rows name editorial playlists and the best position the track reached, sometimes with no play count attached, because a missing count means the store did not report one. Deezer rows link out to the public playlist when the id resolves.

Shazam and Apple’s own signals

Library adds, editorial playlist adds and Shazam counts, including Shazams by city and state, come from Apple Music. Shazam is an Apple signal and Spotify has no equivalent.

NO FILLED-IN GAPS

Honest by design

It is easy to make an analytics product look complete. Spread a weekly total across seven days, print a metric the store never sent as a zero, quietly draw days that are still arriving as though they were final, and every chart fills in beautifully. LabelGrid does none of that, which means you will sometimes see a gap here instead of a number.

A metric the store does not report

When a store does not send a metric, the dashboard marks it unavailable for that platform. It never shows a zero, because zero is a real measurement and “this store does not publish this” is a different statement entirely.

Weekly stores stay weekly

KuGou, KuWo and QQ Music report once a week. Each report becomes one data point, dated to the day it covers and carrying that week’s whole total, never divided into seven invented daily figures. On a daily chart those stores show one populated date per week with space between, which is correct rather than missing, and range totals still add up.

The last few days are still filling

Every metric carries its own reported-through date and its own complete-through date, and they are not always the same day. Anything between them is still arriving, so those buckets are marked partial instead of letting a half-reported day read as a collapse. Expect the trailing edge of a chart to rise on a later view.

The privacy floor on audience detail

Demographic and geographic breakdowns are k-anonymised. Apple city breakdowns, Shazams by city and state, and listener demographics all sit behind a minimum-audience floor, and a cell that falls below it is dropped outright: no “other” bucket, no rolled-up total that would let the suppressed audience be worked out backwards. A small catalog can therefore show healthy streams next to an empty demographics or city chart. That is the floor doing its job, and the space stays empty rather than getting filled with a number we invented.

What is deliberately not in here

Streaming-integrity detection stays out of customer analytics entirely, so nothing in these charts doubles as a verdict on an artist. That work lives in Stream Radar, a separate add-on with its own surface.

Short-form content cards orbiting a waveform core, each carrying a create-and-view pair — catalog usage across social and UGC platforms

SOCIAL AND UGC

Your music, used outside the stores

A track of yours ends up in somebody’s Snapchat video. That use never lands in a stream count, and it is exactly the half of the catalog the social view covers.

SoundCloud reports plays, reposts, favorites and territories. Snapchat, Instagram, Facebook, WhatsApp and Messenger report content creates, meaning the actual pieces of content made with your music, along with views and territories; Instagram and Facebook add follower and engagement growth on the artist’s account. Threads reports views and reach only, because its feed measures consumption rather than creations.

These run on separate feeds with a separate platform axis, so a UGC view never mixes into a DSP stream total. They live in the dashboard. The public API covers the DSP streaming metrics.

DASHBOARD, CODE, OR CONVERSATION

Your analytics everywhere you work

Every streaming metric above is on the public API under /api/public/analytics, scoped to your own labels and keyed by ISRC. The summary endpoint returns up to twelve of the 37 metric sections in one call. Fifteen standalone series endpoints cover the individual metrics on their own, from streams and listeners through the country, age and gender breakdowns. Leaderboards rank your top performers, and entity filters narrow that ranking to one label, artist, release or track. Placements returns playlist rows filtered by platform.

Ask the availability endpoint what a platform supports and it hands back the whole section-by-platform matrix plus each store’s cadence in one cacheable, parameter-less call, so your integration reads the matrix instead of hardcoding assumptions about it. Summary and the series endpoints accept a 400-day window, a full year plus a comparison period in a single request; leaderboards and placements run to 180 days. Every summary response carries per-section freshness, so your own reports can mark provisional days the same way ours do.

The official LabelGrid MCP server is an open-source wrapper over that same API, which means Claude, Cursor or any other Model Context Protocol client can answer a question like “how did the Berlin release do on Apple Music last month” without anybody writing a query. Both the API and the MCP server need an API plan, and the API page lists what each tier covers.

COMMON QUESTIONS

Frequently Asked Questions

Spotify, Apple Music, Deezer, Audiomack, Boomplay, AWA, KuGou, KuWo and QQ Music all send analytics feeds that we ingest and chart. LabelGrid distributes to all major DSPs, so your catalog reaches further than that list. Stores without an analytics feed still pay out and still appear in your royalty statements. Statements and analytics run on separate pipelines.
Yes. Combined mode totals the catalog across every store at once, compare mode puts them side by side, and single mode isolates one. Compare-all automatically includes any store whose feed we add later. An existing comparison never goes stale because nobody remembered to tick a new box.
Demographic and geographic breakdowns are k-anonymised. Any cell whose audience falls below the minimum floor is dropped outright rather than rounded or bucketed, and that covers Apple city breakdowns, Shazams by city and state, and listener demographics. No total is published that would let the suppressed audience be inferred. A small catalog can legitimately show strong streams alongside an empty city chart, and we never fabricate a number to fill the gap.
Either the store does not report that metric at all, or your audience in that cell sits below the privacy floor. AWA reports streams only. KuGou, KuWo and QQ Music report on a weekly cadence, so their charts show one point per week rather than a continuous line. An unavailable marker means the data does not exist on that feed, which is not the same thing as a zero.
Every metric carries its own reported-through date and complete-through date, and stores publish on different lags, so one metric can be current through a later date than another. Days between the two are still filling and are marked partial rather than drawn as a drop. Spotify and Apple Music history reaches back years; the stores added in the July 2026 wave carry history from roughly late January 2026.
Yes to both, on an API plan. The public API exposes summary and per-metric series calls, leaderboards, placements plus an availability endpoint under /api/public/analytics, scoped to your labels and keyed by ISRC. The official LabelGrid MCP server is an open-source wrapper over that same API, so Claude, Cursor or any other MCP client can answer questions about your catalog directly. Both run on LabelGrid’s API plans rather than on a distributing plan.
The dashboard’s social view covers SoundCloud, Snapchat, Instagram, Facebook, Threads, WhatsApp and Messenger, and each reports what its feed provides: plays, reposts and favorites for SoundCloud; content creates and views by territory for Snapchat, Instagram, Facebook, WhatsApp and Messenger; views and reach for Threads; plus follower and engagement growth on Instagram and Facebook. These sit in the dashboard rather than the public API, and a social view never mixes into a DSP stream total.

Start with your own numbers

Analytics, advanced set included, comes with every standard plan.