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 Mashape. 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.

Mashape

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 QR Code

URL /qr/custom
Methods GET, POST, OPTIONS
Response Binary Image File (PNG, JPG, 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, jpg, svg (support all config options), pdf (no support for color gradients), eps (only classic QR codes).
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 lower left 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 upper right 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 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.
brf3 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.
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 lower left eye as HEX value.
eye3Color String #000000 Color of the upper right eye as HEX value.
eyeBall1Color String #000000 Color of the upper left eye ball as HEX value.
eyeBall2Color String #000000 Color of the lower left eye ball as HEX value.
eyeBall3Color String #000000 Color of the upper right 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.

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

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.