Liinks Developer Portal

Build on Liinks, the link-in-bio platform for creators and businesses. Manage profiles, blocks, themes, forms, and subscribers programmatically with the REST API — or connect an AI assistant through the Liinks MCP server and let it do the editing.

The Liinks API is in beta — endpoints and shapes may still change with notice. Feedback: hello@liinks.co.

Get an API key

  1. Log in to Liinks (any paid plan; new accounts can explore free, and every subscription starts with a 14-day free trial).
  2. In the dashboard, go to Admin → Settings → API Keys and create a key.
  3. Send it as a bearer token: Authorization: Bearer liinks_live_<your-token>.

Keys are shown once, hashed at rest, and revocable any time from the same screen. There is no separate sandbox environment: create a free account, build a test profile, and upgrade it when you need API access.

REST API quickstart

# 1. Confirm your key works and see which account it belongs to
curl https://www.liinks.co/api/v1/me \
  -H "Authorization: Bearer liinks_live_<your-token>"
# 2. List the profiles you can manage (capture an id)
curl https://www.liinks.co/api/v1/profiles \
  -H "Authorization: Bearer liinks_live_<your-token>"
# 3. Add a link block to your page
curl -X POST https://www.liinks.co/api/v1/profiles/<profileId>/blocks \
  -H "Authorization: Bearer liinks_live_<your-token>" \
  -H "Content-Type: application/json" \
  -d '{ "type": "link", "title": "My portfolio", "url": "https://example.com" }'

Full endpoint reference: interactive docs · OpenAPI 3.1 spec

MCP server

Connect Claude, ChatGPT, Cursor, or any MCP-capable client to https://www.liinks.co/api/mcp (Streamable HTTP transport) and manage your page in natural language — “add my new podcast episode to my page”.

{
  "mcpServers": {
    "liinks": {
      "type": "http",
      "url": "https://www.liinks.co/api/mcp",
      "headers": {
        "Authorization": "Bearer liinks_live_<your-token>"
      }
    }
  }
}

Available tools:

Errors

Every error uses one envelope: { "error": { "code", "message", "details?" } }. Codes: validation_error (400, includes a per-field details.issues[] tree), unauthorized (401), plan_required (402), forbidden (403), not_found (404), conflict (409), rate_limited (429), server_error (500). The full error schema is in the OpenAPI spec.

Rate limits

Versioning & deprecation

Machine-readable resources