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 .