Link-in-Bio Contact Leads Scraper avatar

Link-in-Bio Contact Leads Scraper

Pricing

Pay per event

Go to Apify Store
Link-in-Bio Contact Leads Scraper

Link-in-Bio Contact Leads Scraper

Extract public identity, displayed emails and phones, social accounts, bios, and destination links from supplied Linktree and Beacons profiles.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Turn supplied public Linktree and Beacons profiles into normalized creator-outreach records. The Actor extracts public identity, bio text, displayed email or phone contacts, social accounts, and outbound destination links. It does not guess contact details or require a profile login.

Use the same output schema for both supported platforms, so a mixed list can flow directly into a spreadsheet, CRM import, scheduled enrichment job, or data pipeline.

For every valid profile URL, the Actor produces one dataset row containing:

  • source platform and normalized profile URL;
  • username, display name, bio, and avatar URL;
  • email addresses visibly published on the profile;
  • phone contacts exposed through public phone links;
  • categorized Instagram, TikTok, YouTube, X, Facebook, and other social links;
  • other destination links, such as a storefront, newsletter, portfolio, donation page, or website;
  • contact and link counts for quick filtering;
  • an extraction timestamp.

Linktree pages use a lightweight structured-HTML route. Beacons pages use browser rendering because their public pages can reject ordinary HTTP clients. The browser starts only when a run includes a Beacons URL.

This Actor is useful for:

  • creator partnership teams enriching an approved prospect list;
  • influencer marketing agencies consolidating public contact channels;
  • sales operations teams preparing creator outreach imports;
  • researchers mapping public cross-platform identities;
  • brand teams reviewing destinations linked from creator profiles;
  • developers normalizing Linktree and Beacons records through one API;
  • analysts tracking changes with separate scheduled dataset runs.

It is a URL-list enrichment tool, not a creator discovery search engine. Supply the profiles you are authorized to process.

Why use this Actor?

A creator may put contact details and key destinations on a link-in-bio page rather than on the original social profile. Checking those pages manually is slow and produces inconsistent columns.

This Actor provides:

  1. Two popular sources in one contract — Linktree and Beacons records share field names.
  2. Public contacts only — email and phone values come from visible page content or public contact links.
  3. Useful link classification — social accounts are separated from other destinations.
  4. Mixed-list support — process Linktree and Beacons URLs in the same run.
  5. Bounded inputs — duplicate profiles are removed and each run accepts up to 100 unique profiles.
  6. Integration-ready output — use the default dataset with API, CSV, Excel, webhooks, or Apify integrations.

What data can you extract?

FieldTypeMeaning
inputUrlstringOriginal URL supplied in the input
profileUrlstringNormalized public profile URL
platformstringLinktree or Beacons
usernamestringUsername from the profile path
displayNamestring or nullPublic profile or creator name
biostring or nullPublic profile description
avatarUrlstring or nullPublic profile image URL
emailsstring[]Email addresses displayed on the page
emailCountintegerNumber of unique displayed emails
phonesstring[]Values from public tel: contact links
socialLinksobject[]Categorized social profile links
destinationLinksobject[]Non-social outbound links and labels
linkCountintegerUnique social plus destination links
hasContactbooleanWhether a displayed email or phone was found
scrapedAtstringISO 8601 extraction time

Each link object contains its resolved url and visible title when available. Social link objects also contain platform.

How to scrape Linktree and Beacons profiles

  1. Open the Actor input page.
  2. Add one or more public linktr.ee or beacons.ai profile URLs.
  3. Set Maximum profiles to the output limit you need.
  4. Click Start.
  5. Open the default dataset when the run succeeds.
  6. Export JSON, CSV, Excel, XML, or another supported dataset format.

A first test can use the prefilled profiles:

{
"startUrls": [
{ "url": "https://linktr.ee/thefashionsessions" },
{ "url": "https://beacons.ai/1minuteanimals" }
],
"maxItems": 2
}

Input parameters

startUrls

Required array of public Linktree or Beacons profile URLs. The Actor accepts full https://linktr.ee/<username> and https://beacons.ai/<username> URLs. Query strings and fragments are removed during normalization. Duplicate URLs are processed once.

Unsupported domains, malformed URLs, and URLs without a profile username fail input validation. This fail-closed behavior prevents a successful but misleading empty dataset.

maxItems

Optional integer from 1 to 100. The default is 25. The Actor stops after this many unique profile inputs.

maxItems does not discover additional profiles and does not silently change source scope.

Output example

A current Beacons profile produces a row shaped like this:

{
"inputUrl": "https://beacons.ai/1minuteanimals",
"profileUrl": "https://beacons.ai/1minuteanimals",
"platform": "Beacons",
"username": "1minuteanimals",
"displayName": "1minuteanimals",
"bio": null,
"avatarUrl": "https://cdn.beacons.ai/...",
"emails": [],
"emailCount": 0,
"phones": [],
"socialLinks": [
{
"platform": "YouTube",
"title": "Youtube 1 Minute Animals",
"url": "https://www.youtube.com/c/AnimalPlanetVideos_?sub_confirmation=1"
},
{
"platform": "Instagram",
"title": "Instagram 1 Minute Animals",
"url": "https://www.instagram.com/1minuteanimal/"
}
],
"destinationLinks": [
{
"title": "Buy Me A Coffee",
"url": "https://www.buymeacoffee.com/1minuteanimals"
}
],
"linkCount": 9,
"hasContact": false,
"scrapedAt": "2026-08-11T14:09:00.000Z"
}

The example abbreviates the avatar URL and link arrays for readability. Actual dataset rows contain all extracted fields. A profile is still useful when emails is empty: its identity, social accounts, and destinations remain available.

Pricing uses one start event per run plus one item event per saved dataset row. Email addresses, phones, and individual links do not create separate charges.

The current start price is $0.005 per run. The BRONZE profile price is $0.0032 per saved profile, with lower per-profile rates at higher platform tiers.

Examples at the BRONZE item rate:

Saved profilesStartitem eventsEstimated total
1$0.005$0.0032$0.0082
10$0.005$0.0320$0.0370
25$0.005$0.0800$0.0850
100$0.005$0.3200$0.3250

The active tier attached to your Apify account determines the exact per-profile price. Only saved profile records trigger the item charge. Invalid input fails before profile extraction.

Creator outreach enrichment workflow

A practical recurring workflow is:

  1. Keep an approved list of creator Linktree and Beacons URLs in a table.
  2. Run the Actor on a schedule with that URL list.
  3. Export the new default dataset to Google Sheets, Airtable, or your warehouse.
  4. Match rows by profileUrl.
  5. Compare emails, socialLinks, and destinationLinks with the previous run.
  6. Review changes before updating a CRM or contacting a creator.

The Actor creates current snapshots. It does not itself compare runs, send outreach, monitor continuously, or mutate your CRM. Apify schedules, webhooks, and integrations can connect those steps.

Spreadsheet and data-pipeline integrations

Use Apify integrations to send the default dataset to:

  • Google Sheets for list review;
  • Airtable for outreach operations;
  • Make or Zapier for workflow automation;
  • Slack for internal run notifications;
  • a webhook endpoint after a run finishes;
  • a data warehouse through the Dataset API.

Filter hasContact = true when a workflow specifically needs a displayed email or phone. Keep rows with hasContact = false when social identity and linked destinations are still useful.

Run with the Apify API

Replace YOUR_TOKEN with your Apify API token. Do not place tokens in source control.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~link-in-bio-contact-leads-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startUrls": [
{"url": "https://linktr.ee/thefashionsessions"},
{"url": "https://beacons.ai/1minuteanimals"}
],
"maxItems": 2
}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/link-in-bio-contact-leads-scraper').call({
startUrls: [
{ url: 'https://linktr.ee/thefashionsessions' },
{ url: 'https://beacons.ai/1minuteanimals' },
],
maxItems: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("automation-lab/link-in-bio-contact-leads-scraper").call(run_input={
"startUrls": [
{"url": "https://linktr.ee/thefashionsessions"},
{"url": "https://beacons.ai/1minuteanimals"},
],
"maxItems": 2,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Use with Model Context Protocol (MCP)

Add the Actor to Claude Code through Apify MCP:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/link-in-bio-contact-leads-scraper"

The same endpoint works in Claude Desktop, Cursor, and VS Code MCP settings. Add an HTTP MCP server named apify in any of those clients with the following configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/link-in-bio-contact-leads-scraper"
}
}
}

Example prompts:

  • “Extract the public contact and social links from these Linktree URLs.”
  • “Normalize these Linktree and Beacons profiles into creator lead rows.”
  • “Return only rows that expose a displayed email or phone.”
  • “Summarize the storefront and social destinations on these profiles.”

The MCP client still needs authorization to run the Actor in your Apify account.

Reliability and retry behavior

Linktree requests use bounded retries for temporary network, rate-limit, and server failures. Permanent invalid-profile responses are not retried blindly.

Beacons extraction uses a browser session because normal requests may receive a Cloudflare block page. A challenged or transiently failed profile receives one retry in a fresh browser context. If useful page content still cannot be loaded, the run fails with a diagnostic error rather than saving an empty record.

One browser is reused across Beacons profiles to reduce startup cost, while contexts isolate profile sessions.

Limits and expected behavior

  • Supported sources are linktr.ee and beacons.ai public profile pages.
  • A run accepts at most 100 input URLs and saves at most 100 records.
  • The Actor does not search Linktree or Beacons directories.
  • The Actor does not log in or access private profile data.
  • The Actor does not follow outbound websites to discover hidden contacts.
  • Email and phone coverage depends on what the profile owner publicly displays.
  • Links loaded only after unsupported user interaction may be absent.
  • Source layout and anti-bot changes can temporarily affect extraction.
  • Deleted or unavailable profiles cause an explicit failure.
  • A full video link in profile bio is preserved as a destination or social URL; the Actor does not download the video.

Responsible use and legality

Only process data you are authorized to collect and use. Public availability does not remove obligations under privacy, marketing, consumer-protection, copyright, or database laws.

Before outreach:

  • verify that your purpose and legal basis are appropriate;
  • respect opt-outs, suppression lists, and applicable anti-spam rules;
  • avoid sensitive-person profiling or discriminatory use;
  • minimize retained personal data;
  • secure exports and API tokens;
  • follow Linktree, Beacons, and linked-platform terms;
  • review records before automated contact.

The Actor reports owner-published contact values without claiming that they are verified, current, or intended for every kind of outreach.

Troubleshooting

“Only public Linktree and Beacons profile URLs are supported”

Check that every input is a complete URL on linktr.ee or beacons.ai and includes a username path. Social profile URLs and generic websites are not accepted.

The run succeeded but emails is empty

The profile did not visibly publish a parseable email address at extraction time. Check socialLinks and destinationLinks; those fields may still support your research. The Actor intentionally does not infer an email.

A Beacons profile failed after two attempts

The source may have returned an anti-bot challenge, an incomplete page, or a temporary network failure. Inspect the run log and retry later if the public profile still opens normally. Do not replace the URL with a private or account-only page.

Why are there fewer records than input URLs?

Exact duplicate profile URLs are normalized and processed once. maxItems can also stop the run before every unique URL is processed.

Can I supply usernames without URLs?

No. Full URLs keep source selection explicit and avoid ambiguous usernames across Linktree and Beacons.

FAQ

Does the Actor verify email deliverability?

No. It extracts email addresses displayed on the public profile. Use an appropriate verification workflow separately when required and lawful.

Does it scrape linked websites for more emails?

No. Destination links are returned, but the Actor does not crawl those external sites. This keeps scope, cost, and provenance clear.

Can I schedule profile enrichment?

Yes. Create an Apify schedule with the same input URL list. Each run creates a current dataset snapshot that your downstream workflow can compare.

Are profiles charged when extraction fails?

The one-time start event is charged when the run initializes. The item event is charged only for a normalized record that reaches the output path.

Not currently. The validated contract covers public Linktree and Beacons profile URLs only.

Does it download images or videos?

No. It returns public avatar and destination URLs where available.

Choose this Actor when Linktree and Beacons pages are the source of truth and you already have the profile URLs.