Range Coach Content API
Every Range Coach guide is public and read-only. Fetch any page as HTML or as clean Markdown. No sign-up or API key is needed.
What this covers
This interface serves the drill library, qualification courses and zeroing guides. Range Coach app data (your shot groups, drill logs and settings) is stored only in your own browser and is never available through it.
Endpoints
| Path (GET) | Returns |
|---|---|
/ | Home page: app overview and links to every guide |
/drill-library/ | Index of all shooting drills |
/drill-library/{slug} | One drill, e.g. bill-drill |
/qualifications/ | Index of all qualification courses |
/qualifications/{slug} | One course of fire, e.g. fbi-pistol-qualification-q-course |
/zeroing/ | Index of all zeroing guides |
/zeroing/{slug} | One zeroing guide, e.g. rifle-zero-50-yards |
/sitemap.xml | Every page URL |
/health | Health check: {"status":"ok"} |
/openapi.json | OpenAPI 3.1 description of these endpoints |
/.well-known/api-catalog | API catalog (RFC 9727, application/linkset+json) |
/.well-known/agent-card.json | A2A agent card for the guide agent |
/mcp (POST) | MCP server (Streamable HTTP; protocol 2026-07-28 and 2025-03-26 to 2025-11-25). Tools: search_guides, get_guide, list_guides; every guide is also a resource |
/mcp/server-card | MCP Server Card (application/mcp-server-card+json) |
/.well-known/ai-catalog.json | AI Catalog pointing to the MCP Server Card |
/.well-known/agent-skills/index.json | Agent Skills discovery index (v0.2.0) with the range-coach-guides skill |
/a2a (POST) | A2A JSON-RPC endpoint (protocol 1.0): SendMessage with a text question returns the best-matching guide as Markdown |
Markdown for agents
Send Accept: text/markdown with any page request to get Markdown with YAML front matter (title, description, URL) instead of HTML. Responses include Vary: Accept and an x-markdown-tokens estimate. Browsers get HTML as usual.
curl -H "Accept: text/markdown" https://myrangecoach.com/drill-library/bill-drill
Content use
Preferences are declared in robots.txt: search indexing and use as AI input (for example, AI search answers) are allowed; AI model training is not (Content-Signal: search=yes, ai-input=yes, ai-train=no).