QR Code API with Logo and Design

This is the official QRCode Monkey API for professional usage. Integrate custom and unique looking QR codes into your system or workflow. This API is perfect for creating thousands of high quality QR codes in png or svg vector format.

The API is accessable through RapidAPI. If you need a custom solution feel free to get in touch with us. Below you will find a detailed documentation for this QR code API.

Connect on RapidAPI

API Result Examples:
QR Code for Facebook
QR Code for Youtube
QR Code with vCard
QR Code for Twitter
Custom Design QR Code
Custom Design QR Code

Documentation

Create Custom QR Code

URL /qr/custom
Methods GET, POST, OPTIONS
Response Binary Image File (PNG, SVG, PDF, EPS)

Create any custom QR code with this API. You can access this endpoint with POST and GET.

POST Request

All Parameters need to be send as JSON object in the request body.

GET Request

All Parameters need to be added in the URL. Parameters and the JSON config object needs to be URL encoded.

Parameters

Parameter Type Default Description
data String required The content you want to put in your QR Code (e.g. URL). URL encode the string for GET Requests.
size Number 300 The minimum pixel size of your QR code image. Actual size of the QR code can be slightly bigger depending on data and configuration.
config JSON Object { } The config JSON object defines the look of your QR code. Set colors, logo and design. URL encode the JSON string for GET Requests. See the documentation for the config JSON object
file String png The output file format for your QR code. There are different formats available: "png", "svg" (support all config options), "pdf", "eps" (no support for color gradients).
download Boolean false Set to true to force direct download of image file in Browser. Useful in GET scenarios.
Config JSON Object

With the 'config' object you can customize the look and feel of your QR code. It is a JSON object with different parameters to set colors, logo and design.

Parameter Type Default Description
body String square
{{body.type}}
eye String frame0
{{eye.type}}
eyeBall String ball0
{{ball.type}}
erf1 Array [ ] Rotate the upper left eye element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally.
erf2 Array [ ] Rotate the upper right eye element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally.
erf3 Array [ ] Rotate the lower left eye element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally.
brf1 Array [ ] Rotate the upper left eye ball element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally.
brf2 Array [ ] Rotate the upper right eye ball element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally.
brf3 Array [ ] Rotate the lower left eye ball element. Add "fv" or "fh" to invert element vertically or horizontally. E.g. ["fv","fh"] inverts a element vertically and horziontally.
bodyColor String #000000 Color of QR code body as HEX value.
bgColor String #ffffff Color of QR code background as HEX value. Note: the background should always have a lighter color to be scanable with all devices.
eye1Color String #000000 Color of the upper left eye as HEX value.
eye2Color String #000000 Color of the upper right eye as HEX value.
eye3Color String #000000 Color of the lower left eye as HEX value.
eyeBall1Color String #000000 Color of the upper left eye ball as HEX value.
eyeBall2Color String #000000 Color of the upper right eye ball as HEX value.
eyeBall3Color String #000000 Color of the lower left eye ball as HEX value.
gradientColor1 String null Color 1 for gradient color of body as HEX.
gradientColor2 String null Color 2 for gradient color of body as HEX.
gradientType String linear Gradient type for color of body. Value can be "linear" or "radial".
gradientOnEyes Boolean false Disable individual colors for the eye elements and set the gradient color for the complete QR code.
logo String null The filename of an uploaded image or an image URL. When using an uploaded image instead of an URL please look at the upload API (see below) and use the given "file" value for this parameter.

logoMode String default Set this value to "clean" to remove the background behind the integrated logo.

Examples

Request URL /qr/custom
Request Method POST
Request Body {
"data":"https://www.qrcode-monkey.com",
"config":{
"body":"circle",
"logo":"#facebook"
},
"size":300,
"download":false,
"file":"svg"
}
Response
Request URL /qr/custom
Request Method POST
Request Body {
"data":"https://www.qrcode-monkey.com",
"config":{
"body":"rounded-pointed",
"eye":"frame14",
"eyeBall":"ball16",
"erf1":[],
"erf2":["fh"],
"erf3":["fv"],
"brf1":[],
"brf2":["fh"],
"brf3":["fv"],
"bodyColor":"#5C8B29",
"bgColor":"#FFFFFF",
"eye1Color":"#3F6B2B",
"eye2Color":"#3F6B2B",
"eye3Color":"#3F6B2B",
"eyeBall1Color":"#60A541",
"eyeBall2Color":"#60A541",
"eyeBall3Color":"#60A541",
"gradientColor1":"#5C8B29",
"gradientColor2":"#25492F",
"gradientType":"radial",
"gradientOnEyes":false,
"logo":""
},
"size":300,
"download":false,
"file":"svg"
}
Response

Create Transparent QR Code

URL /qr/transparent
Methods GET, POST, OPTIONS
Response Binary Image File (PNG, SVG, PDF, EPS)

Create a transparent QR code with this API. You can access this endpoint with POST and GET.

POST Request

All Parameters need to be send as JSON object in the request body.

GET Request

All Parameters need to be added in the URL. Parameters need to be URL encoded.

Parameters

Parameter Type Default Description
data String required The content you want to put in your QR Code (e.g. URL). URL encode the string for GET Requests. Try to keep this as short as possible for transparent QR code designs. For larger strings use custom QR codes.
image String null The filename of the uploaded image or an image URL. This image is the background and canvas for your QR code. Png and jpg images are allowed. You can ignore this parameter if you only want the transparent QR code without background.
size Number 300 The width and height of the QR code displayed on your image.
x Number 0 The x position of your QR code in your image canvas.
y Number 0 The y position of your QR code in your image canvas.
crop Boolean false Return only the QR code without the surrounding image.
file String png The output file format for your QR code. "png", "svg", "pdf" and "eps" is available.
download Boolean false Set to true to force direct download of image file in Browser. Useful in GET scenarios.

Examples

Request URL /qr/transparent
Request Method POST
Request Body {
"data": "https://www.qrcode-monkey.com",
"image": "https://www.qrcode-monkey.com/img/qr-code-monkey-logo-white.svg",
"x": 0,
"y": 0,
"size": 400,
"crop": true,
"download": false,
"file": "png"
}
Response

Upload Image

URL /qr/uploadImage
Methods POST
Content-Type multipart/form-data
Form-Field file
Response E.g. {"file": "235saf73as782as29ss.png"}

Use this API to upload images that you want to use as a logo in your QR code. The upload request needs to have content-type "multipart/form-data" and the name of the image form field is "file". The "file" value in your response needs to be used for your "logo" parameter in your config object. PNG, JPG and SVG are allowed for upload.