GET API Gratis de Códigos QR
Genera SVGs de código QR con una simple solicitud HTTP GET. Necesita una clave de API gratis. Cuatro estilos disponibles, respuesta en JSON o SVG puro.
GET /api/qr
Genera un código QR para cualquier texto o URL y lo devuelve como SVG. Gratis, necesita una clave de API.
curl "https://pingfloat.com/api/qr?data=https://example.com" \
-H "Authorization: Bearer pf_your_key_here" \
-o qr.svg
¿Todavía no hay una clave? Se puede crear una desde la página de la cuenta, o pedirle a un asistente de IA conectado vía MCP que ejecute create_account.
Parámetros
| Parámetro | Obligatorio | Descripción |
|---|---|---|
data | Sí | El texto o URL a codificar (máximo 2048 caracteres). |
style | No | Estilo visual. Por defecto classic. |
format | No | svg (por defecto) devuelve SVG puro. json lo envuelve en un objeto JSON. |
Estilos disponibles
| Estilo | Aspecto |
|---|---|
classic | Negro sobre blanco (por defecto) |
sunset | Tonos naranjas |
ocean | Tonos verdeazulados |
midnight | Blanco sobre oscuro |
Ejemplos
Desde el navegador (JavaScript del lado del cliente)
El endpoint necesita un encabezado Authorization, que una simple etiqueta <img src> no puede enviar — hay que hacer fetch y convertir la respuesta en un object URL:
const res = await fetch(
"https://pingfloat.com/api/qr?data=https://example.com&style=ocean",
{ headers: { Authorization: "Bearer pf_your_key_here" } }
);
const svgText = await res.text();
document.getElementById("qr").innerHTML = svgText;
Las respuestas incluyen Access-Control-Allow-Origin: *, así que esto funciona directamente desde cualquier dominio sin necesidad de un proxy.
Respuesta en JSON
curl "https://pingfloat.com/api/qr?data=https://example.com&format=json" \
-H "Authorization: Bearer pf_your_key_here"
{
"ok": true,
"svg": "<svg ...>...</svg>",
"data": "https://example.com",
"style": "classic"
}
Respuesta
| Estado | Content-Type | Cuerpo |
|---|---|---|
| 200 | image/svg+xml (por defecto) o application/json | El SVG del código QR, o un envoltorio JSON |
| 400 | application/json | { "error": "..." } — falta data o excede el largo permitido |
| 401 | application/json | { "error": "..." } — clave de API faltante o inválida |
Las respuestas exitosas se guardan en caché por 24 horas (Cache-Control: public, max-age=86400).
¿Se necesita algo más?
Para más opciones de estilo, insertar un logo, o un link corto con seguimiento de clics y destino editable, usar la herramienta web Generador de Códigos QR — es gratis usarla en el navegador sin clave de API. También se pueden generar códigos QR desde un asistente de IA con la Herramienta MCP de Código QR.
Frequently asked questions
¿Hace falta una clave de API para /api/qr?
Sí. Se puede crear una gratis en pingfloat.com/account, o pedirle a un asistente de IA conectado por MCP que ejecute create_account.
¿Hay un límite de tasa?
10 solicitudes por hora en el plan gratuito, 50 por hora en Free+, registrado por cuenta.
¿Se puede llamar desde el navegador (JavaScript del lado del cliente)?
Sí — las respuestas incluyen Access-Control-Allow-Origin: *, así que las llamadas fetch entre orígenes funcionan sin un proxy. Una simple etiqueta <img src> no va a funcionar porque no puede enviar el encabezado Authorization; hay que obtener el texto del SVG e insertarlo en el DOM.
¿Cuál es el largo máximo de data?
2048 caracteres. Un valor más largo se rechaza con un error 400.
¿Se puede obtener un PNG en vez de SVG?
Este endpoint solo devuelve SVG. Usar la herramienta web Generador de Códigos QR para exportar a otros formatos.