Pular para o conteúdo principal

Endpoint

POST https://api.bunny.build/api/v1/qr-code

Autenticação

HeaderObrigatórioValor
X-API-KeySimSua chave de API (bun_...)
Content-TypeSimapplication/json

Visão geral

Gere QR codes a partir de qualquer texto ou URL nos formatos PNG ou SVG. Controle o tamanho da saída e o nível de correção de erros para equilibrar legibilidade e densidade de dados. A resposta inclui uma imagem em base64 pronta para ser incorporada diretamente na sua aplicação.

Casos de uso

  • Exibir QR codes durante o onboarding de aplicativos móveis para vincular dispositivos
  • Gerar links de pagamento ou URLs promocionais para campanhas impressas e digitais
  • Incorporar entradas de catálogo de produtos com links escaneáveis
  • Emitir ingressos de eventos com dados de check-in codificados

Corpo da requisição

CampoTipoObrigatórioDescrição
datastringSimO texto ou URL a ser codificado
formatstringNãoFormato de saída: "png" ou "svg". Padrão: "png"
sizeintegerNãoTamanho da imagem em pixels (100–1000). Padrão: 256
error_correctionstringNãoNível de correção de erros: "L", "M", "Q" ou "H". Padrão: "M"

Exemplo

{
  "data": "https://bunny.build",
  "format": "png",
  "size": 256
}

Resposta

200 OK

CampoTipoDescrição
formatstringFormato de saída: "png" ou "svg"
sizeintegerTamanho da imagem em pixels
mime_typestringTipo MIME da imagem codificada
imagestringImagem PNG ou SVG em base64
Exemplo
{
  "format": "png",
  "size": 256,
  "mime_type": "image/png",
  "image": "iVBORw0KGgoAAAANSUhEUgAA..."
}

401 Unauthorized

{
  "detail": "Missing API key. Include X-API-Key header."
}

402 Payment Required

{
  "detail": "Monthly quota exceeded. Upgrade your plan."
}

422 Unprocessable Entity

{
  "detail": "Field 'data' is required."
}

429 Too Many Requests

{
  "detail": "Rate limit exceeded. Try again in 60 seconds."
}

Exemplo cURL

curl -X POST https://api.bunny.build/api/v1/qr-code \
  -H "X-API-Key: bun_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"data": "https://bunny.build", "format": "png", "size": 256}'