Stravastrava.com
Strava's API program shows strong developer experience fundamentals, but falls short in two areas that increasingly determine whether partners and their AI agents can discover and act on your APIs without friction. The most urgent gaps are agent discoverability — no machine-readable entry point means agents cannot find or navigate your API surface without human intervention — and agent understanding, where missing context files and unstructured docs force agents to guess rather than act correctly.
API DesignA clean, typed, well-governed API contract agents can reason about5 pass0 warn0 fail100A+
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable, versioned contractvia spec | 25/25 | Versioning declared (info.version="3.0.0") and url-versioning detected. Investigated: spec 100%, docs 100%. | A current OpenAPI version with a declared versioning scheme lets agents reason about the contract. |
| pass | Schema coverage & depthvia sdk | 25/25 | 128/128 (100%) public params are fully typed (no any/**kwargs). Analyzer confirms all methods have a derivable input schema. Investigated: sdk 100%, spec 83%. | Typed, complete request/response schemas are what make agent function-calling possible. |
| pass | Auth declared & discoverablevia spec | 25/25 | Authentication required (global or on every operation). Investigated: spec 100%, docs 100%, wellknown 100%. | Agents can only authenticate when auth is declared, scoped, and discoverable. |
| pass | Security & governance hygienevia spec | 15/15 | No credential-shaped strings detected in spec. Investigated: spec 100%, wellknown 100%. | 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 examples4 pass0 warn1 fail85A
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Self-service developer portalvia docs | 29/29 | Self-service signup at https://www.strava.com/register/free; no free tier or sandbox language detected. Investigated: docs 100%. | Self-serve key/account creation is the fast first call for partners, with no sales gate. |
| pass | Quickstart presentvia docs | 25/25 | Quickstart at https://developers.strava.com/docs/getting-started/ with a runnable first-call sample. Investigated: docs 100%. | A quickstart is the fastest path from landing page to first successful call. |
| pass | Description completenessvia spec | 15/15 | 100% of operations + parameters have substantive descriptions. Investigated: spec 100%, sdk 14%. | Complete descriptions are the context humans and agents need to use endpoints. |
| pass | Changelog publishedvia spec | 13/13 | changelog documented in the docs site at https://developers.strava.com/docs/changelog/. Investigated: spec 100%, docs 100%. | A published changelog lets partners track changes without surprise. |
| fail | Code samples in docsvia docs | 0/18 | No detectable code samples across 1 sampled docs pages. 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 pass2 warn1 fail65C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Registry & SDK presencevia docs | 28/28 | Indexed on Context7 (websites/developers_strava, 641 snippets). Investigated: docs 100%, sdk 67%, cli 0%, mcp 0%, wellknown 0%. | Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look. |
| 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 discoverable via robots.txt or /sitemap.xml on the docs host. Investigated: wellknown 50%. | Bots allowed plus a fresh sitemap make docs findable by agent crawlers. |
| fail | llms.txt present, valid & comprehensivevia docs | 0/30 | No llms.txt found at any candidate location (https://developers.strava.com/llms.txt, https://developers.strava.com/docs/llms.txt). Investigated: docs 0%, sdk 0%. | A valid, comprehensive llms.txt is the machine-readable entry point for agents. |
Agent UnderstandingAgents can correctly interpret your APIs — machine-readable errors, consistent descriptions, structured data, parseable docs2 pass2 warn2 fail77B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable errors (RFC 9457)via spec | 28/28 | No explicit 4xx/5xx codes, but 34 operation(s) document a "default" error response. Investigated: spec 100%, docs 100%, sdk 100%. | RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens. |
| pass | Operation purpose clarityvia spec | 25/25 | 91% of operations have a clear summary + operationId an agent can select on. Investigated: spec 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 | 18.9/22 | No pages support .md URLs (0/1 tested). Investigated: docs 86%. | Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly. |
| warn | Description consistency across surfaces | 1.1/7 | Mean pairwise description similarity across 2 surfaces (spec, docs) is 5% (threshold 35% for full credit). | Every surface tells the same story about what the product is. |
| fail | Agent instructions file (AGENTS.md)via wellknown | 0/10 | No AGENTS.md at the site root or /.well-known/. Investigated: 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. |
| fail | Docs structured datavia docs | 0/8 | Neither JSON-LD nor OpenGraph/meta tags detected across 1 assessed pages (1 JS-rendered). 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 them2 pass1 warn2 fail64C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Rate-limit signalingvia spec | 22/22 | rate-limit behavior documented in the docs site at https://developers.strava.com/docs/rate-limits/. Investigated: spec 100%, docs 100%. | Machine-readable rate-limit headers let agents throttle adaptively. |
| pass | Pagination documented & consistentvia spec | 22/22 | Pagination params detected on 12 list endpoint(s). Investigated: spec 100%, docs 100%. | Consistent, documented pagination lets agents traverse collections. |
| warn | Sandbox separationvia sdk | 10/20 | No test-mode flag or sandbox environment is exposed. Investigated: sdk 50%, spec 0%, docs 0%. | An isolated environment lets agents exercise destructive operations safely. |
| fail | Idempotency documentedvia spec | 0/27 | 0% of mutating operations document idempotency. Investigated: spec 0%, docs 0%, sdk 0%. | Documented idempotency lets agents retry safely. |
| fail | Runnable collection with test scriptsvia platform | 0/9 | No public Postman workspace discovered for the org. Investigated: platform 0%. | A public, maintained collection with assertions is runnable truth agents validate against. |
Resources Discovered
The public resources we found for Strava — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.
| Agent hints | Context7 (641) |
|---|---|
| APIs analyzed | 1 — Strava API v3 |