Skills Development Linktree Profile And Links Management

Linktree Profile And Links Management

v20260423
linktree-core-workflow-a
This skill provides programmatic access to manage the entire lifecycle of a Linktree profile and its associated links via the REST API. Users can retrieve profile metadata, create new links (with positioning and thumbnails), update link properties, and list all links. It is ideal for building integrations that automate content management, such as syncing product launches, rotating seasonal promotions, or bulk-importing link data from external sources.
Get Skill
437 downloads
Overview

Linktree — Profile & Links Management

Overview

Manages the complete lifecycle of a Linktree profile and its links through the
Linktree REST API. This skill covers retrieving profile metadata, creating new
links with positioning and thumbnails, updating existing link properties, listing
all links for a profile, and reordering links by position. Use this workflow when
building integrations that programmatically manage a creator's or brand's
link-in-bio page — for example, syncing product launches, rotating seasonal
promotions, or bulk-importing links from a spreadsheet. All operations use bearer
token authentication against the Linktree API.

Prerequisites

  • Linktree Developer Account — register at linktr.ee/marketplace/developer
  • API Key — set LINKTREE_API_KEY in your environment
  • Node.js >= 18 and TypeScript >= 5.0
  • Linktree SDK — install with npm install @linktree/sdk

Instructions

Step 1: Get Profile

try {
  const profile = await client.profiles.get('myprofile');
  console.log(`Bio: ${profile.bio}`);
  console.log(`Links: ${profile.links.length}`);
} catch (err: any) {
  if (err.status === 404) throw new Error('Profile not found — verify the username');
  throw err;
}

Step 2: Create a Link

try {
  const link = await client.links.create({
    profile_id: profile.id,
    title: 'My Website',
    url: 'https://example.com',
    position: 0,  // Top of list
    thumbnail: 'https://example.com/icon.png'
  });
  console.log(`Created link: ${link.id}`);
} catch (err: any) {
  if (err.status === 422) throw new Error(`Validation failed: ${err.message}`);
  if (err.status === 429) console.warn('Rate limited — retry after backoff');
  throw err;
}

Step 3: Update Link

try {
  await client.links.update(link.id, {
    title: 'Updated Title',
    archived: false
  });
} catch (err: any) {
  if (err.status === 404) throw new Error(`Link ${link.id} not found — it may have been deleted`);
  throw err;
}

Step 4: List All Links

try {
  const links = await client.links.list({ profile_id: profile.id });
  links.forEach(l => console.log(`${l.position}: ${l.title} → ${l.url}`));
} catch (err: any) {
  if (err.status === 401) throw new Error('Invalid API key — check LINKTREE_API_KEY');
  throw err;
}

Error Handling

ErrorStatusCauseResolution
Unauthorized401Missing or expired LINKTREE_API_KEYRegenerate key in developer dashboard
Not Found404Invalid profile username or deleted link IDVerify the resource exists before operating
Validation Error422Malformed URL, missing required field, or duplicate positionCheck request body against API schema
Rate Limited429Too many requests in windowImplement exponential backoff (start at 1s)
Server Error500Linktree API outageRetry with backoff; check status.linktr.ee

Output

A successful workflow produces a fully configured Linktree profile with an ordered
set of active links. Each link includes an id, title, url, position (zero-indexed),
thumbnail URL, and archived status. The profile object contains the username, bio,
avatar URL, and a links array reflecting the current ordering. Use the returned link
IDs for subsequent update or delete operations in downstream workflows.

Resources

Next Steps

See linktree-core-workflow-b.

Info
Category Development
Name linktree-core-workflow-a
Version v20260423
Size 4.07KB
Updated At 2026-04-28
Language