Developers

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"

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.

Ready to build?

Grab a free API key and create your first link in minutes.

Get started free