Spotifyspotify.com
Spotify's API program shows strong fundamentals in API design and agent discovery, but two areas are holding back partner outcomes. Structured metadata is entirely absent from documentation pages, meaning answer engines and AI agents cannot surface or cite Spotify's APIs without manual searching.
API DesignA clean, typed, well-governed API contract agents can reason about4 pass1 warn0 fail100A+
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable, versioned contractvia spec | 25/25 | The API declares version "1.0.0" and uses url-based versioning, so an agent can pin to a stable contract. Investigated: spec 100%, docs 100%. | A current OpenAPI version with a declared versioning scheme lets agents reason about the contract. |
| pass | Auth declared & discoverablevia spec | 25/25 | Authentication is required across the API (declared globally or on every operation), so an agent knows credentials are needed. Investigated: spec 100%, docs 100%, wellknown 0%. | Agents can only authenticate when auth is declared, scoped, and discoverable. |
| warn | Schema coverage & depthvia sdk | 24.9/25 | 284/290 (98%) public params are fully typed (no any/**kwargs). Analyzer reports not all methods have a derivable input schema. Investigated: sdk 100%, spec 67%. | Typed, complete request/response schemas are what make agent function-calling possible. |
| pass | Security & governance hygienevia spec | 15/15 | No credential-shaped strings detected in spec. Investigated: spec 100%, sdk 100%, wellknown 50%. | No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel. |
| pass | Example coveragevia sdk | 10/10 | README is present and includes a runnable quickstart. Investigated: sdk 100%, spec 0%, docs 0%. | Examples carry shape semantics schemas under-specify — for humans and agents alike. |
Developer ExperienceThe context both developers and agents need to integrate fast — onboarding, code samples, complete descriptions and worked examples2 pass1 warn2 fail66C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Self-service developer portalvia docs | 29/29 | Self-service signup available at https://www.spotify.com/us/signup, but no free tier or sandbox is documented, so an agent may hit a paywall before the first call. Investigated: docs 100%. | Self-serve key/account creation is the fast first call for partners, with no sales gate. |
| warn | Description completenessvia sdk | 14.6/15 | 161/165 operations carry a description. Investigated: sdk 98%, spec 0%. | Complete descriptions are the context humans and agents need to use endpoints. |
| pass | Changelog publishedvia sdk | 13/13 | Newest official SDK activity 73 day(s) ago. Investigated: sdk 100%, spec 0%, docs 0%. | A published changelog lets partners track changes without surprise. |
| fail | Quickstart presentvia docs | 0/25 | No quickstart or getting-started page found at the conventional docs paths, so new developers and agents have no obvious first step. Investigated: docs 0%. | A quickstart is the fastest path from landing page to first successful call. |
| fail | Code samples in docsvia docs | 0/18 | No code samples detected across 2 sampled docs pages, so a coding agent gets no ready-to-use examples. Investigated: docs 0%. | Multi-language samples shorten time-to-first-call. |
Agent DiscoveryPartners and their agents can find your APIs — llms.txt, registries, crawlable and reachable docs1 pass3 warn0 fail83A
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Registry & SDK presencevia docs | 28/28 | Indexed on Context7 (darren-project/obsidian-spotify, 1 snippets). Investigated: docs 100%, sdk 100%, cli 0%, mcp 0%, wellknown 0%. | Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look. |
| warn | llms.txt present, valid & comprehensivevia docs | 24/30 | No llms.txt directive found in HTML of any of 1 pages. Investigated: docs 80%, sdk 0%. | A valid, comprehensive llms.txt is the machine-readable entry point for agents. |
| warn | Docs reachable, not hard auth-gatedvia docs | 22.5/30 | Server ignores Accept: text/markdown header (0/1 pages return markdown). Investigated: docs 75%. | Agents can only index and fetch docs they can reach — past auth gates and over correct HTTP semantics. |
| warn | Crawlable / AEOvia wellknown | 6/12 | No sitemap found via robots.txt or /sitemap.xml on the docs host, so AI search engines have no crawl map for your docs. Investigated: wellknown 50%. | Bots allowed plus a fresh sitemap make docs findable by agent crawlers. |
Agent UnderstandingAgents can correctly interpret your APIs — machine-readable errors, consistent descriptions, structured data, parseable docs2 pass3 warn1 fail80A
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable errors (RFC 9457)via docs | 28/28 | Documents 5 distinct 4xx/5xx error response codes, so an agent can branch on specific failures instead of guessing. Investigated: docs 100%, sdk 100%, spec 50%. | RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens. |
| pass | Operation purpose clarityvia spec | 25/25 | 94% of operations (45 of 48) have both a clear summary and a descriptive name, so an agent can pick the right endpoint. Investigated: spec 100%, sdk 100%. | Agents select the right endpoint from its summary + operationId; clear, named operations make tool-selection reliable — the strongest driver of correct tool choice. |
| warn | Agent-navigable, token-efficient docsvia docs | 16.5/22 | No pages support .md URLs (0/1 tested). Investigated: docs 75%. | Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly. |
| warn | Agent instructions file (AGENTS.md)via sdk | 5/10 | No agents.md or skill.md context file found (nice-to-have for agent operation). Investigated: sdk 50%, wellknown 0%. | An AGENTS.md gives coding agents explicit setup, auth, and usage instructions to interpret and operate the API — beyond llms.txt's link index. |
| warn | Description consistency across surfaces | 1.7/7 | Mean pairwise description similarity across 2 surfaces (spec, docs) is 8% (threshold 35% for full credit). | Every surface tells the same story about what the product is. |
| fail | Docs structured datavia docs | 0/8 | No JSON-LD or OpenGraph/meta tags found across 2 assessed pages (2 JS-rendered), so answer engines have nothing to cite. Investigated: docs 0%. | Structured data (JSON-LD/schema.org) on docs pages gives agents an unambiguous parse target and is what answer engines cite. Detected on the JS-rendered head (Firecrawl) for a bounded page budget, so JS-injected JSON-LD is now caught; pages we can't render are excluded rather than failed. |
Agent UsabilityAgents have the context to use your APIs reliably, not just find them3 pass1 warn1 fail76B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Idempotency documentedvia sdk | 27/27 | Built-in retry machinery is present (grep-derived). Investigated: sdk 100%, spec 0%, docs 0%. | Documented idempotency lets agents retry safely. |
| pass | Sandbox separationvia sdk | 20/20 | Sandbox environments are exposed (sandbox). Investigated: sdk 100%, spec 0%, docs 0%. | An isolated environment lets agents exercise destructive operations safely. |
| warn | Pagination documented & consistentvia sdk | 15.1/22 | Only 22/32 list method(s) return an auto-paginating iterable; 10 return a raw page. Investigated: sdk 69%, spec 0%, docs 0%. | Consistent, documented pagination lets agents traverse collections. |
| pass | Runnable collection with test scriptsvia sdk | 9/9 | README is present and includes a runnable quickstart. Investigated: sdk 100%, platform 0%. | A public, maintained collection with assertions is runnable truth agents validate against. |
| fail | Rate-limit signalingvia spec | 0/22 | No rate-limit response headers are documented, so an agent can't tell when it is approaching a limit and will get throttled. Investigated: spec 0%, docs 0%. | Machine-readable rate-limit headers let agents throttle adaptively. |
Resources Discovered
The public resources we found for Spotify — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.
| Agent hints | Context7 (1) |
|---|---|
| APIs analyzed | 1 — Spotify Web API |