Linktree Page API
Link-in-bio → creator graph: typed links, socialAccounts{} that feed TikTok/Instagram/Spotify/SoundCloud, email, verticals. Flat 1 credit.
GET request to /v1/linktree/page that responds with clean JSON and costs 1 credit. Pass cache=true for a free 24h cache hit; default is always fresh. Start with 100 free credits — no credit card.What is the Linktree Page API?
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.
Try it
Fill in the parameters below and copy a ready-to-run request, or open the live Playground to run it against your account (no API key paste).
Parameters
curl "https://api.captapi.com/v1/linktree/page?url=https%3A%2F%2Flinktr.ee%2Fmiguelangeles" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."Edit the parameters and the code updates instantly. Switch languages and hit copy.
Example response
{
"success": true,
"data": {
"platform": "linktree",
"url": "https://linktr.ee/miguelangeles",
"id": 15278008,
"username": "miguelangeles",
"name": "MIGUEL ANGELES",
"description": "☆☆☆☆ IRL ANGEL ☆☆☆☆\nψ EMBRACE CHAOS ψ",
"avatar": "https://ugc.production.linktr.ee/d3141538-f586-4f3f-bc9a-a82fbebab798_DEATHRATTLE-slowed-COVER.jpeg",
"verified": false,
"verticals": [
"music",
"creative"
],
"linkPlatforms": [
"TikTok",
"Instagram"
],
"timezone": "America/New_York",
"email": "miguel@irlangel.com",
"linkCount": 8,
"links": [
{
"title": "new project \"BEFORE THE SUN RISES & WINTERR ENDS\"",
"type": "SPOTIFY_ALBUM",
"id": "463416775",
"url": "https://open.spotify.com/album/0pgrg7phBbnwGJ2HBEl9EG?si=Zub7J4I3RySAaM9WVX3Okg",
"thumbnail": "https://ugc.production.linktr.ee/8ed131c7-6d74-47fc-bceb-8be7f6bae4c8_ab67616d0000b2739bd93cc6e406b820dfff691f.jpeg"
},
{
"title": "stream \"NOVEMBERR\"",
"type": "SPOTIFY_SONG",
"id": "460281204",
"url": "https://open.spotify.com/track/62HnBMEdZjeFCd2T8g37T8?si=7bd35dd0e9f24d65",
"thumbnail": "https://ugc.production.linktr.ee/3bd59146-cd44-4187-9601-4341b21070d2_ab67616d0000b2739ad10104c60fb9deff5b7f34.jpeg"
}
],
"socials": [
{
"type": "INSTAGRAM",
"url": "https://instagram.com/miguelangeles"
},
{
"type": "TIKTOK",
"url": "https://tiktok.com/@irlangel"
}
],
"socialAccounts": {
"instagram": "https://instagram.com/miguelangeles",
"tiktok": "https://tiktok.com/@irlangel",
"spotify": "https://open.spotify.com/artist/14xRX3JR8H4RWh8R7V3fvZ?si=EgRxWIPiRcaEHtSnqk5PAQ",
"youtube": "https://www.youtube.com/watch?v=xiFUzOJaiC4",
"soundcloud": "https://soundcloud.com/miguelangeles",
"appleMusic": "https://music.apple.com/ca/artist/miguel-angeles/1209423162"
}
}
}Billing metadata is returned in response headers: X-Captapi-Credits (credits charged), X-Captapi-Cache (hit or miss), and X-Captapi-Source. Failed requests (4xx/5xx) are never charged. See the full list of error codes in the error reference.
Response structure
A successful call returns success, cached, creditsUsed, and a data object with the following fields:
Top-level fields
platformPlatform identifier for this response (matches the endpoint's platform).urlOn the page: Linktree profile URL. On a link row: outbound destination (PRODUCT may use shopUrl when Linktree leaves url empty).idLinktree account id as a string (catalog-wide id convention).usernameAccount username / handle.nameDeprecated alias of displayName — prefer displayName.descriptionDescription text.avatarAvatar / profile picture URL. Canonical across profile endpoints.verifiedWhether the account is verified on this platform.verticalsLinktree niche/vertical labels for the page (e.g. music_artist, musician_band). Empty when Linktree exposes none.linkPlatformsPlatforms Linktree detected among the page's links/socials (e.g. Spotify, Instagram). Distinct from socialAccounts URLs.timezoneTimezone. Example: "America/New_York".emailPublic email when the creator adds an EMAIL_ADDRESS mailto social on Linktree. Null/omitted when not published.linkCountTotal link rows including GROUP children.
Links
Each item in links contains:
titleTitle of the item.typeOn links[]: Linktree link type (CLASSIC, PRODUCT, SPOTIFY_ALBUM, SPOTIFY_SONG, YOUTUBE_VIDEO, SOUNDCLOUD_PLAYLIST, GROUP, …). On socials[]: icon type (INSTAGRAM, TIKTOK, EMAIL_ADDRESS, …).idLinktree account id as a string (catalog-wide id convention).urlOn the page: Linktree profile URL. On a link row: outbound destination (PRODUCT may use shopUrl when Linktree leaves url empty).thumbnailThumbnail image URL.
Socials
Each item in socials contains:
typeOn links[]: Linktree link type (CLASSIC, PRODUCT, SPOTIFY_ALBUM, SPOTIFY_SONG, YOUTUBE_VIDEO, SOUNDCLOUD_PLAYLIST, GROUP, …). On socials[]: icon type (INSTAGRAM, TIKTOK, EMAIL_ADDRESS, …).urlOn the page: Linktree profile URL. On a link row: outbound destination (PRODUCT may use shopUrl when Linktree leaves url empty).
Social accounts
The socialAccounts object contains:
instagramInstagram URL.tiktokTiktok URL.spotifySpotify URL.youtubeYoutube URL.soundcloudSoundcloud URL.appleMusicApple music URL.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Linktree profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. |
| cache | boolean | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits. |
| cacheMaxAge | string | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL (SC cache_max_age). Envelope: cached + cachedAt. |
Authentication: send your key as Authorization: Bearer capt_live_.... A typical call costs 1 credit. Pass cache=true for a free 24h cache hit; default is always fresh.
How it works
- 1. Sign up — get 100 free credits, no card required.
- 2. Create a key from your dashboard.
- 3. Send one request to
/v1/linktree/pageand parse the JSON response.
Use cases
Creator graph fan-out
Pipe socialAccounts.instagram/tiktok/spotify/soundcloud into our matching profile endpoints — SC cannot complete Spotify/SoundCloud.
Contact discovery
Collect outbound destinations (incl. PRODUCT merch shopUrl) plus top-level email when published.
Niche + platform signals
Use verticals[] and linkPlatforms[] to classify creators before deeper enrichment.
Link-in-bio inventory
Typed links[] with GROUP nesting, thumbnails, and stable string ids.
Frequently asked questions
What does the Linktree Page API do?+
The Linktree Page API lets you fetch full metadata and key stats from a public Linktree page using one GET request to /v1/linktree/page. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the Linktree Page API cost?+
Each successful call costs 1 credit. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.
Do I need a Linktree API key or OAuth?+
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Is the Linktree Page API suitable for production use?+
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.
Ready to use the Linktree Page API?
Sign up, grab your key, and make your first call in 60 seconds.