Skip to main content

Developers

Links as infrastructure.

A modern REST API for short links, bio pages, and click analytics. Built for scripts, CI jobs, and production services.

Quick example

Create a short link in one call. Bearer token auth, JSON in, JSON out.

Request
curl -X POST https://clyk.app/api/v1/links \
  -H "Authorization: Bearer $CLYK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/launch-announcement",
    "alias": "launch-26",
    "utm_source": "newsletter"
  }'
Response
{
  "code": "launch-26",
  "short_url": "https://clyk.app/i/launch-26",
  "url": "https://example.com/launch-announcement",
  "created_at": "2026-04-17T14:02:11Z"
}

That short link is live the instant the response returns. Clicks land on our edge handler with a <10ms target at the POP.

The platform, in three parts

REST API

A small, predictable surface. GET /me, GET/POST /links, GET/PATCH/DELETE /links/{code}, and GET /links/{code}/stats. Every endpoint returns JSON. Every error returns a machine-readable code and a human-readable message. OpenAPI spec is published and versioned.

Webhooks

Subscribe to link.created, link.clicked, and subscriber.added events. Deliveries are signed with HMAC-SHA256 and retried with exponential backoff. You will know when a link fires, without polling for it.

Rate limits

Every API key has its own limit. Defaults start at 60 requests per minute and scale up with your tier. Limits are returned in response headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) so your clients can back off cleanly.

New: MCP server. CLYK now ships with a public Model Context Protocol endpoint so Claude Desktop, Claude Code, Cursor, and any MCP-aware agent can list, inspect, and manage your links with a single config paste. See the MCP docs →

Auth, errors, and expectations

API keys are issued from your dashboard in seconds and can be rotated or revoked at any time. Keys are scoped to a single account; team accounts can issue keys per member so revoking one person does not knock out your whole pipeline.

Every error response includes a stable code field (rate_limited, invalid_url, alias_taken, not_found) alongside a human-readable message. Write your clients against the code. The message can change; the code will not.

We publish our OpenAPI spec so you can generate a client in any language. If you would rather stay close to the metal, curl and fetch are first-class citizens.

Read the full API reference →

What you can build

  • Campaign automation.

    Generate a fresh tracked short link for every newsletter send, ad variant, or QR code. Pull click stats back into your data warehouse on a schedule. Attach UTM parameters through the API so your analytics reports line up without hand-editing.

  • Release tooling.

    Ship a CI job that mints a canonical short link for every release note, docs page, or demo video. No more five-tab URLs in your changelog. The code for each link is predictable, so you can reference them in commit messages and marketing copy before you ship.

  • Creator dashboards.

    Build an internal view for a roster of creators, agencies, or team members. Read their link stats through the API and render them in your own UI, with your own charts and your own auth.

  • Event triggers.

    Webhook a Slack channel when a specific link crosses a click threshold. Webhook a billing system when a subscriber signs up through a bio page. Fire a serverless function on every click without writing a polling loop.

Pricing

The API is available on Creator ($12/mo) and above. Free accounts can read /me and GET /links so you can kick the tires before committing. Write access, full analytics endpoints, and custom aliases are on Creator. Business accounts get higher rate limits and webhook delivery for production workloads. See the full pricing page for the current limits and quotas per tier.

If you are a developer evaluating CLYK for a serious integration, email us. We can usually extend trial access on Creator while you build your proof of concept.

If you can curl, you can ship with CLYK.

Create a free account, issue a key from your dashboard, and start shortening. Upgrade to Creator when you need write access.