Developer API
The public API is available under /api/v1. It is unauthenticated, read-only, and intended for apps and websites that can cache aggressively.
Attribution
Any public display of API data must visibly credit SpaceCraftDB with a followed link. Use:
Data from <a href="https://spacecraftdb.com">SpaceCraftDB</a>
Links may use rel="noopener" when opening a new tab. Do not use nofollow, ugc, sponsored, or noreferrer.
Envelope
{
"data": {},
"meta": {
"apiVersion": "1",
"dataVersion": "38e663e79c4b97ed",
"generatedAt": "2026-06-15T00:00:00Z",
"attribution": {
"required": true,
"label": "Data from SpaceCraftDB",
"url": "https://spacecraftdb.com"
}
},
"links": {
"self": "/api/v1/version.json"
}
} Cache Policy
Immutable snapshots
public, max-age=31536000, s-maxage=31536000, immutableLatest aliases
public, max-age=300, s-maxage=3600, stale-while-revalidate=86400Galaxy D1 routes
public, max-age=3600, s-maxage=86400, stale-while-revalidate=604800Endpoint Reference
Select an endpoint family to inspect paths, parameters, cache policy, and the response shape.
GET Version /api/v1/version.json
/api/v1/version.json Response Shape
{
"data": {
"apiVersion": "1",
"dataVersion": "38e663e79c4b97ed",
"generatedAt": "2026-06-15T00:00:00Z",
"attribution": { "...": "..." },
"counts": { "items": 0, "resources": 0, "missions": 0 },
"routes": { "...": "..." }
},
"meta": { "...": "standard envelope metadata" },
"links": { "self": "/api/v1/version.json" }
} GET Manifest /api/v1/latest/manifest.json
/api/v1/latest/manifest.json Response Shape
{
"data": {
"apiVersion": "1",
"dataVersion": "38e663e79c4b97ed",
"generatedAt": "2026-06-15T00:00:00Z",
"counts": { "items": 0, "resources": 0, "permits": 0 },
"payloads": {
"items": {
"path": "/api/v1/data/38e663e79c4b97ed/items.json",
"latest": "/api/v1/latest/items.json",
"sha256": "..."
}
},
"attribution": { "...": "..." }
},
"meta": { "...": "standard envelope metadata" },
"links": { "self": "/api/v1/latest/manifest.json" }
} GET Stats /api/v1/stats.json
/api/v1/stats.json Response Shape
{
"data": {
"items": 0,
"resources": 0,
"permits": 0,
"missions": 0
},
"meta": { "...": "standard envelope metadata" },
"links": { "self": "/api/v1/stats.json" }
} GET OpenAPI /api/v1/openapi.json
/api/v1/openapi.json Response Shape
{
"openapi": "3.1.0",
"info": { "title": "SpaceCraftDB API", "version": "1" },
"paths": { "/api/v1/version.json": { "get": { "...": "..." } } }
} GET Slim Indexes /api/v1/latest/items/index.json
/api/v1/latest/items/index.json/api/v1/latest/resources/index.json/api/v1/latest/missions/index.json Response Shape
{
"data": [
{
"id": "item-id",
"slug": "aluminum-ingot",
"name": "Aluminum Ingot",
"href": "https://spacecraftdb.com/items/aluminum-ingot",
"icon": { "file": "atlas.png", "x": 0, "y": 0, "size": 64 },
"category": "Material",
"price": 0,
"storage": 1,
"hasModel": false
}
],
"meta": { "count": 0, "...": "standard envelope metadata" },
"links": { "self": "/api/v1/latest/items/index.json" }
} GET Latest Snapshots /api/v1/latest/items.json
/api/v1/latest/items.json/api/v1/latest/resources.json/api/v1/latest/permits.json/api/v1/latest/missions.json/api/v1/latest/tech.json/api/v1/latest/crafting/graph.json/api/v1/latest/galaxy/quadrants.json Response Shape
{
"data": [
{
"id": "item-id",
"slug": "aluminum-ingot",
"name": "Aluminum Ingot",
"desc": "...",
"attributes": [],
"sources": {
"craftedBy": [],
"usedIn": [],
"minedFrom": [],
"unlockedBy": []
}
}
],
"meta": {
"payload": { "key": "items", "sourceSha256": "...", "sourceBytes": 0 },
"...": "standard envelope metadata"
},
"links": {
"self": "/api/v1/latest/items.json",
"immutable": "/api/v1/data/38e663e79c4b97ed/items.json"
}
} GET Immutable Snapshots /api/v1/data/{version}/items.json
/api/v1/data/{version}/items.json/api/v1/data/{version}/resources.json/api/v1/data/{version}/permits.json/api/v1/data/{version}/missions.json/api/v1/data/{version}/tech.json/api/v1/data/{version}/crafting/graph.json/api/v1/data/{version}/galaxy/quadrants.json Response Shape
{
"data": [ "...same payload shape as the matching latest snapshot..." ],
"meta": {
"dataVersion": "38e663e79c4b97ed",
"payload": { "key": "items", "sourceSha256": "...", "sourceBytes": 0 }
},
"links": {
"self": "/api/v1/data/38e663e79c4b97ed/items.json",
"latest": "/api/v1/latest/items.json"
}
} GET Item Detail /api/v1/items/{slug}.json
/api/v1/items/{slug}.json Response Shape
{
"data": {
"id": "item-id",
"slug": "aluminum-ingot",
"name": "Aluminum Ingot",
"href": "https://spacecraftdb.com/items/aluminum-ingot",
"desc": "...",
"badges": [],
"attributes": [],
"effects": [],
"skills": [],
"tags": [],
"tiers": [],
"sources": {
"craftedBy": [],
"usedIn": [],
"minedFrom": [],
"unlockedBy": []
}
},
"meta": { "...": "standard envelope metadata" },
"links": {
"self": "/api/v1/items/aluminum-ingot.json",
"html": "https://spacecraftdb.com/items/aluminum-ingot"
}
} GET Resource Detail /api/v1/resources/{slug}.json
/api/v1/resources/{slug}.json Response Shape
{
"data": {
"id": "resource-id",
"slug": "alu-deposit",
"name": "Alu Deposit",
"href": "https://spacecraftdb.com/resources/alu-deposit",
"icon": { "file": "atlas.png", "x": 0, "y": 0, "size": 64 },
"tier": 0,
"type": "deposit",
"desc": "...",
"drops": []
},
"meta": { "...": "standard envelope metadata" },
"links": {
"self": "/api/v1/resources/alu-deposit.json",
"html": "https://spacecraftdb.com/resources/alu-deposit"
}
} GET Permit Detail /api/v1/permits/{slug}.json
/api/v1/permits/{slug}.json Response Shape
{
"data": {
"id": "permit-id",
"slug": "electromagnetism",
"name": "Electromagnetism",
"href": "https://spacecraftdb.com/permits/electromagnetism",
"cost": 0,
"currency": "research",
"requires": [],
"unlocks": [],
"attributeUnlocks": []
},
"meta": { "...": "standard envelope metadata" },
"links": {
"self": "/api/v1/permits/electromagnetism.json",
"html": "https://spacecraftdb.com/permits/electromagnetism"
}
} GET Mission Detail /api/v1/missions/{slug}.json
/api/v1/missions/{slug}.json Response Shape
{
"data": {
"id": "mission-id",
"slug": "first-steps",
"title": "First Steps",
"href": "https://spacecraftdb.com/missions/first-steps",
"order": 0,
"kind": "...",
"category": "...",
"goal": "...",
"requires": [],
"rewards": [],
"steps": [{ "text": "..." }],
"intercom": [{ "text": "..." }]
},
"meta": { "...": "standard envelope metadata" },
"links": {
"self": "/api/v1/missions/first-steps.json",
"html": "https://spacecraftdb.com/missions/first-steps"
}
} GET Tech /api/v1/tech.json
/api/v1/tech.json/api/v1/tech/nodes/{idOrSlug}.json Response Shape
{
"data": {
"id": "tech-node-id",
"slug": "electromagnetism",
"name": "Electromagnetism",
"section": "perks",
"track": "optional-track-slug",
"requires": [],
"unlocks": []
},
"meta": { "...": "standard envelope metadata" },
"links": {
"self": "/api/v1/tech/nodes/electromagnetism.json",
"html": "https://spacecraftdb.com/tech-tree#electromagnetism"
}
} GET Galaxy Map /api/v1/latest/galaxy/{quadrant}/map.json
/api/v1/latest/galaxy/{quadrant}/map.json Response Shape
{
"data": {
"w": 0,
"h": 0,
"sys": [
{ "id": "system-id", "slug": "system-slug", "n": "System Name", "x": 0, "y": 0 }
],
"edges": [[0, 1]],
"sectors": [
{ "id": "sector-id", "name": "Sector Name", "hull": [[0, 0]], "cx": 0, "cy": 0 }
]
},
"meta": { "...": "standard envelope metadata" },
"links": { "self": "/api/v1/latest/galaxy/vexasux/map.json" }
} GET Galaxy Facets /api/v1/latest/galaxy/{quadrant}/facets.json
/api/v1/latest/galaxy/{quadrant}/facets.json Response Shape
{
"data": {
"resources": [{ "slug": "alu-deposit", "name": "Alu Deposit", "tier": 0 }],
"services": [{ "id": "market", "name": "Market", "kind": "service" }],
"systems": {
"system-id": { "r": [0], "s": [0], "names": ["System Name"] }
}
},
"meta": { "...": "standard envelope metadata" },
"links": { "self": "/api/v1/latest/galaxy/vexasux/facets.json" }
} GET Galaxy System /api/v1/latest/galaxy/{quadrant}/systems/{system}.json
/api/v1/latest/galaxy/{quadrant}/systems/{system}.json Response Shape
{
"data": {
"id": "system-id",
"slug": "example-system",
"name": "Example System",
"star": "...",
"planets": [
{ "idx": 0, "name": "Planet Name", "resources": [] }
],
"connections": [
{ "id": "neighbor-id", "slug": "neighbor-system", "name": "Neighbor System" }
],
"stations": []
},
"meta": { "...": "standard envelope metadata" },
"links": {
"self": "/api/v1/latest/galaxy/vexasux/systems/example-system.json",
"html": "https://spacecraftdb.com/galaxy/vexasux/example-system"
}
} GET Galaxy Planet /api/v1/latest/galaxy/{quadrant}/systems/{system}/planets/{idx}.json
/api/v1/latest/galaxy/{quadrant}/systems/{system}/planets/{idx}.json Response Shape
{
"data": {
"idx": 0,
"name": "Planet Name",
"lx": 0,
"ly": 0,
"resources": [
{ "id": "resource-id", "slug": "alu-deposit", "name": "Alu Deposit", "tier": 0 }
]
},
"meta": { "...": "standard envelope metadata" },
"links": {
"self": "/api/v1/latest/galaxy/vexasux/systems/example-system/planets/0.json",
"html": "https://spacecraftdb.com/galaxy/vexasux/example-system/0"
}
} GET Tooltip Data /api/v1/items/{slug}/tooltip.json
/api/v1/items/{slug}/tooltip.json/api/v1/items/tooltips.json?slugs=slug-a,slug-b Response Shape
{
"data": {
"schema": "scdb.item-tooltip.v1",
"id": "item-id",
"slug": "aluminum-ingot",
"name": "Aluminum Ingot",
"url": "https://spacecraftdb.com/items/aluminum-ingot",
"description": "...",
"icon": { "file": "atlas.png", "x": 0, "y": 0, "size": 64 },
"price": 0,
"storage": 1,
"lootTier": 0,
"attributes": [],
"craftedFrom": [],
"counts": { "craftedBy": 0, "usedIn": 0, "minedFrom": 0, "unlockedBy": 0 }
},
"meta": { "...": "standard envelope metadata" },
"links": {
"self": "/api/v1/items/aluminum-ingot/tooltip.json",
"html": "https://spacecraftdb.com/items/aluminum-ingot"
}
} Errors
{
"error": {
"code": "not_found",
"message": "Item not found",
"details": { "slug": "missing-item" }
},
"meta": { "...": "..." },
"links": { "self": "/api/v1/items/missing-item.json" }
}