Генерация QR-кодов одним GET-запросом: PNG, SVG или base64 в JSON. Настраиваются размер до 1024 px, поля, уровень коррекции ошибок и цвета. Удобно вставлять прямо в тег <img>. Бесплатно, без регистрации и ключей.
QR-код вернётся как обычное PNG-изображение — его можно вставлять в <img>, письма и документы.
// ссылка на изображение появится здесь
| Параметр | По умолчанию | Описание |
|---|---|---|
text | — | Содержимое QR-кода (URL-encoded), до 2000 символов. Обязателен |
size | 300 | Размер изображения в пикселях, 64–1024 |
margin | 2 | Поле вокруг кода в модулях, 0–16 |
ecc | M | Уровень коррекции ошибок: L (7%), M (15%), Q (25%), H (30%) |
dark | 000000 | Цвет модулей, 6-значный hex без # |
light | ffffff | Цвет фона, 6-значный hex без # |
key | — | ключ платного тарифа (опционально) |
# PNG 400x400 с высокой коррекцией ошибок
curl -o qr.png "https://apipark.ru/qr/png?text=https://apipark.ru&size=400&ecc=H"
# SVG в фирменных цветах
curl -o qr.svg "https://apipark.ru/qr/svg?text=hello&dark=1a1a2e&light=f0f0f0"
# HTML — прямо в тег img
<img src="https://apipark.ru/qr/png?text=https%3A%2F%2Fexample.com&size=200" alt="QR">
# JavaScript — base64 для встраивания без второго запроса
const res = await fetch('https://apipark.ru/qr/json?text=' + encodeURIComponent(url));
const { dataUrl } = await res.json();
img.src = dataUrl;
# Python
import requests
png = requests.get('https://apipark.ru/qr/png', params={'text': 'https://apipark.ru', 'size': 400}).content
open('qr.png', 'wb').write(png)
Для печати и наклеек выбирайте уровень коррекции ecc=H — код останется читаемым при повреждении до 30% площади. Контраст между dark и light должен оставаться высоким, иначе сканеры не распознают код. PNG-ответы кэшируются браузером на сутки.
5 запросов в минуту с одного IP-адреса. При превышении вернётся HTTP 429. Заголовки: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.