QR Code Generator

Turn any URL or even text into a downloadable and printable QR code with ease!


ApiStacks uses API keys to authenticate requests. You can view and manage your API keys in the Dashboard.

Your API keys carry many privileges. To keep them from being abused, please do not share the keys on client-side code or Github etc. Keep them very secure.

All requests made to the API must contain the parameter api_key in each of your requests. API requests without authentication will fail.

All API requests must also be made over secure HTTPS. Requests made over plain HTTP may fail.


GET /generateqr

api_key (required)

In your Request URL, provide the API Key found within your Dashboard

text (required)

The URL or any text that you want to be converted into a QR Code Image, e.g. http://www.google.com

Premium Parameters

These parameters require a paid subscription to modify

response_type (optional)

Set to “JSON”, “XML”, or “YAML” depending what type of response you want from the API.

darkcolor (optional)

Specify what color you want the dark/foreground portion of the QR code to be in HEX

lightcolor (optional)

Specify what color you want the light/background portion of the QR code to be in HEX

width (optional)

Specify the width of the QR code in pixels. The height will automatically be equal to the width specified (min: 1; max: 1920)

scale (optional)

Specify the rendering scale of the QR code image between 1 and 3

Want to test this API and get live results?

Sample Request

curl --request GET \
--url 'https://api.apistacks.com/v1/generateqr?api_key={APIKEY}&text={text}' \

Sample Response

    "status": "ok",
    "timestamp": 1605575599741,
    "data": "https://apistacks.com/cdn/repo/qr/2e6da4ad-5753-47ed-a076-271a8b969b66.png"

Rate Limiting

Each subscription has its own rate limit. Your limit is based on your subscription plan (free or paid). If you exceed your limits, don’t worry. You can always upgrade or downgrade at any time.

When you reach a rate limit (both daily and monthly), the service will stop responding and return an HTTP 429 response status code. The error will contain the following JSON string body text.

    "status": "fail",
    "data": "",
    "reason": "Usage limit reached. Please review/upgrade your account"

A reminder email will be sent to you when your API usage reaches 80% and 90% so that you can take immediate actions such as upgrading your plan in order to prevent your application using the API from being interrupted.

Error Codes

ApiStacks uses standard HTTP response codes to indicate the success or failure of an API request.

If the response code is not 200 Ok, it means the operation has failed. You can check the response for a field called ‘reason‘ that briefly explains what the error may be.

Status CodeReason
400The request was not complete or malformed. Parameters may be missing
401API key was not provided or was not valid
403Usage limit was likely reached or the app was not enabled in the dashboard
404API Endpoint does not exist
405Method is not allowed (Only use GET)
500An error occurred on our end