adjust-icon

QR code generator API

Use the QR Code Generator API to generate QR codes for your deep links, rendered in different formats (PNG, SVG, EPS) and styles. You can define the link behavior through deep link parameters and customize the QR code appearance.

Before you begin

Here’s what you need to know before using the QR Code Generator API.

Requirements

Response Headers

Each successful response includes a header indicating the deep link encoded within the generated QR code.

Response Headers
X-QR-Code-URL: https://example.go.link/fryYl

Generate QR Code as URI

Use this endpoint to generate a QR code and receive it as a URI-encoded file, suitable for direct embedding in an HTML <img> tag. Recommended for low-throughput scenarios where immediate download speed is not critical.

API Protocol

Endpoint: https://automate.adjust.com/engage/qr-code/uri

Method: POST

Supported Formats: SVG, PNG, EPS

Request Body:

ParameterData type
data*Link Generation Payload
qr_code_params*QR code configuration

Response: A raw sting response of type text/plain containing the file content

Generate QR Code as SVG

Use this endpoint to generate a QR code in SVG format, providing scalable and editable output suitable for print or web use.

API Protocol

Endpoint: https://automate.adjust.com/engage/qr-code/svg

Method: POST

Supported Formats: SVG

Request Body:

ParameterData type
data*Link Generation Payload
qr_code_params*QR code configuration

Response: A raw sting response of type image/svg+xml containing the file content

Generate QR Code as Byte Stream

Use this endpoint to generate a QR code as a binary file stream. Ideal for high-load systems where fast access is essential — for example, when saving the file to your own CDN or storage for optimized delivery.

API Protocol

Endpoint: https://automate.adjust.com/engage/qr-code/stream

Method: POST

Supported Formats: SVG, PNG, EPS

Request Body:

ParameterData type
data*Link Generation Payload
qr_code_params*QR code configuration

Response: Byte stream (e.g., binary PNG or EPS data)

Example

Request - cURL
curl -o $HOME/Downloads/png_custom_test.png --location https://automate.adjust.com/engage/qr-code/stream \
--header 'Authorization: Bearer adjustApiToken' \
--header 'Content-Type: application/json' \
--data '{
"data": {
"link_token": "1k4hnyz7",
"redirect": "https://youtu.be/AyOqGRjVtls",
"fallback": "https://youtu.be/AyOqGRjVtls",
"deeplink_path": "/custom-path"
},
"qr_code_params": {
"file_type": "png",
"error_correction": "quartile",
"box_size": 12,
"border": 2,
"fill_color": "rgba(132, 51, 92, 0.74)",
"back_color": "rgba(247, 108, 180, 0.8)",
"style": {"name": "gapped", "size_ratio": "0.85"}
}
}'

Result: Example of the QR-code

Data Models

QR Code Parameters

Use one of the following structures as qr_code_params inside the request body.

FieldTypeDescription
file_type*stringOutput format. One of: png, eps, svg
error_correctionstringQR code error correction level: low, medium, high, quartile. Default: medium.
versionint | nullControls the size (1- 40). Use null and fit: true for auto-sizing.
fitbooleanAutomatically adjust version to fit content. Default: true.
box_sizeintSize of each box in pixels. Default: 10.
borderintWidth of the border in boxes. Default: 4.
fill_colorstringColor of the QR code in RGB, hex, or named color format (e.g.,rgb(0,0,0), #000000, or "black").
back_colorstringBackground color in RGB, hex, or named color format (e.g., rgb(255,255,255), #FFFFFF, or "white").
styleobjectStyling configuration (see below).

Style parameters

NameAdditional ParametersSupported FormatsDescription
default-svg, png, epsStandard square modules
gappedsize_ratio (default: 0.8)svg, png, epsReduces module size to create gaps
circlesize_ratio (default: 0.8)svg, png, epsRenders circular modules
rounded-png, epsUses rounded corners
vertical_bars-png, epsVertical bar style modules
horizontal_bars-png, epsHorizontal bar style modules