Developer docs

Documentation

DayZAPI is a free public REST API returning JSON. Phase 1 ships the foundation, health checks and category placeholders. Game datasets are not populated yet.

Introduction

DayZAPI provides structured DayZ data over HTTPS. The long-term goal is reliable vanilla coverage with clear provenance. Mod support may arrive later.

Getting started

  1. Use any HTTP client that can send GET requests.
  2. Call the base API URL below.
  3. Parse the JSON response.
  4. Respect rate-limit headers and HTTP 429 responses.

No signup or API key is required.

Base API URL

https://dayzapi.dev/api/v1

Local development typically uses http://localhost:3000/api/v1.

Authentication

No API key is currently required. All Phase 1 endpoints are publicly accessible subject to rate limiting. Authentication may be reconsidered for future restricted features, but public read access remains the default goal.

Example GET request

curl -s https://dayzapi.dev/api/v1 | jq

Health check:

curl -s https://dayzapi.dev/api/health

Example JSON response

{
  "success": true,
  "data": {
    "name": "DayZAPI",
    "version": "0.1.0",
    "baseUrl": "https://dayzapi.dev/api/v1",
    "authentication": {
      "required": false,
      "message": "No API key is currently required."
    },
    "categories": [
      {
        "key": "items",
        "path": "/items",
        "status": "planned",
        "description": "Vanilla DayZ items"
      }
    ]
  },
  "meta": {
    "api": "DayZAPI",
    "version": "0.1.0",
    "timestamp": "2026-11-06T12:00:00.000Z"
  }
}

HTTP status codes

Code Meaning
200 Successful response
404 Unknown API route
429 Rate limit exceeded
503 Dataset not yet available (placeholder endpoints)
500 Unexpected server error

Rate limits

  • General API endpoints: 120 requests per minute per IP
  • Health endpoint: more generous limit (default 300/minute)
  • HTTP 429 is returned when a limit is exceeded
  • Standard rate-limit headers are included where supported

Future expensive endpoints may use stricter separate limits. Production deployments behind Cloudflare and Nginx should configure Express trust proxy carefully so client IP detection remains accurate.

Pagination

Planned

List endpoints will eventually support cursor or page-based pagination. Phase 1 does not implement pagination because category datasets are not yet available.

# Planned query shape (not implemented yet)
GET /api/v1/items?limit=50&cursor=...

API versioning

The current API version is exposed under /api/v1. Breaking changes will ship under a new version path. Non-breaking additions may appear within v1 as datasets become available.

Useful discovery endpoints:

  • GET /api — API root
  • GET /api/v1 — Version information and categories
  • GET /api/health — Health and database status