HomeGetting startedRegistering with an HTTP keyGetting a credential without DiscordServer claim flowReport rules and the block windowVersion check and 426Authentication and server keysThe blocking modelError handlingRate limitsVersions and compatibilityPOST /v1/servers/claimPOST /v1/servers/reportPOST /v1/servers/revokePOST /plugin/v1/claimPOST /plugin/v1/reportGET /plugin/v1/versionGET /maps/{seed}GET /jobs/{seed}GET /seedsGET /stats/overviewGET /stats/protectionAPI changelog
Read API
GET
/api/maps/{seed}
Reads the map for one seed. A seed not generated yet answers 202 and queues generation; a seed currently blocked by its server owner returns 403 with blockedUntil.
Path · query
| Field | In | Type | Required | Description |
|---|---|---|---|---|
| seed | path | integer | required | 1..2147483647. |
Responses
| Status | Body | When |
|---|---|---|
| 200 | {"seed":1848055747,"rooms":["…"],"markers":[],"spawns":["…"],"doors":["…"],"teslas":["…"]} | The map JSON. rooms is the room layout, spawns the candidate spawn points, doors and teslas the device positions. markers (actual placements) is empty in the public response. transitions and transitionCoverage appear only when present. |
| 202 | {"status":"pending","job":"queued"} | Not generated yet. Generation is queued; poll /api/jobs/{seed} or retry shortly. Generation usually takes seconds to a minute. |
| 400 | {"error":"invalid seed"} | Malformed seed. |
| 403 | {"error":"blocked","blockedUntil":"2026-09-15T08:05:00Z"} | Blocked by the server owner. Reload after blockedUntil. A permanent blocklist 403 carries no blockedUntil. |
| 429 | {"error":"rate limited"} | More than 20 uncached seeds per minute from this IP. Seeds already generated are not limited. |
| 503 | {"status":"busy","error":"map unavailable"} | The generation queue is full or generation failed. Retry shortly. |
Response fields
| Field | Type | null | Description |
|---|---|---|---|
| seed | integer | no | The requested seed. |
| rooms | array | no | Room layout. Items are described in the rooms table below. |
| markers | array | no | Always an empty array in the public response. |
| spawns | array | no | Deterministic candidate spawn points. Items are described in the spawns table below. |
| doors | array | no | Heavy door positions. Empty for older dumps. |
| teslas | array | no | Tesla gate positions. Empty for older dumps. |
| transitions | object | only when set | Room transition data. Present only when available. |
| transitionCoverage | object | only when set | Coverage of the transition data. Present only when available. |
rooms items
| Field | Type | null | Description |
|---|---|---|---|
| name | string | no | Room name (the game's RoomName), e.g. HczArmory, LczClassDSpawn. |
| zone | string | no | One of LightContainment, HeavyContainment, Entrance, Surface, Other. |
| shape | string | no | One of Straight, Curve, TShape, XShape, Endroom, Undefined. |
| x, y, z | number | no | World coordinates of the room centre. y is the floor: 100 for Light, -100 for Heavy and Entrance. |
| rotY | number | no | Rotation around Y in degrees: 0, 90, 180 or 270. |
| variant | string | yes | Game prefab instance name. null for older dumps. |
| conn | array | no | Centres of the connected rooms as [{x, z}]. y and zone are added when the neighbour is on another floor. |
spawns items
| Field | Type | null | Description |
|---|---|---|---|
| kind | string | no | structure or item. |
| cat | string | no | For structure, the possible structure types joined by | (e.g. StandardLocker|SmallWallCabinet). For item, item:<ItemType> or item:group. |
| x, y, z | number | no | World coordinates of the spawn point. |
| rx, rz | number | no | Centre of the room this spawn belongs to. Match against x, z of rooms. |
doors items
| Field | Type | null | Description |
|---|---|---|---|
| name | string | no | Door name. |
| zone | string | no | Same values as zone in rooms. |
| x, y, z | number | no | World coordinates. |
| rotY | number | no | Rotation around Y in degrees. |
| checkpoint | boolean | no | true for a checkpoint door between zones. |
teslas items
| Field | Type | null | Description |
|---|---|---|---|
| x, y, z | number | no | World coordinates. |
| rx, rz | number | no | Centre of the room it belongs to. |
Example
curl https://slmaps.com/api/maps/1848055747 -H "User-Agent: MyServer/1.0"
Response example
{
"seed": 1848055747,
"rooms": [
"…"
],
"markers": [],
"spawns": [
"…"
],
"doors": [
"…"
],
"teslas": [
"…"
]
}What the viewer does
On 202 the slmaps.com viewer polls /api/jobs/{seed}; on 403 it counts down from blockedUntil and reloads automatically when it passes. A window never exceeds 1 hour (20 minutes for an HTTP key) from the first report.
SLMAPS is the seed-map viewer for SCP: Secret Laboratory. These pages describe the public API of slmaps.com.slmaps.com ·