Sleevetap API  from  PixelFox Studio

Physical releases, resolved to streaming.

Send a barcode, an artist and title, or a tracklist. Get back Apple Music and Spotify album links, the confidence, and which signal matched.

POST https://api.sleevetap.com/v1/resolve

{
  "barcodes": ["036172910519"],
  "artist":   "Slint",
  "title":    "Spiderland",
  "tracks":   ["Breadcrumb Trail", "Nosferatu Man", "Don, Aman"]
}

โ†’ 200

{
  "links": {
    "appleMusic": "https://music.apple.com/us/album/1440826815",
    "spotify":    "https://open.spotify.com/album/2NnkLRaeX33d1Mn8ZLgTo8"
  },
  "confidence": "exact",
  "matchedOn":  "tracklist"
}

Every field is optional except that you send at least one. More signals means a better match, not a required schema.

Why not just look up the barcode

Because it mostly doesn't work, and the failure is quiet. The barcode printed on a physical release identifies a pressing โ€” a specific manufacturing run. Streaming catalogues index digital releases, which carry a different identifier.

LookupResolves
The barcode printed on the item12.3%
The barcode of a CD edition of the same album77.7%

Measured across 430 lookups against a real catalogue. A UPC-keyed API is doing the first row. Finding the second requires knowing every edition of a release, which is a bulk-data problem, not an API call โ€” resolving it upstream costs several requests per item and hours per catalogue.

That is the work this does. It runs against a local mirror of 19.3 million releases cross-matched to streaming, so a lookup is an index hit rather than a fan-out.

Confidence is part of the response

You get told which signal matched, because the difference matters when you decide whether to auto-apply a result or queue it for review.

matchedOnMeansConfidence
barcodeSame edition, exact identifierexact-upc
tracklistSame edition, identical track setexact
tracklist-headSame album, possibly a different editionstrong
artist-titleNames agree, nothing else verifiedfuzzy

tracklist-head exists because a deluxe edition has different bonus tracks but the same opening songs. It matches a third more releases than an exact track set does, at the cost of sometimes returning a different edition than the one you sent โ€” which is why it is labelled rather than silently promoted.

What it won't resolve

Roughly one in ten album-type releases has no streaming equivalent to find. These are not matcher bugs and no amount of retrying fixes them:

Split releases โ€” two artists sharing one recordrarely on streaming as one album
Live-only pressings, demos, test pressingsno digital release exists
Singles and EPsoften not discrete releases

The response says so rather than returning a bad guess. If you need a fallback for these, the confidence tier is what you branch on.

Not open yet

The resolver runs in production against a real catalogue; the public API is not open. Tell me what you're matching and roughly how much of it โ€” that is what decides which endpoints ship first.

Or just email patrick@pixelfoxstudio.com.