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

Tip: appending .json to any schema URL on this site returns the underlying data. For example, /schema/chassis renders the HTML index, and /schema/chassis.json serves the raw array. The same applies to individual entities: /schema/chassis/item/iron-mongrel.json.

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
chassis Chassis 51
classes Classes 11
crawler-bays Crawler Bays 10
crawler-tech-levels Crawler Tech Levels 6
crawlers Crawlers 5
creatures Creatures 13
distances Distances 4
drones Drones 13
equipment Equipment 81
factions Factions 10
guides Guides 15
keywords Keywords 82
meld Meld 5
modules Modules 83
npcs NPCs 19
roll-tables Roll Tables 96
sources Sources 10
squads Squads 23
systems Systems 128
tech-levels Tech Levels 6
titans Titans 13
traits Traits 45
vehicles Vehicles 11

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 .