Documentation
Guides, reference docs, and the full REST API for Qurly.
Creating your first short link
After signing in, navigate to Links → Create from the sidebar. Paste your long URL into the destination field, optionally give it a title and custom short code, then click Create link.
Your new short link will appear at app.qurly.dev/your-code. It begins redirecting immediately and click tracking starts right away.
Generating a QR code
From the QR Codes section, paste any URL or select an existing short link. Choose your preferred format (PNG or SVG) and download. QR codes are generated server-side at high resolution, suitable for print.
QR codes generated from short links are "dynamic" — you can update the destination URL without reprinting the QR code.
Understanding your analytics
The Analytics page shows performance across all your links. Free plan users see total lifetime click counts. Pro and above plans get time-series data, unique visitor counts, geographic reach, and period-over-period trend comparisons.
Analytics data is collected in real time at the edge and processed within seconds of each click.
Custom short codes
When creating or editing a link, you can specify a custom short code (e.g. launch-2026). Short codes must be unique across all Qurly organizations, between 3 and 50 characters, and may contain letters, numbers, and hyphens.
Link settings & editing
You can update a link's title, destination URL, and tags at any time from the Links page. Changes to the destination URL take effect immediately — the short code and any existing QR codes remain valid.
Custom domains
Pro and above plans support custom domains (e.g. go.yourbrand.com). To set up a custom domain:
- Go to Settings → Organization → Custom domains
- Enter your domain and click Add domain
- Add the CNAME record shown to your DNS provider
- Click Verify — SSL is provisioned automatically once your DNS records resolve
What data is collected per click
For each click on a short link, Qurly records:
- Timestamp (UTC)
- Country, city, and region (derived from edge geolocation)
- Hashed IP address (SHA-256 one-way hash — used for unique visitor counting only)
- Referrer URL (if provided by the browser)
- User agent (browser and OS, used for device type detection)
- Short code and destination URL
Raw IP addresses are never stored. See the Privacy Policy for full details.
Plan limits & date ranges
| Plan | Analytics history | Granularity |
|---|---|---|
| Free | Total clicks only (all time) | — |
| Pro | Last 30 days | Daily |
| Business | Last 90 days | Daily or hourly |
| Enterprise | Up to 5 years | Daily or hourly |
Filtering & granularity
From the Analytics page, you can filter by date range, individual link, and — on Business and Enterprise plans — toggle between daily and hourly data. The chart and link table both update to reflect your filter.
Managing your subscription
Go to Settings → Billing to upgrade, downgrade, or cancel your plan. Upgrades take effect immediately. Cancellations take effect at the end of your billing cycle.
Team & organization settings
Each Qurly account belongs to an organization. Business and Enterprise plans support multiple team members. Invite team members from Settings → Organization → Members. Roles include Owner, Admin, and Member.
API Reference
Overview & authentication
The Qurly REST API lets you create and manage short links, QR codes, landing pages, and more — programmatically. It's designed for use with AI agents (ChatGPT Actions, Claude tools), automation platforms (n8n, Make, Zapier), and custom integrations.
https://api.qurly.dev /v1 JSON Authentication
Every request must include an Authorization header:
Authorization: Bearer qrly_your_api_key_here
Generate an API key in Settings → API. Keys are scoped — you can restrict a key to specific operations (create links, create QR codes, etc).
Pagination
All list endpoints use cursor-based pagination. Pass ?limit= (1–100, default 20) and the next_cursor from the previous response to fetch the next page.
{
"data": [ ... ],
"pagination": {
"has_more": true,
"next_cursor": "2026-04-20T10:00:00Z",
"limit": 20
}
} Organization ID
API keys created in the app are automatically scoped to your organization — you don't need to pass org_id on every request. If you're using a session JWT instead, pass ?org_id=<uuid>.
Links
/v1/links List short links (paginated). Supports filtering by ?q=, ?active=, ?landing=.
/v1/links Create a short link. Omit destination_url for a standalone landing page.
/v1/links/:id Get a single link by its integer ID.
/v1/links/:id Update a link's title, destination, active state, or landing page config.
/v1/links/:id Permanently delete a link and its KV redirect entry.
/v1/links/:id/clicks Get click count for a specific link.
/v1/links/bulk Create up to 100 links in one request.
QR Codes
/v1/qr List QR code records (paginated).
/v1/qr Create a QR code record and get a render URL.
/v1/qr/:id Get a single QR code by UUID.
/v1/qr/:id Delete a QR code record.
Landing Pages
/v1/landing-pages List landing pages (paginated).
/v1/landing-pages Create a landing page. Set mode to standalone or interstitial.
/v1/landing-pages/:id Get a landing page by ID.
/v1/landing-pages/:id Update a landing page's content blocks, title, or config.
/v1/landing-pages/:id Delete a landing page.
Analytics
/v1/analytics Get aggregated click analytics for the organization. Requires Pro plan or higher.
Organization
/v1/org Get the organization associated with the current API key or JWT.
/v1/org/members List organization members and their roles.
Bulk import
Create up to 100 short links in a single request. Useful for migrations or large batch jobs.
POST https://api.qurly.dev/v1/links/bulk
{
"short_domain": "qrl.ing",
"links": [
{ "destination_url": "https://example.com/page-1", "title": "Page 1" },
{ "destination_url": "https://example.com/page-2" },
{ "destination_url": "https://example.com/page-3", "unique_string": "custom-code" }
]
}
// Response
{
"imported": 3,
"total": 3,
"results": [
{ "ok": true, "unique_string": "abc12345", "short_url": "https://qrl.ing/abc12345" },
...
]
} Interactive explorer
Qurly exposes a full OpenAPI 3.0 spec. You can browse every endpoint, try requests directly in the browser, and download the spec to import into Postman, Insomnia, or configure a ChatGPT or Claude agent action.
Open API Explorer Download openapi.jsonCan't find what you're looking for? Email us at support@app.qurly.dev and we'll help.