About the API:
This API allows you to create custom QR codes with any data and error correction level you want.
The endpoints take a JSON object as input and return an SVG image. See the documentation of individual endpoints for the structure of the payload.
This API shines when you need to create dynamic QR codes on demand; such as for contract or invoice links, user-specific promotions, or even for printing serial numbers on products.
The endpoints will automatically attempt to encode your data in the most efficient way possible, however QR codes have a limit of how much data can be stored:
This endpoint encodes the given data into a QR code of minimal size. The result is an SVG file (image/svg+xml).
The body should be a JSON object with the following keys:
Sample body payloads:
{
"data": "String",
"ec_level": "H"
}{
"data": [98,121,116,101,115],
"ec_level": "L"
}
Generate QR Code - Endpoint Features
Object | Description |
---|---|
Request Body |
[Required] Json |
<?xml version="1.0" standalone="yes"?><svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="264" height="264" viewBox="0 0 264 264" shape-rendering="crispEdges"><rect x="0" y="0" width="264" height="264" fill="#fff"/><path fill="#000" d="M32 32h8v8H32V32M40 32h8v8H40V32M48 32h8v8H48V32M56 32h8v8H56V32M64 32h8v8H64V32M72 32h8v8H72V32M80 32h8v8H80V32M96 32h8v8H96V32M104 32h8v8H104V32M120 32h8v8H120V32M136 32h8v8H136V32M144 32h8v8H144V32M152 32h8v8H152V32M176 32h8v8H176V32M184 32h8v8H184V32M192 32h8v8H192V32M200 32h8v8H200V32M208 32h8v8H208V32M216 32h8v8H216V32M224 32h8v8H224V32M32 40h8v8H32V40M80 40h8v8H80V40M96 40h8v8H96V40M104 40h8v8H104V40M120 40h8v8H120V40M136 40h8v8H136V40M176 40h8v8H176V40M224 40h8v8H224V40M32 48h8v8H32V48M48 48h8v8H48V48M56 48h8v8H56V48M64 48h8v8H64V48M80 48h8v8H80V48M104 48h8v8H104V48M120 48h8v8H120V48M128 48h8v8H128V48M136 48h8v8H136V48M152 48h8v8H152V48M176 48h8v8H176V48M192 48h8v8H192V48M200 48h8v8H200V48M208 48h8v8H208V48M224 48h8v8H224V48M32 56h8v8H32V56M48 56h8v8H48V56M56 56h8v8H56V56M64 56h8v8H64V56M80 56h8v8H80V56M96 56h8v8H96V56M112 56h8v8H112V56M120 56h8v8H120V56M128 56h8v8H128V56M136 56h8v8H136V56M144 56h8v8H144V56M160 56h8v8H160V56M176 56h8v8H176V56M192 56h8v8H192V56M200 56h8v8H200V56M208 56h8v8H208V56M224 56h8v8H224V56M32 64h8v8H32V64M48 64h8v8H48V64M56 64h8v8H56V64M64 64h8v8H64V64M80 64h8v8H80V64M96 64h8v8H96V64M112 64h8v8H112V64M120 64h8v8H120V64M152 64h8v8H152V64M160 64h8v8H160V64M176 64h8v8H176V64M192 64h8v8H192V64M200 64h8v8H200V64M208 64h8v8H208V64M224 64h8v8H224V64M32 72h8v8H32V72M80 72h8v8H80V72M96 72h8v8H96V72M104 72h8v8H104V72M112 72h8v8H112V72M136 72h8v8H136V72M144 72h8v8H144V72M176 72h8v8H176V72M224 72h8v8H224V72M32 80h8v8H32V80M40 80h8v8H40V80M48 80h8v8H48V80M56 80h8v8H56V80M64 80h8v8H64V80M72 80h8v8H72V80M80 80h8v8H80V80M96 80h8v8H96V80M112 80h8v8H112V80M128 80h8v8H128V80M144 80h8v8H144V80M160 80h8v8H160V80M176 80h8v8H176V80M184 80h8v8H184V80M192 80h8v8H192V80M200 80h8v8H200V80M208 80h8v8H208V80M216 80h8v8H216V80M224 80h8v8H224V80M104 88h8v8H104V88M136 88h8v8H136V88M56 96h8v8H56V96M80 96h8v8H80V96M112 96h8v8H112V96M120 96h8v8H120V96M136 96h8v8H136V96M184 96h8v8H184V96M192 96h8v8H192V96M200 96h8v8H200V96M216 96h8v8H216V96M224 96h8v8H224V96M32 104h8v8H32V104M48 104h8v8H48V104M56 104h8v8H56V104M64 104h8v8H64V104M96 104h8v8H96V104M104 104h8v8H104V104M112 104h8v8H112V104M136 104h8v8H136V104M144 104h8v8H144V104M152 104h8v8H152V104M216 104h8v8H216V104M224 104h8v8H224V104M32 112h8v8H32V112M40 112h8v8H40V112M48 112h8v8H48V112M56 112h8v8H56V112M80 112h8v8H80V112M96 112h8v8H96V112M104 112h8v8H104V112M128 112h8v8H128V112M136 112h8v8H136V112M144 112h8v8H144V112M152 112h8v8H152V112M168 112h8v8H168V112M176 112h8v8H176V112M184 112h8v8H184V112M192 112h8v8H192V112M216 112h8v8H216V112M224 112h8v8H224V112M40 120h8v8H40V120M48 120h8v8H48V120M56 120h8v8H56V120M64 120h8v8H64V120M88 120h8v8H88V120M96 120h8v8H96V120M120 120h8v8H120V120M184 120h8v8H184V120M192 120h8v8H192V120M224 120h8v8H224V120M40 128h8v8H40V128M64 128h8v8H64V128M80 128h8v8H80V128M88 128h8v8H88V128M104 128h8v8H104V128M112 128h8v8H112V128M120 128h8v8H120V128M152 128h8v8H152V128M160 128h8v8H160V128M168 128h8v8H168V128M176 128h8v8H176V128M200 128h8v8H200V128M216 128h8v8H216V128M40 136h8v8H40V136M48 136h8v8H48V136M56 136h8v8H56V136M64 136h8v8H64V136M72 136h8v8H72V136M88 136h8v8H88V136M104 136h8v8H104V136M120 136h8v8H120V136M144 136h8v8H144V136M152 136h8v8H152V136M168 136h8v8H168V136M176 136h8v8H176V136M200 136h8v8H200V136M208 136h8v8H208V136M216 136h8v8H216V136M224 136h8v8H224V136M32 144h8v8H32V144M56 144h8v8H56V144M64 144h8v8H64V144M80 144h8v8H80V144M112 144h8v8H112V144M120 144h8v8H120V144M144 144h8v8H144V144M152 144h8v8H152V144M160 144h8v8H160V144M176 144h8v8H176V144M208 144h8v8H208V144M224 144h8v8H224V144M40 152h8v8H40V152M48 152h8v8H48V152M104 152h8v8H104V152M128 152h8v8H128V152M136 152h8v8H136V152M144 152h8v8H144V152M160 152h8v8H160V152M32 160h8v8H32V160M40 160h8v8H40V160M56 160h8v8H56V160M72 160h8v8H72V160M80 160h8v8H80V160M96 160h8v8H96V160M120 160h8v8H120V160M136 160h8v8H136V160M144 160h8v8H144V160M152 160h8v8H152V160M160 160h8v8H160V160M168 160h8v8H168V160M176 160h8v8H176V160M184 160h8v8H184V160M192 160h8v8H192V160M208 160h8v8H208V160M216 160h8v8H216V160M224 160h8v8H224V160M96 168h8v8H96V168M104 168h8v8H104V168M112 168h8v8H112V168M120 168h8v8H120V168M128 168h8v8H128V168M144 168h8v8H144V168M152 168h8v8H152V168M160 168h8v8H160V168M192 168h8v8H192V168M208 168h8v8H208V168M32 176h8v8H32V176M40 176h8v8H40V176M48 176h8v8H48V176M56 176h8v8H56V176M64 176h8v8H64V176M72 176h8v8H72V176M80 176h8v8H80V176M144 176h8v8H144V176M160 176h8v8H160V176M176 176h8v8H176V176M192 176h8v8H192V176M200 176h8v8H200V176M216 176h8v8H216V176M224 176h8v8H224V176M32 184h8v8H32V184M80 184h8v8H80V184M104 184h8v8H104V184M112 184h8v8H112V184M144 184h8v8H144V184M152 184h8v8H152V184M160 184h8v8H160V184M192 184h8v8H192V184M208 184h8v8H208V184M32 192h8v8H32V192M48 192h8v8H48V192M56 192h8v8H56V192M64 192h8v8H64V192M80 192h8v8H80V192M128 192h8v8H128V192M160 192h8v8H160V192M168 192h8v8H168V192M176 192h8v8H176V192M184 192h8v8H184V192M192 192h8v8H192V192M32 200h8v8H32V200M48 200h8v8H48V200M56 200h8v8H56V200M64 200h8v8H64V200M80 200h8v8H80V200M96 200h8v8H96V200M112 200h8v8H112V200M120 200h8v8H120V200M128 200h8v8H128V200M136 200h8v8H136V200M152 200h8v8H152V200M192 200h8v8H192V200M200 200h8v8H200V200M208 200h8v8H208V200M216 200h8v8H216V200M32 208h8v8H32V208M48 208h8v8H48V208M56 208h8v8H56V208M64 208h8v8H64V208M80 208h8v8H80V208M112 208h8v8H112V208M120 208h8v8H120V208M152 208h8v8H152V208M168 208h8v8H168V208M192 208h8v8H192V208M200 208h8v8H200V208M224 208h8v8H224V208M32 216h8v8H32V216M80 216h8v8H80V216M112 216h8v8H112V216M120 216h8v8H120V216M128 216h8v8H128V216M160 216h8v8H160V216M184 216h8v8H184V216M32 224h8v8H32V224M40 224h8v8H40V224M48 224h8v8H48V224M56 224h8v8H56V224M64 224h8v8H64V224M72 224h8v8H72V224M80 224h8v8H80V224M104 224h8v8H104V224M112 224h8v8H112V224M144 224h8v8H144V224M152 224h8v8H152V224M160 224h8v8H160V224M168 224h8v8H168V224M184 224h8v8H184V224M216 224h8v8H216V224M224 224h8v8H224V224"/></svg>
curl --location --request POST 'https://zylalabs.com/api/2068/qr+code+api/1852/generate+qr+code' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{
"data": "Endpoint Test",
"ec_level": "H"
}'
Header | Description |
---|---|
Authorization
|
[Required] Should be Bearer access_key . See "Your API Access Key" above when you are subscribed. |
No long term commitments. One click upgrade/downgrade or cancellation. No questions asked.
The QR Code API enables users to generate customized QR codes with any data and error correction level they require. It provides a convenient way to create dynamic QR codes for various applications.
The API accepts a JSON object as input. The specific structure and parameters of the payload can be found in the documentation of the individual endpoints.
The API returns an SVG image as output. This image contains the generated QR code based on the provided data and specifications.
The API is commonly used for creating dynamic QR codes on demand. It is particularly useful for generating QR codes for contract or invoice links, personalized promotions targeted to specific users, or even for printing serial numbers on products.
QR codes have limitations on the amount of data they can store. The API automatically attempts to encode the data in the most efficient way possible. The maximum limits for different data types are as follows: Numeric only: 7089 digits Alphanumeric: 4296 characters Binary: 2953 bytes
The Generate QR Code endpoint accepts a JSON object containing a "data" field, which can be a string or byte array, and an optional "ec_level" field to specify the error correction level.
The response data consists of an SVG image representing the generated QR code. The SVG format includes attributes like width, height, and path data for rendering the QR code visually.
Users can customize their requests by specifying the "data" to encode and optionally selecting an "ec_level" for error correction, allowing for tailored QR code generation based on their needs.
The accepted values for the "ec_level" parameter are "L" (7% recovery), "M" (15% recovery), "Q" (25% recovery), and "H" (30% recovery), allowing users to choose the desired level of error resilience.
The SVG output is structured with a root `<svg>` element containing nested `<rect>` and `<path>` elements that define the QR code's visual representation, including its size and color.
The QR code can encode various types of information, including URLs, text, contact details, and other data formats, making it versatile for different applications.
Users can directly embed the SVG data in web pages or applications, or save it as an SVG file for printing or sharing, ensuring high-quality rendering without pixelation.
Typical use cases include generating QR codes for marketing campaigns, product labeling, event ticketing, and linking to digital content, enhancing user engagement and accessibility.
Zyla API Hub is like a big store for APIs, where you can find thousands of them all in one place. We also offer dedicated support and real-time monitoring of all APIs. Once you sign up, you can pick and choose which APIs you want to use. Just remember, each API needs its own subscription. But if you subscribe to multiple ones, you'll use the same key for all of them, making things easier for you.
Prices are listed in USD (United States Dollar), EUR (Euro), CAD (Canadian Dollar), AUD (Australian Dollar), and GBP (British Pound). We accept all major debit and credit cards. Our payment system uses the latest security technology and is powered by Stripe, one of the worldβs most reliable payment companies. If you have any trouble paying by card, just contact us at [email protected]
Additionally, if you already have an active subscription in any of these currencies (USD, EUR, CAD, AUD, GBP), that currency will remain for subsequent subscriptions. You can change the currency at any time as long as you don't have any active subscriptions.
The local currency shown on the pricing page is based on the country of your IP address and is provided for reference only. The actual prices are in USD (United States Dollar). When you make a payment, the charge will appear on your card statement in USD, even if you see the equivalent amount in your local currency on our website. This means you cannot pay directly with your local currency.
Occasionally, a bank may decline the charge due to its fraud protection settings. We suggest reaching out to your bank initially to check if they are blocking our charges. Also, you can access the Billing Portal and change the card associated to make the payment. If these does not work and you need further assistance, please contact our team at [email protected]
Prices are determined by a recurring monthly or yearly subscription, depending on the chosen plan.
API calls are deducted from your plan based on successful requests. Each plan comes with a specific number of calls that you can make per month. Only successful calls, indicated by a Status 200 response, will be counted against your total. This ensures that failed or incomplete requests do not impact your monthly quota.
Zyla API Hub works on a recurring monthly subscription system. Your billing cycle will start the day you purchase one of the paid plans, and it will renew the same day of the next month. So be aware to cancel your subscription beforehand if you want to avoid future charges.
To upgrade your current subscription plan, simply go to the pricing page of the API and select the plan you want to upgrade to. The upgrade will be instant, allowing you to immediately enjoy the features of the new plan. Please note that any remaining calls from your previous plan will not be carried over to the new plan, so be aware of this when upgrading. You will be charged the full amount of the new plan.
To check how many API calls you have left for the current month, refer to the βX-Zyla-API-Calls-Monthly-Remainingβ field in the response header. For example, if your plan allows 1,000 requests per month and you've used 100, this field in the response header will indicate 900 remaining calls.
To see the maximum number of API requests your plan allows, check the βX-Zyla-RateLimit-Limitβ response header. For instance, if your plan includes 1,000 requests per month, this header will display 1,000.
The βX-Zyla-RateLimit-Resetβ header shows the number of seconds until your rate limit resets. This tells you when your request count will start fresh. For example, if it displays 3,600, it means 3,600 seconds are left until the limit resets.
Yes, you can cancel your plan anytime by going to your account and selecting the cancellation option on the Billing page. Please note that upgrades, downgrades, and cancellations take effect immediately. Additionally, upon cancellation, you will no longer have access to the service, even if you have remaining calls left in your quota.
You can contact us through our chat channel to receive immediate assistance. We are always online from 8 am to 5 pm (EST). If you reach us after that time, we will get back to you as soon as possible. Additionally, you can contact us via email at [email protected]
To give you the opportunity to experience our APIs without any commitment, we offer a 7-day free trial that allows you to make up to 50 API calls at no cost. This trial can be used only once, so we recommend applying it to the API that interests you the most. While most of our APIs offer a free trial, some may not. The trial concludes after 7 days or once you've made 50 requests, whichever occurs first. If you reach the 50 request limit during the trial, you will need to "Start Your Paid Plan" to continue making requests. You can find the "Start Your Paid Plan" button in your profile under Subscription -> Choose the API you are subscribed to -> Pricing tab. Alternatively, if you don't cancel your subscription before the 7th day, your free trial will end, and your plan will automatically be billed, granting you access to all the API calls specified in your plan. Please keep this in mind to avoid unwanted charges.
After 7 days, you will be charged the full amount for the plan you were subscribed to during the trial. Therefore, itβs important to cancel before the trial period ends. Refund requests for forgetting to cancel on time are not accepted.
When you subscribe to an API free trial, you can make up to 50 API calls. If you wish to make additional API calls beyond this limit, the API will prompt you to perform an "Start Your Paid Plan." You can find the "Start Your Paid Plan" button in your profile under Subscription -> Choose the API you are subscribed to -> Pricing tab.
Service Level:
100%
Response Time:
114ms
Service Level:
100%
Response Time:
204ms
Service Level:
100%
Response Time:
1,047ms
Service Level:
100%
Response Time:
605ms
Service Level:
100%
Response Time:
552ms
Service Level:
100%
Response Time:
962ms
Service Level:
100%
Response Time:
12,645ms
Service Level:
100%
Response Time:
1,641ms
Service Level:
100%
Response Time:
3,830ms
Service Level:
100%
Response Time:
10,773ms