---
title: "Linktree Page API"
method: GET
path: "/v1/linktree/page"
tags: ["Linktree"]
---

# Linktree Page API

`GET /v1/linktree/page`

## Request

- Base URL: `https://api.captapi.com`
- URL: `https://api.captapi.com/v1/linktree/page`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Link-in-bio → creator graph: typed links, socialAccounts{} that feed TikTok/Instagram/Spotify/SoundCloud, email, verticals.

Paste a Linktree URL or username and get the public page as clean JSON. Canonical profile fields: platform, id (string), handle/username, url, displayName (name is a deprecated alias), description, avatar, verified. Also verticals[] (Linktree niche labels, e.g. music_artist), linkPlatforms[] (platforms Linktree detected on the page), timezone, and email when the creator publishes a mailto social. links[] are typed (CLASSIC, PRODUCT, SPOTIFY_*, YOUTUBE_VIDEO, GROUP, …) with id/url/thumbnail; PRODUCT rows resolve shopUrl when Linktree leaves url empty (url is always present — null only when no destination exists); GROUP children nest under links with parentId. socials[] is the icon list (incl. EMAIL_ADDRESS). socialAccounts{} is the camelCase HTTP map for catalog joins (instagram/tiktok/spotify/soundcloud/appleMusic/youtube/…) — email is not duplicated there (use top-level email). YouTube watch URLs in socialAccounts are resolved to the channel via oEmbed so they pipe into youtube/channel-details. Accepts cache / cacheMaxAge. Flat 1 credit. This is the fan-out point for a creator graph: one Linktree call feeds the rest of the catalog.

Docs: https://captapi.com/apis/linktree-page

## Query parameters

- `url` string, required
- `cache` boolean
- `cacheMaxAge` '1d' | '3d' | '7d' | '14d' | '30d'

## Response `200`

Success. The data object for this endpoint.

- object
  - `success` unknown, required
  - `data` object, required
    - `platform` string: Platform identifier for this response (matches the endpoint's platform).
    - `url` string: On the page: Linktree profile URL. On a link row: outbound destination (PRODUCT may use shopUrl when Linktree leaves url empty).
    - `id` integer: Linktree account id as a string (catalog-wide id convention).
    - `username` string: Account username / handle.
    - `name` string: Deprecated alias of displayName — prefer displayName.
    - `description` string: Description text.
    - `avatar` string: Avatar / profile picture URL. Canonical across profile endpoints.
    - `verified` boolean: Whether the account is verified on this platform.
    - `verticals` string[]: Linktree niche/vertical labels for the page (e.g. music_artist, musician_band). Empty when Linktree exposes none.
    - `linkPlatforms` string[]: Platforms Linktree detected among the page's links/socials (e.g. Spotify, Instagram). Distinct from socialAccounts URLs.
    - `timezone` string: Timezone. Example: "America/New_York".
    - `email` string: Public email when the creator adds an EMAIL_ADDRESS mailto social on Linktree. Null/omitted when not published.
    - `linkCount` integer: Total link rows including GROUP children.
    - `links` object[]
      - `title` string: Title of this links item.
      - `type` string: On links[]: Linktree link type (CLASSIC, PRODUCT, SPOTIFY_ALBUM, SPOTIFY_SONG, YOUTUBE_VIDEO, SOUNDCLOUD_PLAYLIST, GROUP, …). On socials[]: icon type (INSTAGRAM, TIKTOK, EMAIL_ADDRESS, …).
      - `id` string: Id of this links item.
      - `url` string: On the page: Linktree profile URL. On a link row: outbound destination (PRODUCT may use shopUrl when Linktree leaves url empty).
      - `thumbnail` string: Thumbnail image URL.
    - `socials` object[]
      - `type` string: On links[]: Linktree link type (CLASSIC, PRODUCT, SPOTIFY_ALBUM, SPOTIFY_SONG, YOUTUBE_VIDEO, SOUNDCLOUD_PLAYLIST, GROUP, …). On socials[]: icon type (INSTAGRAM, TIKTOK, EMAIL_ADDRESS, …).
      - `url` string: On the page: Linktree profile URL. On a link row: outbound destination (PRODUCT may use shopUrl when Linktree leaves url empty).
    - `socialAccounts` object
      - `instagram` string: Instagram URL.
      - `tiktok` string: Tiktok URL.
      - `spotify` string: Spotify URL.
      - `youtube` string: Youtube URL.
      - `soundcloud` string: Soundcloud URL.
      - `appleMusic` string: Apple music URL.

## Other responses

- `400`: Bad request: wrong platform URL, unknown endpoint, or an invalid parameter value. Not billed.
- `401`: Missing, invalid or revoked API key. Not billed.
- `402`: Not enough credits for this request. Not billed.
- `404`: The resource does not exist or is not public. Not billed.
- `422`: A required parameter is missing or has the wrong type. Not billed.
- `429`: Rate limit reached. Wait for Retry-After seconds. Not billed.
- `502`: The platform could not be reached or returned nothing usable. Retryable, not billed. 503 and 504 use the same envelope.

---

[API](https://skmtc.dev/captapi/apis/captapi-api.md) · [All operations](https://skmtc.dev/captapi/apis/captapi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/captapi/apis/captapi-api/revisions/c9b9ac5ff1bd?raw)
