Decode QR Code from Image

Read QR code content and corner positions from images

QR Code Barcode Tools Image Decoding

API features

Image QR reading

Read one QR code from a supported image.

Exact decoded text

Preserve spaces, line breaks and multilingual text.

Content categories

Identify website, Wi-Fi, email and text payloads.

Corner coordinates

Locate the decoded code within the image.

Upload or image link

Submit an image file or a public image URL.

Data-entry workflows

Connect QR reading to check-in and inventory apps.

API Document

HTTP Protocol:HTTPS

HTTP Method:POST

HTTP Endpoint:https://api.gugudata.io/v1/barcode/qrcode/decode

Response Type:application/json; charset=utf-8

DEMO Endpoint:https://api.gugudata.io/v1/barcode/qrcode/decode/demo

Live Demo:Try Interactive Demo

Postman Collection:Run in Postman

API Request Parameters

NameTypeIs RequiredDefault ValueRemark
appkey string trueYOUR_APPKEY API key used to authenticate the request.
file file falseN/A Exactly one of file or file_url. PNG, JPEG, static WebP or BMP; maximum 10 MiB, 8192 pixels per side and 16 million pixels.
file_url string falsehttps://gugudata.io/assets/demo/qrcode-decode-demo.png Public HTTP(S) image URL, at most 2048 characters; mutually exclusive with file.

API Response Parameters

NameTypeRemark
format string Always QR_CODE.
parsed string Exact decoded text, identical to raw.
points array<array<number>> Four [x, y] corners in top-left, top-right, bottom-right, bottom-left order; empty if unavailable. Coordinates use the original image dimensions.
raw string Exact decoded text without trimming or normalization.
type string URI, WIFI, EMAIL or TEXT. Decoded links are not visited.

API Response Status Codes

Status CodeExplanation of Status CodeRemarks
200Request processed successfully.Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`.
400Invalid request parameters or request format.Check required fields, data types, and request body format.
401Missing or unknown application key.Provide a valid `appkey` with the request.
403The application key is recognized but access is not allowed.The key may be expired, inactive, or not permitted for the requested API.
413Image exceeds the file or pixel limit.Use at most 10 MiB, 8192 pixels per side and 16 million pixels.
422Image is unsupported or contains no readable QR code.Use a clear PNG, JPEG, static WebP or BMP image.
429Request rate or trial usage limit exceeded.Reduce request frequency and retry with backoff. If a trial allowance is exhausted, check Trial Keys for remaining requests and subscribe to continue.
500Internal service error.Retry later or contact support if the error persists.
502Image download or decoding failed.Check the image link and try again later.
503QR decoding is temporarily unavailable.Try again later.

Remote MCP

AI client access

Use this API through GuGuData Remote MCP

Connect your AI client once, authorize in the browser, and the client can use the GuGuData API tools available to your account. You do not need to paste an appkey into the MCP client.

Endpoint https://mcp.gugudata.io/mcp
Open MCP Guide
Generic MCP configuration
{
  "mcpServers": {
    "gugudata": {
      "url": "https://mcp.gugudata.io/mcp",
      "transportType": "streamable-http"
    }
  }
}

Code Snippets

Frequently asked questions

Common questions about request limits, trials, renewal, and cancellation.

What does the 5 requests per second limit mean?

It is a request-rate limit, not a concurrency allowance. Keep your request rate at or below 5 per second. If the service returns a rate-limit response, reduce the frequency and retry with backoff.

Is total paid usage limited?

There is no total request cap during an active paid subscription and no usage-based overage charge.

How does the free trial work?

Each account can receive a limited trial key. Requests are shared across APIs in the same category. Check Trial Keys for the exact allowance and remaining requests.

How do renewal and cancellation work?

The plan renews annually until canceled. Manage or cancel the renewal from Dashboard → Orders & Billing. Access continues through the paid period after cancellation. See the Terms of Service for the current refund policy. If the billing portal is unavailable, contact support.

Technical support

Need help choosing an API or getting started?

[email protected]

Service terms

Read our service terms and privacy policy before subscribing.