Quickstart
Create your first branded short link and see real-time analytics in a few minutes.
This guide walks you from a new account to a working short link with live click analytics — through the dashboard and through the API.
Create an account and workspace
Sign up with email or any configured social provider (Google, GitHub, Microsoft, Apple, LinkedIn, Facebook, Discord, Slack, GitLab, or X). Email addresses must be verified before sign-in completes.
On first login you are prompted to create a workspace. Everything in Public Url — links, domains, campaigns, reports — is scoped to a workspace, and every member has a workspace role.
Create a short link
From the dashboard, open Links and click Create link:
- Paste the destination URL.
- Optionally pick a custom slug and domain.
- Add UTM parameters, tags, expiration, or a password as needed.
- Save — the short URL is ready to share immediately.
You can also generate a QR code for any link from the link actions menu, or import hundreds of links at once with Bulk import (CSV).
Create a link with the API
Generate an API key under Settings → API keys, then call the gateway. A
link requires a name and a destinationUrl; slug, domain, UTM parameters,
expiration, and password protection are all optional.
curl -X POST https://api.publicurl.in/v1/links \
-H "Authorization: Bearer pu_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Launch page",
"destinationUrl": "https://example.com/landing",
"slug": "launch",
"utmSource": "twitter",
"utmMedium": "social",
"utmCampaign": "launch"
}'The response returns the created link. The slug is the path of your short
URL — resolved at your workspace's default domain (or a custom branded domain
if you've connected one).
{
"data": {
"id": "lnk_abc123",
"workspaceId": "ws_xyz789",
"name": "Launch page",
"slug": "launch",
"domainId": null,
"destinationUrl": "https://example.com/landing",
"iosDeepLink": null,
"androidDeepLink": null,
"expiresAt": null,
"password": null,
"redirectType": 302,
"status": "active",
"campaignId": null,
"utmSource": "twitter",
"utmMedium": "social",
"utmCampaign": "launch",
"utmTerm": null,
"utmContent": null,
"metadata": null,
"createdAt": "2026-08-09T12:00:00.000Z",
"updatedAt": "2026-08-09T12:00:00.000Z"
}
}See the API reference for authentication details and the full endpoint map.
Watch clicks arrive
Open the link in a browser, then check Analytics in the dashboard. Clicks stream through Kafka into ClickHouse and appear on dashboards within a few seconds, broken down by geography, device, browser, OS, and referrer.
Prefer the API? Fetch per-link analytics with the link's id:
curl "https://api.publicurl.in/v1/analytics/links/lnk_abc123?days=30" \
-H "Authorization: Bearer pu_your_api_key"{
"data": {
"link": { "id": "lnk_abc123", "slug": "launch" },
"totalClicks": 482,
"periodClicks": 42,
"periodChangePercent": 12.4,
"uniqueVisitors": 318,
"uniqueVisitorsChangePercent": 8.1,
"breakdowns": {
"device": { "desktop": 61, "mobile": 39 },
"country": { "US": 24, "IN": 18 }
}
}
}See the Analytics reference for all available metrics, timeseries, and breakdowns.