Desarrolladores

API Pública

Integrá Lucky QR en tus aplicaciones. Generá códigos QR programáticamente usando tu API key.

Empezar

Necesitás un plan Premium activo para acceder a la API. Generá tu API key en el panel de usuario → sección API Keys.

Endpoint

POST https://lucky-qr.com/api/public/generate

Genera un código QR como imagen PNG en base64. Autenticación via api_key en el body.

Parámetros del body (JSON)

CampoTipoRequeridoDescripción
api_keystringRequeridoTu API key de Lucky QR
urlstringRequeridoURL a codificar (debe empezar con https://)
sizenumberOpcionalTamaño en px (64–1024). Default: 256

Respuesta exitosa (200)

{
  "success": true,
  "image": "data:image/png;base64,iVBORw0KGgo...",
  "url": "https://tu-sitio.com",
  "size": 256
}

Respuesta de error

{
  "error": "API key inválida"
}

Ejemplos

JavaScript (fetch)

const response = await fetch('https://lucky-qr.com/api/public/generate', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    api_key: 'lqr_tu_api_key_aqui',
    url: 'https://tu-sitio.com',
    size: 256
  })
});

const data = await response.json();

if (data.success) {
  // data.image es un data URL que podés usar en un 
  document.getElementById('mi-qr').src = data.image;

  // O descargar como PNG:
  const a = document.createElement('a');
  a.href = data.image;
  a.download = 'qr.png';
  a.click();
}

Python (requests)

import requests, base64

response = requests.post(
    'https://lucky-qr.com/api/public/generate',
    json={
        'api_key': 'lqr_tu_api_key_aqui',
        'url': 'https://tu-sitio.com',
        'size': 256
    }
)

data = response.json()

if data.get('success'):
    # Decodificar base64 y guardar como PNG
    img_data = data['image'].split(',')[1]
    with open('qr.png', 'wb') as f:
        f.write(base64.b64decode(img_data))
    print('QR guardado en qr.png')

cURL

curl -X POST https://lucky-qr.com/api/public/generate \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "lqr_tu_api_key_aqui",
    "url": "https://tu-sitio.com",
    "size": 256
  }'

Límites y notas

• Máximo 30 solicitudes por minuto por IP.

• Cada llamada suma 1 al contador de tu API key (visible en el panel).

• Tamaño máximo de URL: 2048 caracteres.

• Las imágenes se generan como PNG en base64. No se almacenan en ningún servidor.

• La API key debe mantenerse secreta. Si la comprometés, eliminala y generá una nueva desde el panel.

Códigos de error

HTTPErrorSolución
400url requeridaIncluí el campo url en el body
400URL inválidaLa URL debe comenzar con https://
401api_key requeridaIncluí tu api_key en el body
401API key inválidaVerificá tu API key en el panel de usuario
405Método no permitidoUsá el método POST
429Demasiadas solicitudesEsperá un minuto antes de volver a intentar
500Error internoContactanos si persiste