REST API · v1

API предметов DayZ

Вся база предметов в формате JSON — бесплатно с личным ключом API. Для ботов Discord, серверных инструментов, оверлеев и ваших собственных проектов.

Доступ и добросовестное использование

Все конечные точки /api/v1 требуют бесплатного ключа API — он защищает от злоупотреблений и делает возможными честные лимиты запросов. Подписка не нужна.

  1. Войдите через Discord — сам аккаунт бесплатный.
  2. Создайте бесплатный ключ API в настройках.
  3. Создайте ключ API и отправляйте его с каждым запросом.
# Empfohlen / recommended
curl -H "Authorization: Bearer dzp_YOUR_KEY" \
  "https://dzpage.com/api/v1/items?q=akm"

# Alternative
curl -H "X-Api-Key: dzp_YOUR_KEY" "https://dzpage.com/api/v1/meta"

Держите ключ в секрете: обращайтесь к API со своего сервера, бота или бэкенда — любой, у кого есть ключ, расходует вашу квоту. Ключ можно в любой момент отозвать в настройках и создать новый; старый сразу перестаёт работать.

Нужна большая пропускная способность? Дополнительная подписка Supporter

За €3.99/месяц вы помогаете покрывать расходы на сервер, а ваш лимит запросов повышается с 60 до 300 запросов в минуту. Отменить можно ежемесячно в клиентском портале.

Сами игровые данные были и остаются свободно доступными для всех — подписка Supporter оплачивает только мощности сервера (повышенный лимит запросов), но никогда не данные. DayZ и её игровые данные принадлежат Bohemia Interactive a.s.

Управление подпиской и ключами

Требуется ключ API

Отправляйте ключ в заголовке «Authorization: Bearer» или «X-Api-Key» с каждым запросом.

60 → 300 запросов/мин

Бесплатно: 60 запросов в минуту на ключ. С дополнительной подпиской Supporter: 300/мин. Каждый ответ содержит заголовки X-RateLimit, включая X-RateLimit-Tier.

Реальные игровые данные

Извлекаются прямо из конфигов DayZ, обновляются после игровых патчей.

GET/api/v1/items

Поиск и фильтрация предметов (с постраничной разбивкой)

ПараметрОписание
qПоиск по названию и имени класса (нечёткий)
catКатегория, например Weapon, Food / Drink, Ammo
tierТир лута: Tier1 – Tier4 или Unique
sortname (по умолчанию), damage, rpm или weight
pageСтраница, начиная с 1
limitРезультатов на странице, 1–100 (по умолчанию 48)
icons1 = только предметы с иконкой
langЯзык поля name: en, de, fr, es, it (по умолчанию en)
curl -H "Authorization: Bearer dzp_YOUR_KEY" \
  "https://dzpage.com/api/v1/items?q=akm&limit=5&lang=ru"
{
  "meta": { "total": 12, "page": 1, "pages": 3, "limit": 5 },
  "items": [
    {
      "class_name": "AKM",
      "slug": "akm",
      "name": "KA-M",
      "category": "Weapon",
      "has_icon": true,
      "weight": 2140,
      "size_w": 8, "size_h": 3,
      "loot_tiers": ["Tier4"],
      "damage": 9.5,
      "icon": "https://dzpage.com/icons/full/AKM.png",
      "icon_thumb": "https://dzpage.com/icons/thumb/AKM.webp",
      "url": "https://dzpage.com/ru/items/akm"
    }
  ]
}

GET/api/v1/items/{class_name}

Один предмет со всеми деталями

Принимает имена классов (без учёта регистра) или слаги. Возвращает все поля: характеристики оружия, боеприпасы, магазины, обвесы, данные лута, здания спавна, рецепты, все локализованные названия и полные исходные данные конфига.

curl -H "Authorization: Bearer dzp_YOUR_KEY" "https://dzpage.com/api/v1/items/AKM?lang=ru"
// JavaScript (Node.js, Discord-Bot, …)
const res = await fetch("https://dzpage.com/api/v1/items/AKM", {
  headers: { Authorization: "Bearer " + process.env.DZPAGE_API_KEY },
});
const { item } = await res.json();
console.log(item.names.ru, item.weapon_stats.rpm_full_auto);

GET/api/v1/categories

Все категории с количеством предметов

curl -H "Authorization: Bearer dzp_YOUR_KEY" "https://dzpage.com/api/v1/categories"

GET/api/v1/meta

Информация о наборе данных: дата импорта, количество предметов, сборка игры

curl -H "Authorization: Bearer dzp_YOUR_KEY" "https://dzpage.com/api/v1/meta"

Ошибки, лимиты и стабильность

Ошибки всегда возвращаются в JSON со стабильным кодом ошибки, понятным сообщением и ссылкой на документацию:

{
  "error": "invalid_api_key",
  "message": "Invalid or revoked API key. …",
  "docs": "https://dzpage.com/api"
}
Статус · кодЗначение
401 · missing_api_keyКлюч API не отправлен. Добавьте заголовок «Authorization: Bearer» или «X-Api-Key».
401 · invalid_api_keyКлюч не существует или был отозван.
404 · not_foundНет предмета с таким именем класса или слагом.
429 · rate_limitedЛимит запросов исчерпан — подождите Retry-After секунд и повторите попытку.
5xxОшибка сервера — можно безопасно повторить. Если повторяется, сообщите нам в Discord.

Каждый успешный ответ содержит заголовки лимита запросов, чтобы ваш клиент мог сам ограничивать частоту:

X-RateLimit-Limit: 120
X-RateLimit-Remaining: 118
X-RateLimit-Reset: 1789000000
Retry-After: 31   (nur bei 429 / only on 429)

Основные правила

  • Одна подписка покрывает ваши собственные проекты, ботов и серверные инструменты — добросовестное использование в пределах лимита запросов.
  • Если вы используете это в своих проектах, будем признательны за ссылку на dzpage.com.
  • Иконки предметов (URL-адреса icon / icon_thumb) можно свободно встраивать по прямым ссылкам — они кэшируются надолго и не требуют ключа.
  • Этот API — версии v1: поля могут добавляться, но существующие поля не будут удаляться или переименовываться.