Short links on your own domain, from dashboard to API

Connect your domain in minutes, create links by hand or through the API, and measure every campaign — SMS, email, affiliate — click by click.
app.nayalink.co/dashboard
Overview

Here's your link activity.

Growth
DayMonth
Total visits
48,209▲ 12%
QR visits: 6,540
Total links
1,284
Total tags
42
Total campaigns
18
Current plan
Growth
Visits by browser
  • Chrome58%
  • Safari23%
  • Firefox12%
  • Edge7%
Visits by country
United States
38%
Germany
22%
France
17%
United Kingdom
14%
Brazil
9%
No credit card to start
Redirects served at the edge, on Cloudflare's global network
Cookie-free analytics — no IP address stored
Data hosted in Germany, at Hetzner

Your SMS campaigns land, get clicked — and you know why

Sending at volume behind a generic link means paying for filtered messages. A branded domain protects your deliverability, and every campaign becomes measurable.

Your own domain, not everyone else's

Shared shortener domains carry the reputation of every sender on them — spammers included. Connect go.yourbrand.com: guided DNS, automatic TLS, live in minutes.
app.nayalink.co/settings/domains
Custom domains

Share links on your own branded domain instead of a generic shortener.

go.yourbrand.com
Add domain
go.acme.com
Active
links.brand.io
Pending DNS Verify

Add these records at your DNS provider to verify the domain.

TypeNameValue
CNAMEgocname.nayalink.co
TXT_nayalinknayalink-verify=8f3a29c1

Every character counts

SMS is billed by the character. Short domain + a code you choose (go.brand.com/sale): the link fits the segment — and looks trustworthy to the recipient.
app.nayalink.co/links/new
Create link
Preview
nayalink.co/summer26
Destination URL
https://shop.acme.com/summer/landing-page
Custom short code
nayalink.co/summer26 Available
Tags
launchretail
Expiration
30 Sep 2026
Password
••••••••
Create link

Know which send converts

Group a send's links into a campaign: clicks by country, device and time, with UTM parameters flowing into your analytics. Compare two sends on one screen.
app.nayalink.co/campaigns
Campaigns
New campaign
Search by name
Filters
NameLinksTotal visits
Summer sale 20261421,480
Product launch915,204
Newsletter Q32211,873
Conference booth67,410
Partner co-marketing115,092
Docs revamp83,861

Every click, measured in real time

No cookies, no consent banner to add, no guesswork: reliable aggregates arriving live, from the first click to the campaign report.

Live overview

Watch visits arrive in real time: trends, KPIs and quota usage at a glance.
app.nayalink.co/dashboard
Overview

Here's your link activity.

Growth
DayMonth
Total visits
48,209▲ 12%
QR visits: 6,540
Total links
1,284
Total tags
42
Total campaigns
18
Current plan
Growth
Visits by browser
  • Chrome58%
  • Safari23%
  • Firefox12%
  • Edge7%
Visits by country
United States
38%
Germany
22%
France
17%
United Kingdom
14%
Brazil
9%

Browsers, OS & devices

Know how your audience opens your links — browser, OS, device, language — and adapt your destinations.
app.nayalink.co/dashboard/audience
Audience

How your visitors browse — browsers, systems, devices and languages.

Visits by browser
  • Chrome58%
  • Safari23%
  • Firefox12%
  • Edge7%
Visits by OS
  • macOS44%
  • Windows33%
  • iOS15%
  • Android8%
Visits by device
  • Desktop61%
  • Mobile34%
  • Tablet5%
Visits by language
English
47%
Deutsch
19%
Français
16%
Español
11%
Português
7%

Referrers & geography

See which channels send you traffic and where visitors come from, country by country, city by city.
app.nayalink.co/dashboard/acquisition
Acquisition

Where your traffic comes from — referrers, countries and languages.

Referrers
google.com
43.2%
x.com
21.8%
github.com
14.2%
newsletter
12.7%
direct
8.1%
Top countries
  1. 1United States4,120
  2. 2Germany2,380
  3. 3France1,890
  4. 4United Kingdom1,540
  5. 5Brazil980
Top languages
  1. 1English5,200
  2. 2Deutsch2,100
  3. 3Français1,700
  4. 4Español1,200
  5. 5Português760

Safe links, a team under control

Every destination is scanned before it redirects, any link can be locked down, and each teammate gets only the permissions they need.

Systematic anti-phishing scanning

Destinations are checked against phishing and malware — a flagged link never redirects, and your brand stays out of it.
app.nayalink.co/links/aX9k2/scan
URL scanner

Every destination is scanned for phishing and malware before it goes live.

launch.acme.com/keynote
Scanning destination… Clean
Recent scans
  • shop.acme.com/summer Clean
  • blog.nayalink.co/newsletter/42 Clean
  • files.example-cdn.net/dl/8f2a In review
  • win-a-prize-now.example.biz Flagged

Flagged links are blocked automatically and never redirect your visitors.

Password protection

Lock sensitive links — partner pricing, presales — behind a password, with a fixed expiry date when needed.
app.nayalink.co/links/aX9k2/password
Password protection

Lock sensitive links behind a password.

Protected
Password
••••••••••
Save password
What visitors see
nayalink.co/board-q3

This link is password-protected.

••••••
Unlock

Fine-grained roles & permissions (RBAC)

Create custom roles: who creates links, who reads analytics, who administers. The Premium audit log records the rest.
app.nayalink.co/administration/roles/marketing
Permissions
Marketing

Choose exactly what this role can do.

Save permissions
Links

Create links

Create and shorten new links

Edit links

Edit destinations, tags and settings

Delete links

Permanently remove links

Analytics

View analytics

See visits, referrers and audience

Members

Invite members

Invite teammates to the workspace

Workspace

Manage roles

Create roles and assign permissions

One link, the right destination for everyone

Send iOS to the App Store, Germany to /de and French speakers to your French page — rules evaluated at the edge, with no code on your side. Premium plan.
  • By country
    Localize offers, stores and landing pages without duplicating your links.
  • By device
    Mobile goes to the app store, desktop goes to the site.
  • By language
    The French page for French speakers, the English one for everyone else.
app.nayalink.co/links/aX9k2/routing
Dynamic routing

Rules are evaluated top-down, at the edge.

3 rules
Incoming visit de-DE Mobile
Country Germany Austria
acme.com/de Matched
Device Mobile
apps.apple.com/acme
Language French
acme.com/fr
Everyone else
acme.com/en

A redirect service is a whole product. Don't build it.

Everything the dashboard does can be automated over the REST API, with an interactive OpenAPI reference. Create links, manage campaigns and domains, read your analytics — from your own stack.
  • A hot path with no database
    Redirects resolve in a Cloudflare Worker with an edge cache: on a hit, no round-trip to the origin. Tracking runs asynchronously, never in front of your visitor.
  • Least-privilege tokens
    Every API token carries explicit scopes (links:write, analytics:read…), revocable and re-rollable per workspace.
  • Routing decided at the edge
    Per-link rules — country, device, language — evaluated right in the Worker, with no added latency and no logic for you to maintain.
POST/api/v1/links
curl -X POST https://api.nayalink.co/api/v1/links \
  -H "Authorization: Bearer $NAYALINK_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "original_url": "https://shop.example/summer-sale",
    "custom_code": "sale",
    "utm_source": "sms",
    "utm_campaign": "summer-2026"
  }'
app.nayalink.co/docs

Links / links.store

Create link

POST/api/v1/links

Create a short link. Only original_url is required — everything else, from custom codes to expiration and tags, is optional.

Body

original_urlstringrequired
namestring
custom_codestring
tag_idsstring[]
expires_atstring<date-time>
passwordstring
Request 201 Created
{
  "original_url": "https://acme.com/pricing",
  "custom_code": "launch26",
  "tag_ids": ["tag_ax9"]
}

Everything else a serious shortener needs

Create a link in seconds and adjust it whenever you want — without ever breaking what's already in circulation.
Built-in QR codes
Every link ships with a customizable QR code; scans are tracked like clicks, in the same reports.
UTM tracking
Build tagged URLs in seconds and spot the sources that actually convert.
Tags
Slice hundreds of links by team, channel or client, and filter analytics by tag.
Audit log
Every workspace action recorded: who created, changed or deleted what, and when (Premium plan).
Link expiration
Set an end date: limited offers stop exactly when they should.
Custom short codes
Pick a memorable slug for every link, or let Nayalink generate the shortest available.

Click data is personal data. Yours stays in Europe.

A shortener sees every visitor's device, language and location go by. Nayalink stores the minimum of it — in Europe.
Hosted in Germany
Database and application workloads run at Hetzner, in Germany — not at a US hyperscaler.
Minimization by default
No cookies, no individual profiles, and no IP addresses stored: statistics are aggregates — country, device, referrer.
Reversible by design
Your links live on your domain: you own it, and it would follow you elsewhere. Your circulating URLs don't depend on us.

The questions we get before you commit

Honest answers to the three objections we hear most often.
“Why not Bitly?”
Generic domains pool their reputation — bad for SMS deliverability — and your click data goes to the US. Here, custom domains and campaigns are the core of the product, and data stays in Germany.
“We could build this ourselves.”
The redirect itself is a weekend. Multi-domain TLS, edge caching, anti-phishing scanning, quotas and analytics will fill the following quarter. Our API gives you the result in one POST.
“What if the service goes away?”
That risk exists with every shortener — which is exactly why the custom domain isn't a gimmick: you own it, and it could point elsewhere. And exceeding a quota never breaks existing redirects.

Frequently asked questions

Deliverability, API, GDPR, quotas — the short answers.
Yes, for professional use: self-service custom domains with automatic TLS, per-campaign analytics, and an API with fine-grained tokens. There is no automated Bitly import yet: migration happens through the dashboard or the API.

Your domain, your links, your numbers

Create your account, connect your domain and send your first measured campaign. No credit card required.