PREPARING RUNWAY...
PREPARING RUNWAY...
CONTROL TOWER - FOR CODE AND AGENTS
A public read-only REST API with an OpenAPI contract, a remote MCP server and plain-text files for AI systems. No key, no account. Writes stay on the website.
REST
Every path is a GET under /api/v1. Responses are JSON, cached for a few minutes at the edge, and carry RateLimit headers. Launch days are calendar days in Asia/Kolkata; timestamps are UTC.
| Path | What it returns |
|---|---|
| /api/v1 | API index |
| /api/v1/products | List public products |
| /api/v1/products/{slug} | Get a product by slug |
| /api/v1/launches/today | Today's departures |
| /api/v1/winners | Daily podiums |
| /api/v1/categories | Product categories |
| /api/v1/directories | The directory list |
| /api/v1/blog/posts | Published blog posts |
| /api/v1/blog/posts/{slug} | Get a blog post with its Markdown body |
| /api/v1/stats | Platform counts |
curl -s https://www.divvlaunches.com/api/v1/launches/today
curl -s "https://www.divvlaunches.com/api/v1/products?q=radar&category=ai&limit=5"
curl -s https://www.divvlaunches.com/api/v1/winners?days=7
curl -s https://www.divvlaunches.com/api/v1/directoriesProduct summaries carry the flight number, launch date, tier, votes, status and the page URL; the single-product endpoint adds the description and makers. Podium places point at a product or null when that listing is no longer public.
OpenAPI 3.1
/openapi.json describes every path, parameter, schema and error, with the RateLimit headers on each response. Load it into a client generator, a request tool or an agent framework; the API index links the same things in JSON.
npx @redocly/cli lint https://www.divvlaunches.com/openapi.json
npx openapi-typescript https://www.divvlaunches.com/openapi.json -o divvlaunches.d.tsMCP
A Model Context Protocol server over the same data, served as stateless Streamable HTTP at /api/mcp. No authorization. Every tool is read-only. Discovery: /.well-known/mcp.json and the server card.
Clients that speak Streamable HTTP (Claude, Cursor, VS Code, Windsurf and most agent frameworks) take the URL directly:
{
"mcpServers": {
"divvlaunches": { "url": "https://www.divvlaunches.com/api/mcp" }
}
}Clients that only run local stdio servers can bridge through mcp-remote:
{
"mcpServers": {
"divvlaunches": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://www.divvlaunches.com/api/mcp"]
}
}
}Search public launches by text, category, status, tier or launch date. Returns summaries with page URLs.
Full details of one public product by slug, including description and makers.
The launches on the current launch day (Asia/Kolkata) with the voting window, plus tomorrow's boarding list.
Frozen Gold, Silver and Bronze places for recent launch days, or one day.
The product categories with their URLs.
Every active directory DivvLaunches submits to, with domain rating and link type.
Published posts with summaries and Markdown URLs.
One post with its full Markdown body.
Public counts: products, launches today, upcoming, blog posts, directories, podium days.
Access
{
"type": "https://www.divvlaunches.com/dev#errors-not-found",
"title": "Not found",
"status": 404,
"detail": "No public product with slug \"sky-radar\".",
"code": "not_found",
"hint": "Slugs are lowercase; list products with GET /api/v1/products?q=name.",
"retryable": false,
"instance": "/api/v1/products/sky-radar"
}| Code | Status | Meaning |
|---|---|---|
| invalid_parameter | 400 | A query or path value is malformed. The hint says what was received. |
| not_found | 404 | No public product, post or podium matches. Delisted products are not returned. |
| rate_limited | 429 | More than 120 requests in 60 seconds from one address. Retry-After says how long to wait. |
| database_unavailable | 503 | The catalog could not be read. Retryable. |
| internal_error | 500 | Something failed on our side. Retryable. |
For agents
Rules for AI systems are in ai.txt. Questions: divv@divvlaunches.com. Looking for the product itself? Pricing and book a launch.