The lynkily API
Create short links, generate QR codes and read click analytics straight from your code. A simple REST API with token authentication — free to start.
API keys
Keys are scoped: a Core key calls the links & analytics API (paid lynkily plans); a Deep Links key calls the apps & deep-link API (paid Deep Links plans). Manage them from your dashboard.
Log in to get your API key No account? Sign up free.Authentication
Send your API key as a Bearer token on every request:
Authorization: Bearer lk_live_xxxxxxxxxxxxxxxx
The base URL is https://lynkily.com/api/v1. All responses are JSON.
Create a short link
POST /api/v1/links — shorten a URL (an optional custom_name and title are supported). Respects your plan's link limit.
curl -X POST https://lynkily.com/api/v1/links \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/a/very/long/link", "custom_name": "spring-sale"}'
{
"data": {
"id": "…",
"short_code": "spring-sale",
"short_url": "https://lynkily.com/spring-sale",
"original_url": "https://example.com/a/very/long/link",
"clicks": 0,
"created_at": "2026-07-04T…"
}
}
List your links
GET /api/v1/links — returns your most recent links.
curl https://lynkily.com/api/v1/links \ -H "Authorization: Bearer YOUR_API_KEY"
Get link analytics
GET /api/v1/links/{id}/stats — total clicks, plus country/device/browser breakdowns on paid plans.
curl https://lynkily.com/api/v1/links/LINK_ID/stats \ -H "Authorization: Bearer YOUR_API_KEY"
Deep Links API
Register mobile apps and create links that open them on the right screen (iOS Universal Links / Android App Links, with app-store & web fallbacks). Part of the Deep Links product.
Register an app
POST /api/v1/apps — counts toward your Deep Links plan's app quota.
curl -X POST https://lynkily.com/api/v1/apps \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme",
"ios": {"enabled": true, "bundle_id": "com.acme.app", "team_id": "ABCDE12345", "app_store_id": "1234567890", "scheme": "acme"},
"android": {"enabled": true, "package": "com.acme.app", "scheme": "acme", "sha256": "AB:CD:EF:…"},
"domain": "go.acme.com"
}'
GET /api/v1/apps lists your apps; GET/PATCH/DELETE /api/v1/apps/{id} manage one.
Create a deep link
POST /api/v1/deeplinks — a short link bound to an app + in-app path.
curl -X POST https://lynkily.com/api/v1/deeplinks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"app_id": "APP_ID", "path": "/product/123", "url": "https://acme.com/p/123"}'
App analytics
GET /api/v1/apps/{id}/stats — outcome funnel (clicks → app opens / store / web) plus platform, country and device breakdowns.
curl https://lynkily.com/api/v1/apps/APP_ID/stats \ -H "Authorization: Bearer YOUR_API_KEY"
Rate limits
Requests are limited per API key per minute by your Deep Links plan: Free 60, Starter 300, Growth 1,200, Scale 6,000. Every response carries X-RateLimit-Limit and X-RateLimit-Remaining; exceeding the limit returns 429 with a Retry-After header.
Errors
Errors return a non-200 status with {"error": "...", "message": "..."}. Common codes: 401 (bad key), 403 (plan limit / upgrade needed), 404 (not found), 429 (rate limited), 400 (bad request).
Plans & limits
Links & link analytics follow your lynkily plan. The Apps, Deep Links and app-analytics endpoints — and API keys themselves — require a paid Deep Links plan.