Skip to main content
The handful of rules every endpoint follows. Learn them once and the whole API reads the same way.

{app}

Every app-scoped endpoint takes one path segment that accepts anything that identifies an app. URL-encode it.
  • App Store id: 284882215 or id284882215
  • Google Play package: com.spotify.music
  • Apple bundle id: com.spotify.client
  • A store URL (apps.apple.com, itunes.apple.com, play.google.com)
  • A prefixed id: apple:284882215, play:com.spotify.music
  • A name: spotify resolves to the best search match and says so in meta.warnings
Add store=apple or store=play when an identifier could belong to either store. data.linked is the same app in the other store when we know it (same bundle id, or same developer and name).
If nothing matches, the API answers 404 app_not_found.

{dev}

GET /v1/developers/{dev} takes apple:<artist id>, play:<developer id>, a numeric id or the website domain. Add store=apple|play when it is ambiguous.