API REST · v1

API de Itens do DayZ

Todo o banco de dados de itens em JSON – de uso gratuito com uma chave de API pessoal. Para bots do Discord, ferramentas de servidor, overlays e seus próprios projetos.

Acesso e uso justo

Todos os endpoints /api/v1 exigem uma chave de API gratuita – ela evita abusos e torna possíveis limites de requisições justos. Nenhuma assinatura é necessária.

  1. Entre com o Discord – a conta em si é gratuita.
  2. Crie uma chave de API gratuita nas suas configurações.
  3. Crie uma chave de API e envie-a em cada requisição.
# 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"

Mantenha sua chave em segredo: chame a API a partir do seu servidor, bot ou backend – quem tiver a chave consome sua cota. Você pode revogar uma chave nas configurações a qualquer momento e criar uma nova; a antiga para de funcionar imediatamente.

Precisa de mais capacidade? Assinatura opcional de apoiador

Por € 3,99/mês você ajuda a cobrir os custos do servidor e seu limite de requisições sobe de 60 para 300 requisições por minuto. Cancele mensalmente no portal do cliente.

Os dados do jogo em si são e continuarão livremente acessíveis para todos – a assinatura de apoiador paga apenas a capacidade do servidor (um limite de requisições maior), nunca os dados. DayZ e seus dados de jogo pertencem à Bohemia Interactive a.s.

Gerenciar assinatura e chaves

Chave de API obrigatória

Envie a chave como header "Authorization: Bearer" ou "X-Api-Key" em cada requisição.

60 → 300 requisições/min

Gratuito: 60 requisições por minuto por chave. Com a assinatura opcional de apoiador: 300/min. Toda resposta traz headers X-RateLimit, incl. X-RateLimit-Tier.

Dados reais do jogo

Extraídos direto das configs do DayZ, atualizados após os patches do jogo.

GET/api/v1/items

Buscar e filtrar itens (paginado)

ParâmetroDescrição
qBusca no nome e no nome da classe (fuzzy)
catCategoria, ex.: Weapon, Food / Drink, Ammo
tierTier de loot: Tier1 – Tier4 ou Unique
sortname (padrão), damage, rpm ou weight
pagePágina, começando em 1
limitResultados por página, 1–100 (padrão 48)
icons1 = apenas itens com ícone
langIdioma do campo name: en, de, fr, es, it, ru, pl, cs, pt, zh (padrão en)
curl -H "Authorization: Bearer dzp_YOUR_KEY" \
  "https://dzpage.com/api/v1/items?q=akm&limit=5&lang=pt"
{
  "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/pt/items/akm"
    }
  ]
}

GET/api/v1/items/{class_name}

Item único com todos os detalhes

Aceita nomes de classe (sem diferenciar maiúsculas) ou slugs. Retorna todos os campos: atributos da arma, munição, carregadores, acessórios, dados de loot, construções de spawn, receitas, todos os nomes localizados e os dados brutos completos da config.

curl -H "Authorization: Bearer dzp_YOUR_KEY" "https://dzpage.com/api/v1/items/AKM?lang=pt"
// 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.pt, item.weapon_stats.rpm_full_auto);

GET/api/v1/categories

Todas as categorias com a contagem de itens

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

GET/api/v1/meta

Info do dataset: data de importação, contagem de itens, build do jogo

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

Erros, limites e estabilidade

Erros são sempre JSON com um código de erro estável, uma mensagem legível e um link para a documentação:

{
  "error": "invalid_api_key",
  "message": "Invalid or revoked API key. …",
  "docs": "https://dzpage.com/api"
}
Status · códigoSignificado
401 · missing_api_keyNenhuma chave de API enviada. Adicione o header "Authorization: Bearer" ou "X-Api-Key".
401 · invalid_api_keyA chave não existe ou foi revogada.
404 · not_foundNenhum item com esse nome de classe ou slug.
429 · rate_limitedLimite de requisições esgotado – espere os segundos indicados em Retry-After e tente de novo.
5xxErro do servidor – pode tentar de novo sem problema. Se persistir, avise no nosso Discord.

Toda resposta bem-sucedida inclui headers de limite de requisições para que seu cliente possa se autorregular:

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

Regras básicas

  • Uma assinatura cobre seus próprios projetos, bots e ferramentas de servidor – uso justo dentro do limite de requisições.
  • Se você usar isso nos seus próprios projetos, um link de volta para dzpage.com é bem-vindo.
  • Os ícones de itens (URLs icon / icon_thumb) continuam livres para hotlink – ficam em cache por muito tempo e não precisam de chave.
  • Esta API é v1: campos podem ser adicionados, campos existentes não serão removidos nem renomeados.