QRPortal API
На главную

Документация API

Генерация QR-кодов программно. Бесплатно, без ключей (в бета-версии).

Статус: Открытая бета. Без ключа API — 100 запросов в час с одного IP.

Базовый URL

https://qrportal.ru/api/v1/

Методы

POST /api/v1/generate

Генерирует QR-код по переданным данным. Возвращает PNG или SVG.

ПараметрТипОбязательноОписание
datastringДанные для кодирования (URL, текст и т.д.). Макс. 4296 символов.
sizeintegerРазмер PNG в пикселях. От 64 до 2048 (по умолчанию 512).
eclstringКоррекция ошибок: L, M, Q, H (по умолчанию M).
formatstringpng или svg (по умолчанию png).
fgstringЦвет QR-кода (hex без #), по умолчанию 000000.
bgstringЦвет фона (hex без #), по умолчанию ffffff.

Примеры

cURL

curl -X POST https://qrportal.ru/api/v1/generate \
  -H 'Content-Type: application/json' \
  -d '{"data":"https://example.com","size":512,"ecl":"M"}' \
  --output qr.png

JavaScript (fetch)

const resp = await fetch('https://qrportal.ru/api/v1/generate', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ data: 'https://example.com', size: 512 })
});
const blob = await resp.blob();
document.getElementById('qr').src = URL.createObjectURL(blob);

Python

import requests

r = requests.post('https://qrportal.ru/api/v1/generate',
    json={'data': 'https://example.com', 'size': 512, 'ecl': 'H'})
with open('qr.png', 'wb') as f:
    f.write(r.content)

Коды ответов

КодЗначение
200Успех — тело ответа: бинарный PNG или SVG
400Неверные параметры — тело: JSON с полем error
429Превышен лимит запросов
500Внутренняя ошибка сервера
💡 При необходимости более высокого лимита или поддержки SVG — напишите в поддержку.