---
title: "Free QR code API"
description: "Generate styled QR codes from a single GET URL — no account, no API key."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.in.bio/llms.txt
> Use this file to discover all available pages before exploring further.

# Free QR code API

Everything the [QR code generator](https://in.bio/tools/qr-code-generator)
does, as one GET request. **No account, no API key** — the URL *is* the
image, so you can drop it straight into an `<img>` tag, a README, or an
email signature.

```
GET https://in.bio/api/qr?url=https://example.com
```

```html
<img src="https://in.bio/api/qr?url=https://example.com&dot_style=dots&marker_shape=circle&foreground=1a56db" alt="QR code" width="256" />
```

Responses are the raw image (`image/png` by default, `image/svg+xml` with
`format=svg`), cached for a day. Rate limit: **30 requests/minute per IP**.

:::tip
Design visually first: build your QR code in the
[generator](https://in.bio/tools/qr-code-generator), press **API**, and copy
the ready-made URL for the exact design on screen.
:::

## Style parameters

| Param | Values | Default |
| --- | --- | --- |
| `format` | `png`, `svg` | `png` |
| `size` | `64`–`2048` (px) | `512` |
| `dot_style` | `square`, `dots`, `rounded` | `square` |
| `marker_shape` | `square`, `rounded`, `circle` | `square` |
| `marker_center` | `square`, `dot` | `square` |
| `foreground` | 6-digit hex, `#` optional | `000000` |
| `marker_color` | 6-digit hex, `#` optional | foreground |
| `transparent` | `1` for transparent background | `0` |
| `download` | `1` to force a file download | `0` |

## Payload types

`type` selects what the QR code encodes; each type has its own fields
(the same ones as the generator UI):

| `type` | Fields |
| --- | --- |
| `url` (default) | `url` |
| `text` | `text` |
| `email` | `to`, `subject`, `body` |
| `phone` | `phone` |
| `sms` | `phone`, `body` |
| `whatsapp` | `phone`, `text` |
| `wifi` | `ssid`, `password`, `encryption` (`WPA`/`WEP`/`nopass`) |
| `vcard` | `name`, `org`, `title`, `phone`, `email`, `url` |

```bash
# Wi-Fi QR code, SVG, rounded style
curl -o wifi.svg "https://in.bio/api/qr?type=wifi&ssid=MyNetwork&password=secret123&format=svg&dot_style=rounded"

# vCard contact QR, transparent PNG at 1024px
curl -o card.png "https://in.bio/api/qr?type=vcard&name=Ada%20Lovelace&org=INBIO&size=1024&transparent=1"
```

Validation errors return standard JSON `422` responses naming the missing or
invalid field.

## Want click tracking?

A QR code from this endpoint encodes your URL directly, so scans go straight
to the destination — untracked. To count scans, [shorten the link
first](/api/free-shorten) (also free and keyless) and generate the QR code
for the short URL, or create the link from a [free account](https://in.bio/register)
where every link's QR code and scan analytics live together.

Source: https://docs.in.bio/api/free-qr/index.mdx
