JSON API Reference
Overview
All game data on salvageunion.io is available as machine-readable JSON. The API is static — every endpoint is a plain file served directly from the site. No authentication is required.
CORS is fully open (Access-Control-Allow-Origin: *), so you can fetch from any origin, including browser JavaScript.
Base URL: https://salvageunion.io
Endpoints
GET
/schema/{schemaId}.json
Returns the full data array for a schema. Each element is a game entity.
Example: https://salvageunion.io/schema/chassis.json
[
{
"id": "iron-mongrel",
"name": "Iron Mongrel",
"hull": 30,
"armor": 2,
...
},
...
] GET
/schema/{schemaId}.schema.json
Returns the JSON Schema definition for a schema, generated from the Zod validation schemas used in the SRD codebase. Useful for validating data or understanding the shape of entity objects.
Example: https://salvageunion.io/schema/chassis.schema.json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" },
...
}
}
} GET
/schema/{schemaId}/item/{itemId}.json
Returns a single entity by its slug. Entity slugs are lowercase, hyphen-separated versions of the entity name (e.g., Iron Mongrel becomes iron-mongrel). Slugs match the URLs used on the reference site.
Example: https://salvageunion.io/schema/chassis/item/iron-mongrel.json
{
"id": "iron-mongrel",
"name": "Iron Mongrel",
"hull": 30,
"armor": 2,
...
} Usage Example
Fetch all chassis data in browser JavaScript:
const response = await fetch('https://salvageunion.io/schema/chassis.json')
const chassis = await response.json()
console.log(chassis[0].name) // "Iron Mongrel" Available Schemas
The following schema IDs are available. Use them in the endpoint patterns above.
| Schema ID | Name | Items |
|---|---|---|
| abilities | Abilities | 103 |
| bio-titans | Bio-Titans | 11 |
| chassis | Chassis | 49 |
| classes | Classes | 10 |
| crawler-bays | Crawler Bays | 10 |
| crawler-tech-levels | Crawler Tech Levels | 6 |
| crawlers | Crawlers | 5 |
| creatures | Creatures | 9 |
| distances | Distances | 4 |
| drones | Drones | 11 |
| equipment | Equipment | 73 |
| factions | Factions | 10 |
| guides | Guides | 5 |
| keywords | Keywords | 82 |
| meld | Meld | 5 |
| modules | Modules | 73 |
| npcs | NPCs | 9 |
| roll-tables | Roll Tables | 79 |
| squads | Squads | 14 |
| systems | Systems | 118 |
| traits | Traits | 45 |
| vehicles | Vehicles | 7 |
| sources | Sources | 5 |
| tech-levels | Tech Levels | 6 |
CORS Policy
All /schema/ endpoints include the following response headers:
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET
Content-Type: application/json No preflight requests are required for standard GET requests.
Licensing
Data returned by this API is published under the Salvage Union Open Game License (OGL 1.0b) . Salvage Union is created and published by Leyline Press .