FREE

Справочник по API

Генерация QR-кодов через HTTP. Не требует ключа API или аутентификации.

Эндпоинт

GEThttps://qrwing.com/api/qr

Возвращает изображение напрямую. Все параметры передаются как аргументы строки запроса. CORS открыт — эндпоинт можно вызывать из любого источника.

Быстрый старт

# URL QR as PNG (default) https://qrwing.com/api/qr?type=url&url=https://qrwing.com # Blue SVG with dots style https://qrwing.com/api/qr?type=url&url=https://qrwing.com&format=svg&fg=1d4ed8&style=dots # WiFi QR https://qrwing.com/api/qr?type=wifi&ssid=HomeNetwork&password=mypassword&encryption=WPA
# curl curl -o qr.png "https://qrwing.com/api/qr?type=url&url=https://qrwing.com" # HTML img tag <img src="https://qrwing.com/api/qr?type=url&url=https://qrwing.com" alt="QR Code" />

Параметры

ПараметрТипПо умолчаниюОписание
type requiredstringQR code type. See supported types below.
format optionalsvg | png | webppngOutput image format.
size optionalinteger300Output size in pixels (50–2000).
margin optionalinteger4Quiet zone in modules (0–20).
ec optionalL | M | Q | HMError correction level. Higher = more redundancy.
fg optionalhex000000Foreground (dot) color as 6-digit hex (no #).
bg optionalhexffffffBackground color as 6-digit hex (no #).
transparent optionalbooleanfalseTransparent background (SVG/WebP/PNG).
style optionalsquare | dots | roundedsquareDot style.

Типы QR-кодов

Передайте type= с одним из значений ниже. Каждый тип требует своих собственных параметров содержимого.

urlURL
urlFull URL including https://
textТекст
textPlain text content
emailЭл. почта
emailEmail address
subjectEmail subject (optional)
bodyEmail body (optional)
phoneТелефон
phonePhone number with country code
smsСМС
phonePhone number
messagePre-filled message (optional)
wifiWiFi
ssidNetwork name (SSID)
passwordWiFi password
encryptionWPA | WEP | nopass
hiddentrue if network is hidden
vcardvCard
nameFull name (required)
orgOrganization
phonePhone number
emailEmail address
urlWebsite URL
addressStreet address
locationМестоположение
latLatitude
lngLongitude
querySearch query instead of coordinates
whatsappWhatsApp
phonePhone number with country code (no +)
messagePre-filled message (optional)
telegramTelegram
usernameTelegram username (without @)
messagePre-filled message (optional)
calendarСобытие
titleEvent title (required)
startStart datetime ISO 8601
endEnd datetime ISO 8601
locationEvent location
descriptionEvent description
allDaytrue for all-day events
youtubeYouTube
urlYouTube video, channel, or playlist URL
twitterTwitter / X
usernameTwitter/X username (without @)
facebookFacebook
urlFacebook page or profile URL
linkedinLinkedIn
urlLinkedIn profile or page URL
instagramInstagram
usernameInstagram username (without @)
bitcoinBitcoin
addressBitcoin address (required)
amountAmount in BTC (optional)
labelPayment label (optional)
messagePayment message (optional)
zoomZoom
urlFull Zoom meeting URL (preferred)
meetingIdMeeting ID (if no URL)
passwordMeeting password (optional)
appstoreApp Store
iosUrlApple App Store URL
androidUrlGoogle Play Store URL
paypalPayPal
usernamePayPal.me username
amountRequest amount (optional)
currencyCurrency code (optional)

Живые примеры

Нажмите на любой URL, чтобы открыть его в браузере и увидеть сгенерированный QR-код.

Ответ

При успехе API возвращает двоичные данные изображения с соответствующим заголовком Content-Type:

ФорматContent-Type
pngimage/png
svgimage/svg+xml
webpimage/webp

При ошибке API возвращает JSON со статусом 400 или 500:

{"error": "Missing required parameter: type"}

Кеширование и лимиты

Ответы включают Cache-Control: public, max-age=86400, поэтому изображения кешируются на 24 часа браузерами и CDN.

API бесплатен и не требует аутентификации. Мы просим вас избегать чрезмерных автоматических запросов. Для массовой генерации (>1000 QR-кодов в день), пожалуйста, свяжитесь с нами.

Примеры интеграции

HTML

<img src="https://qrwing.com/api/qr?type=url&url=https://qrwing.com&size=200" alt="QR Code" width="200" height="200" />

JavaScript (fetch)

const url = new URL("https://qrwing.com/api/qr"); url.searchParams.set("type", "url"); url.searchParams.set("url", "https://qrwing.com"); url.searchParams.set("format", "svg"); url.searchParams.set("fg", "1d4ed8"); const response = await fetch(url); const svgText = await response.text(); document.getElementById("qr").innerHTML = svgText;

Python

import requests response = requests.get( "https://qrwing.com/api/qr", params={ "type": "url", "url": "https://qrwing.com", "format": "png", "size": 400, "style": "dots", "fg": "7c3aed", } ) with open("qr.png", "wb") as f: f.write(response.content)

PHP

$params = http_build_query([ 'type' => 'url', 'url' => 'https://qrwing.com', 'format' => 'png', 'size' => 300, ]); $img = file_get_contents("https://qrwing.com/api/qr?" . $params); file_put_contents('qr.png', $img);