Linktree Profile API
Get a public Linktree profile from its handle or URL: name, bio, every link with its title and URL, social accounts, verification, tier, country and creation date.
- 1 credit per call
- Failed calls are free
- Updated
- linktree.profile.get
{ "display_name": "Linktree", "created_at": "2021-08-25", "country": "AU", "links_count": 2, "profile_url": "https://linktr.ee/linktree", "tier": "pro", "timezone": "Asia/Manila", "verified": false, "links": [ { "title": "Linktree's Linktree", "type": "CLASSIC", "url": "https://linktr.ee/linktr.ee" }, { "title": "Homepage", "type": "CLASSIC", "url": "http://linktr.ee/linktr.ee" } ]}
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| username | string | yes | The Linktree handle, such as linktree, or the full URL, such as https://linktr.ee/linktree. | linktree |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| display_name | string | The profile's name. | Linktree |
| links_count | integer | How many links the profile shows. | 2 |
| verified | boolean | Whether Linktree has verified the profile. | false |
| tier | string | The profile's Linktree plan. | pro |
| country | string | The profile's country. | AU |
| created_at | string | When the profile was created. | 2021-08-25 |
| profile_url | string | The profile's Linktree address. | https://linktr.ee/linktree |
| links | array | The links on the profile. | 2 records |
| links[].title | string | The link's title. | Linktree's Linktree |
| links[].type | string | The kind of link. | CLASSIC |
| links[].url | string | Where the link goes. | https://linktr.ee/linktr.ee |
| timezone | string | The profile's time zone. | Asia/Manila |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "linktree.profile.get", "input": { "username": "linktree" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "linktree.profile.get", "input": { "username": "linktree" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "linktree.profile.get", "input": { "username": "linktree" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
Using Upscrape, open the Linktree profile linktr.ee/linktree and list its links, its country and whether it is verified.
More from the Linktree API
The same data from other platforms
Linktree Profile API FAQ
The short answers. The docs have the long ones.
How much does the Linktree Profile API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send username. The input fields below list every option with its type and limits.
Do I need a Linktree login?
No. It reads public Linktree data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds linktree.profile.get, checks its price and runs it with the same credits as the REST API.
Your first Linktree call is free.
Up to 100 free credits to start, no card needed.