Linktree Scraper – Bio Links, Emails & Social Profiles
Pricing
from $5.00 / 1,000 page scrapeds
Linktree Scraper – Bio Links, Emails & Social Profiles
Turn any Linktree (linktr.ee) page into structured data: every link in display order with title, type, thumbnail and target URL, plus the bio, avatar, verified badge, social icons (Instagram, TikTok, YouTube, X, Facebook) and any published emails or phone numbers. Usernames or URLs, no login.
Pricing
from $5.00 / 1,000 page scrapeds
Rating
0.0
(0)
Developer
R.L.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape any Linktree profile in seconds. Drop in a linktr.ee username or URL and get clean, structured data back: every link in display order, the profile bio, avatar, verification badge, social icons, and any emails or phone numbers published on the page. Scrape one creator or thousands in a single run.
Perfect for lead generation, influencer research, and competitor analysis — pull the exact URLs, contact details, and link structure behind any Linktree bio link, ready to export to a spreadsheet or push into your CRM.
Built on the Apify platform: run it from the web UI with no code, call it from the API, schedule recurring runs, and export to JSON, CSV, Excel, or Google Sheets.
What can you do with the Linktree Scraper?
- Generate leads — extract emails, phone numbers, and outbound links from creators, brands, and businesses using Linktree.
- Find and vet influencers — see every platform and shop a creator promotes, plus whether their profile is verified.
- Analyze competitors — map how brands structure their bio links and where they send their traffic.
- Build datasets at scale — feed in a list of usernames and collect every profile into one exportable dataset.
- Monitor changes — schedule runs to track when a profile adds, removes, or reorders its links.
How do I scrape a Linktree profile?
- Click Try for free to open the Actor.
- In the Input tab, paste one or more Linktree profiles — a full URL (
https://linktr.ee/spoilerplusac) or just the username (spoilerplusac). - Click Start.
- Watch the run finish, then open the Output tab and download your data as JSON, CSV, Excel, or HTML.
No coding, proxies, or setup required — it works out of the box.
Which platforms and link types does it recognise?
The social icon row at the top of a profile comes back in socialLinks, each with the platform Linktree assigned it. Types seen in real profiles include INSTAGRAM, TIKTOK, YOUTUBE, X, FACEBOOK, THREADS, TWITCH, PINTEREST, SOUNDCLOUD, MASTODON and EMAIL_ADDRESS — an EMAIL_ADDRESS icon is one of the places an address turns up in the emails field.
The body of the page comes back in links, each with its own type:
type | What it is |
|---|---|
CLASSIC | An ordinary link button pointing at a URL. |
HEADER | A section heading with no destination — useful for grouping, empty url. |
GROUP | An expandable group; its children are flattened into the list right after it, in display order. |
YOUTUBE_VIDEO | An embedded YouTube video block. |
Other block types Linktree introduces are passed through unchanged in the same shape, so the field is worth reading rather than assuming.
How much does it cost to scrape Linktree?
Pay per result: $0.005 per profile page returned — 200 profiles for $1. There is no subscription or per-run fee, though Apify platform usage (compute) is billed on top; it stays small because the Actor uses plain HTTP requests rather than a browser. Cap a run with its maximum cost per run setting — the Actor stops as soon as that ceiling is hit.
What input does it take?
| Field | Type | Description |
|---|---|---|
startUrls | array | Linktree profile URLs or bare usernames to scrape. A bare username is expanded to https://linktr.ee/username. |
Example input:
{"startUrls": [{ "url": "https://linktr.ee/spoilerplusac" },{ "url": "https://linktr.ee/sneakrtweakr" }]}
What does each row contain?
Every profile becomes one row in your dataset, downloadable as JSON, CSV, Excel, or HTML. Here's a sample result:
{"url": "https://linktr.ee/spoilerplusac","username": "spoilerplusac","pageTitle": "@Manga Spoiler","description": "...","isVerified": true,"profilePictureUrl": "https://ugc.production.linktr.ee/....jpeg","country": null,"tier": "free1","createdAt": 1718791112000,"socialLinks": [{ "type": "SOUNDCLOUD", "url": "https://soundcloud.com/spoilerplusac", "position": 1 }],"emails": [],"phones": [],"linksCount": 9,"links": [{"id": "393748667","title": "Manga Spoiler","url": "https://spoilerplus.ac","type": "CLASSIC","position": 0,"thumbnail": "https://ugc.production.linktr.ee/....png","locked": false,"metaTitle": "漫画をオンラインで読む","metaDescription": "..."}]}
| Field | Description |
|---|---|
url | The scraped profile URL. |
username | Linktree handle. |
pageTitle | Display name shown on the profile. |
description | Profile bio / description. |
isVerified | Whether the profile carries a verified badge. |
profilePictureUrl | Avatar image URL. |
country | Two-letter country code, when the profile publishes one (often null). |
tier | The account's Linktree plan as Linktree labels it, e.g. free1, pro. |
createdAt | When the profile was created, as a Unix timestamp in milliseconds. |
socialLinks | The social icon row: platform type, url and position. |
emails | Email addresses found in the profile's links, social icons and bio. |
phones | Phone numbers taken from tel: / sms: links. |
linksCount | Number of links in links, groups included. |
links | Full ordered list of every link (see the table above for types). |
Every entry in links carries id, title, url (any target — website, mailto:, tel:, and more), type, display position, thumbnail, locked status, and the link's metaTitle / metaDescription when Linktree has them. Links nested inside a GROUP are flattened in display order, so nothing is missed.
Tips for the best results
- Usernames work too — pass
spoilerplusacinstead of the full URL; both are accepted. - Batch your profiles — put many usernames in one
startUrlslist to scrape them all in a single run. - Handles that resolve to nothing are skipped, not billed — a username that does not exist, or one Linktree has blocked or suspended, produces no row and is not charged; the run log says which target was skipped and why. A real profile that simply has no links yet is still a result: it comes back with its
usernameandlinksCount: 0. - One bad profile never breaks the run — a profile the Actor cannot fetch or parse is logged and skipped, and the rest of your list still finishes.
- Automate it — use Schedules to keep your dataset fresh, or the API and integrations to send results straight to Google Sheets, Slack, or your database.
Frequently asked questions
Do I need a Linktree account, an API key or proxies? No. The Actor fetches the public profile page itself over plain HTTP — no login, no key, and no proxy configuration to set up.
Can I scrape emails and phone numbers from Linktree? Yes, when the profile publishes them. Addresses found in a mailto: link, an EMAIL_ADDRESS social icon, a link title or the bio text land in emails; numbers from tel: and sms: links land in phones. A profile that publishes neither returns empty arrays rather than guesses.
How many profiles can I scrape in one run? As many as you put in startUrls — they are fetched one after another and each becomes one row. Cost scales with rows, so use the run's maximum-cost setting as a ceiling.
Does it return click counts or Linktree analytics? No. Only what the public page exposes: the profile, its social icons and its links. Visitor and click statistics are private to the account owner.
Why did a profile come back empty or get skipped? A target is skipped without a row and without a charge when the handle does not exist or Linktree has blocked or suspended it — the log line names the reason. A row with linksCount: 0 means the opposite: a real profile that has not published any links. Pages that are password-protected, or whose structure Linktree has changed, are logged as parse failures — those are worth reporting on the Issues tab.
Can I use it on other link-in-bio services? No. It reads the data Linktree server-renders into its own pages, so it is linktr.ee-specific — other bio-link hosts need their own scraper.
Is scraping Linktree legal? This Actor collects only data that Linktree publishes publicly on profile pages. Scraping public data is generally legal, but you are responsible for how you use the results — comply with Linktree's Terms of Service and applicable data-protection laws (such as GDPR and CCPA) when handling personal data like emails and phone numbers.
Support and custom solutions
Have a feature request or need a tailored scraper? Open a ticket on the Issues tab — feedback and custom-solution requests are welcome.
Community research toolkit
Part of the Community research toolkit — research online communities and creators across forums, link-in-bio pages, and social platforms:
- Reddit API Scraper — Scrape Reddit posts, comments, search results, subreddits, and user profiles.
- Discourse Community Scraper — Generalised scraper for any Discourse-based community forum.
- phpBB Forum Scraper — Generic scraper for phpBB-powered forums.
- Hacker News Scraper — Scrape Hacker News by search, user, listing, or thread.
- Social Blade Scraper — YouTube, TikTok, Instagram, Twitch Stats — Social Blade stats and growth projections for creators.
Did you find this useful?
Rate this actor on Apify! Your feedback helps other users find it and helps us keep improving it.