ShortLink
REST API v1

QRLinkify URL Shortener API for Developers

Create short links and QR codes from your own code with a clean REST API. Simple token authentication, predictable JSON responses, webhooks for events, and rate limits that suit production use.

Introduction

The QRLinkify URL shortener API lets you do everything the dashboard does, from your own application. Create a short link when a user publishes a post. Generate a QR code when an order ships. Pull click and scan analytics into your internal reporting. The API is REST over HTTPS and returns JSON, so it fits any stack that can make an HTTP request.

The API is available on the Business plan, which also includes five custom domains, so the links your code creates can carry your own brand instead of a generic shortener domain.

Base URL

https://api.qrlinkify.com/api/v1

Versioning

The current API version is v1. Breaking changes will be released under a new version path. The v1 path remains stable.

Request format

All POST and PATCH requests must include Content-Type: application/json and a JSON body. GET and DELETE requests do not require a body.

Authentication

Authentication uses a bearer token. Generate an API key from your API Keys dashboard and send it in the Authorization header on every request. Keys are scoped to a workspace, so a key only touches that workspace links, QR codes, and domains. Treat a key like a password, keep it server-side, and rotate it if it is exposed.

Header format

Authorization: Bearer YOUR_API_KEY

Example request

curl https://api.qrlinkify.com/api/v1/links \
  -H "Authorization: Bearer YOUR_API_KEY"
Keep your API key secret. Do not expose it in client-side JavaScript or public repositories. Rotate it immediately if compromised.

Create, retrieve, update, and delete short links in your workspace.

POST/linksCreate a new short link
GET/linksList all links (paginated)
GET/links/:idGet a single link by ID
PATCH/links/:idUpdate link title or URL
DELETE/links/:idDelete a link

Create a short link

Shorten a URL and optionally set a title, UTM parameters, expiry, or password.

curl -X POST https://api.qrlinkify.com/api/v1/links \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "original_url": "https://example.com/long-page",
    "title": "My Landing Page",
    "utm_source": "newsletter"
  }'

Request body fields

original_urlstringrequiredThe destination URL to shorten
slugstringoptionalCustom slug (auto-generated if omitted)
titlestringoptionalDisplay name for the link
utm_sourcestringoptionalUTM source parameter
utm_mediumstringoptionalUTM medium parameter
utm_campaignstringoptionalUTM campaign parameter
expires_atstringoptionalISO 8601 expiry date
passwordstringoptionalPassword-protect the link

List links

Returns a paginated list of links in your workspace.

curl "https://api.qrlinkify.com/api/v1/links?page=1&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

QR Codes API

Generate and manage QR codes linked to your short links.

POST/qrGenerate a new QR code
GET/qrList all QR codes
GET/qr/:idGet a single QR code
DELETE/qr/:idDelete a QR code

Generate a QR code

curl -X POST https://api.qrlinkify.com/api/v1/qr \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "link_id": "LINK_ID",
    "name": "Product QR",
    "fg_color": "#1a1a1a",
    "bg_color": "#ffffff",
    "dot_style": "dots"
  }'

Style options

link_idstringLink ID to encode in the QR
namestringLabel for the QR code
fg_colorstringForeground color (hex, default #000000)
bg_colorstringBackground color (hex, default #ffffff)
dot_stylestringsquare | dots | rounded (default square)
corner_stylestringsquare | rounded (default square)
logo_urlstringURL of logo to embed in center

Analytics API

Retrieve click statistics for any link in your workspace. Data is available for the past 30 days on Free, 6 months on Pro, and 12 months on Business.

GET/analyticsWorkspace-level overview (total clicks, top links)
GET/analytics/links/:idPer-link breakdown (countries, devices, referrers)

Link analytics

Pass a period query parameter: 7d, 30d, or 90d.

curl "https://api.qrlinkify.com/api/v1/analytics/links/LINK_ID?period=30d" \
  -H "Authorization: Bearer YOUR_API_KEY"

Webhooks & SDKs

Webhooks let your application react to events without polling. Subscribe to events such as a link being clicked or a QR code being scanned, and QRLinkify sends a signed JSON payload to your endpoint. That is how you trigger downstream actions, like updating a record the moment a campaign link is used.

Official SDKs wrap the REST API so you write less boilerplate. Where an SDK is not available for your language, the API is plain REST and works with any standard HTTP client.

Rate Limits

Rate limits are generous and sized for production traffic. They are applied per API key on a rolling one-hour window. When you exceed the limit, the API returns a 429 Too Many Requests response, and you can retry after the reset. Bulk jobs are better handled through the bulk link endpoints than by hammering the single-link endpoint.

Free100 requests / hour
Pro1,000 requests / hour
Business10,000 requests / hour

Rate limit headers are included in every response:

X-RateLimit-LimitMaximum requests allowed in the window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets

Error Codes

All error responses follow a consistent format with an HTTP status code and a JSON body:

{
  "message": "A human-readable description of the error",
  "statusCode": 400
}
200OKRequest succeeded
201CreatedResource created successfully
400Bad RequestInvalid request body or parameters
401UnauthorizedMissing or invalid API key
403ForbiddenAction not allowed on your current plan
404Not FoundResource does not exist
409ConflictDuplicate slug or domain already registered
429Too Many RequestsRate limit exceeded
500Internal Server ErrorUnexpected server error

FAQ

How do I get an API key?

Open your workspace settings on the Business plan and generate a key from the API section. Copy it immediately and store it securely, since it is shown in full only once.

Is the API free?

The API is included with the Business plan. It is not available on the Free or Pro plans. There is no separate per-call charge beyond your Business subscription, within the published rate limits.

What can I do with the QRLinkify API?

You can create, update, and delete short links, generate standard and AI QR codes, retrieve click and scan analytics, and list your custom domains. In short, anything the dashboard does, your code can do.

Do you have SDKs?

Yes, official SDKs are provided to reduce boilerplate. For languages without an SDK, the API is standard REST and JSON and works with any HTTP client.

What are the rate limits?

Rate limits are set for production use and are reported in response headers showing your limit, remaining requests, and reset time. Exceeding the limit returns a 429 response so your client can back off and retry.

Can I use webhooks?

Yes. You can subscribe to events like link clicks and QR scans, and QRLinkify will send a signed JSON payload to your endpoint so your application can react without polling.

Can the API create branded links on my own domain?

Yes. The Business plan includes five custom domains, and the link creation endpoint accepts a domain field so the short links your code generates use your brand.

Ready to start building?

Generate your API key and start shortening links in minutes.