Генерация QR-кодов программно. Бесплатно, без ключей (в бета-версии).
https://qrportal.ru/api/v1/
Генерирует QR-код по переданным данным. Возвращает PNG или SVG.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
data | string | ✅ | Данные для кодирования (URL, текст и т.д.). Макс. 4296 символов. |
size | integer | Размер PNG в пикселях. От 64 до 2048 (по умолчанию 512). | |
ecl | string | Коррекция ошибок: L, M, Q, H (по умолчанию M). | |
format | string | png или svg (по умолчанию png). | |
fg | string | Цвет QR-кода (hex без #), по умолчанию 000000. | |
bg | string | Цвет фона (hex без #), по умолчанию ffffff. |
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
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);
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 | Внутренняя ошибка сервера |