Beacons Profile & Links Scraper
Pricing
from $0.75 / 1,000 profiles
Beacons Profile & Links Scraper
Extract public Beacons profiles in structured JSON with identities, biographies, social destinations, featured links, public emails, images, media, video URLs and SEO metadata. Useful for creator research, link-in-bio analysis and competitor monitoring.
Pricing
from $0.75 / 1,000 profiles
Rating
0.0
(0)
Developer
DataScraperES
Maintained by CommunityActor stats
0
Bookmarked
16
Total users
8
Monthly active users
2 days ago
Last modified
Categories
Share
Turn public Beacons usernames or profile URLs into structured records with creator identity, biographies, featured links, social destinations, public emails, and media when available. Submit one profile or a batch, then export the results from Apify.
What this Actor does
The Actor normalizes submitted profile references, removes duplicate profiles, and collects the information available on each public profile page. It saves successful profiles and non-billable collection status records in the Dataset.
Results can include a display name, biography, avatar, featured links, social destinations, public emails, image and video URLs, and SEO metadata. The available links may be a subset of the buttons shown on the Beacons page; a successful profile record does not guarantee a complete button list.
Use cases
- Research creators, brands, competitors, and link-in-bio strategies.
- Enrich CRM, directory, or outreach-review records with public profile data.
- Audit outbound links, social destinations, public emails, and embedded media.
- Compare profile content and destinations across creator platforms.
How to use
- Add one or more Beacons usernames or public profile URLs.
- Start the Actor from Apify Console.
- Open the Dataset when the run finishes.
- Export the structured profile rows in your preferred format.
Follow preparation, collection, and saving progress in the run's log while it is working. The final message distinguishes complete collection from a partial result; check the Dataset and run summary for the outcome.
Input
| Field | Required | Accepted values |
|---|---|---|
profiles | Yes | An array of one to five hundred non-empty strings: Beacons usernames, @usernames, or public beacons.ai profile URLs. |
The Console example starts with beacons; provide the profiles array when supplying your own input. Usernames are normalized to lowercase. Different references to the same profile are processed only once within the run. References from other platforms or unsupported profile paths produce an invalid-input status record and are not charged as successful profiles. Do not add fields outside this input contract.
This exact input produced the complete output below:
{"profiles": ["beacons"]}
Output
Each Dataset item represents either a collected profile or a non-billable collection outcome. Use ok and status to distinguish successful profiles from invalid or unavailable references before importing results into another system.
| Fields | How to interpret them |
|---|---|
profileUrl, slug, username, displayName | Profile identity and public display name. |
bio, bioParagraphs, textBlocks | Available biography text, which may be repeated in different representations. |
links, socialLinks, linksCount, socialLinksCount | Available destinations and the counts of their returned arrays. |
emails, emailsCount | Email addresses explicitly available in the public page content. |
avatarUrl, profileImage, media, videoLinks, videoCount | Available image and video references; videos are URLs, not downloaded files. |
seo, theme | Available page metadata and theme color. |
ok, status, warnings, capturedAt | Collection outcome, data limitations, and capture time. |
Empty arrays and null values are retained. profileId and groupSections are currently unpopulated; contentBlocks summarizes returned links rather than reproducing the complete page layout. Image and media URLs hosted by the source platform can expire. Export Dataset items as JSON or use Apify's other available export formats; JSON preserves the nested structure.
The RUN_STATS record in the default Key-Value Store summarizes successful profiles, outcome counts, and any unprocessed profiles. A partial summary means that some requested work was unavailable or could not be finished. Already saved rows remain available; a finished run alone does not establish that every requested profile was collected. The summary can be unavailable if reporting could not finish.
This is the complete first Dataset item from a real successful run:
{"recordType": "profile","ok": true,"status": "ok","profileUrl": "https://beacons.ai/beacons","slug": "beacons","profileId": null,"username": "beacons","displayName": "@beacons","pageTitle": "@beacons | Sign up for free, 💰 Beacons Smart Reply | Beacons","description": "Beacons.ai","bio": "Beacons.ai","bioParagraphs": ["Beacons.ai"],"textBlocks": [{"text": "Beacons.ai","position": 0,"source": "json_ld_or_meta"}],"avatarUrl": "https://cdn.beacons.ai/user_content/AHnOl9MMnuMm1Z7JLxNaIU5g9qU2/profile_beacons.gif?t=1774978729639","profileImage": {"url": "https://cdn.beacons.ai/user_content/AHnOl9MMnuMm1Z7JLxNaIU5g9qU2/profile_beacons.gif?t=1774978729639","alt": "@beacons","source": "json_ld_or_meta"},"backgroundImageUrl": "https://cdn.beacons.ai/user_content/AHnOl9MMnuMm1Z7JLxNaIU5g9qU2/profile_beacons.gif?t=1774978729639","profileSocialUrl": null,"links": [{"title": "Featured link","url": "https://beacons.ai/signup","kind": "link","platform": null,"position": 0,"source": "json_ld"}],"socialLinks": [],"groupSections": [],"contentBlocks": [{"blockType": "link","title": "Featured link","url": "https://beacons.ai/signup","position": 0}],"emails": [],"emailsCount": 0,"theme": {"themeColor": "#000000"},"seo": {"title": "@beacons | Sign up for free, 💰 Beacons Smart Reply | Beacons","description": "Beacons.ai","canonicalUrl": "https://beacons.ai/beacons","themeColor": "#000000","ogUrl": "https://beacons.ai/beacons","ogTitle": "@beacons | Sign up for free, 💰 Beacons Smart Reply | Beacons","ogDescription": "Beacons.ai","ogImage": "https://cdn.beacons.ai/user_content/AHnOl9MMnuMm1Z7JLxNaIU5g9qU2/profile_beacons.gif?t=1774978729639","ogType": "website","ogSiteName": "Beacons","twitterCard": "summary_large_image","twitterTitle": "@beacons | Sign up for free, 💰 Beacons Smart Reply | Beacons","twitterDescription": "Beacons.ai","twitterImage": "https://cdn.beacons.ai/user_content/AHnOl9MMnuMm1Z7JLxNaIU5g9qU2/profile_beacons.gif?t=1774978729639"},"media": [{"kind": "image","url": "https://cdn.beacons.ai/user_content/AHnOl9MMnuMm1Z7JLxNaIU5g9qU2/profile_beacons.gif?t=1774978729639","title": "@beacons","position": 0,"source": "json_ld_or_meta"}],"linksCount": 1,"socialLinksCount": 0,"videoCount": 0,"videoLinks": [],"warnings": ["full_button_list_not_available_from_public_html"],"httpStatus": 200,"requestAttempts": 1,"finalUrl": "https://beacons.ai/beacons","capturedAt": "2026-10-21T10:08:07.353664+00:00"}
Pricing
The Actor uses pay-per-event pricing. One successfully collected profile saved to the default Dataset triggers one profile-item event. The actual charge is per successful profile; the 1,000-profile column is an equivalent for comparison.
| Apify plan | Price per successful profile | Equivalent per 1,000 successful profiles |
|---|---|---|
| Free | $0.00100 | $1.00 |
| Bronze | $0.00090 | $0.90 |
| Silver | $0.00080 | $0.80 |
| Gold | $0.00075 | $0.75 |
| Platinum | $0.00075 | $0.75 |
| Diamond | $0.00075 | $0.75 |
Apify selects the applicable price from the customer's plan. Invalid references, duplicate references removed within the run, unavailable or not-found profiles, and status records do not trigger a profile charge. There is no start fee or separate video charge. Check the Actor's Pricing tab for the current prices before running it.
Related Actors
| Actor | Best for |
|---|---|
| Linktree Profile & Links Scraper | Collecting Linktree profile identities, pinned links, themes, and social destinations. |
| Bio Sites Profile & Links Scraper | Extracting content sections, links, social destinations, and media from Bio Sites profiles. |
| Lnk.Bio Profile Scraper | Extracting grouped links, public contact details, media, and SEO data from Lnk.Bio. |
| Taplink Profile Scraper | Collecting Taplink text blocks, links, social destinations, themes, and public contact data. |
Limits and data quality
The five hundred reference limit is a maximum input size, not a guaranteed result count. Only publicly accessible information can be returned. Private, deleted, unavailable, regionally restricted, or temporarily blocked profiles may produce a status record instead of a successful profile. A run's spending or time limit can leave some profiles unprocessed; those profiles may have no Dataset row, so also check RUN_STATS.
The Actor does not guarantee every button, page section, custom design, or embedded item shown on Beacons. Returned counts describe the arrays collected, not a verified total for the whole page. Counts, links, page content, and signed media URLs can change after collection. A successful profile can still have empty contact, social, or media fields.
Profiles whose content is too large or unusually complex to collect safely produce an uncharged status record. Other profiles in the input can still be collected.
Frequently asked questions
Can I submit usernames and full URLs together?
Yes. Both forms are normalized and duplicates are removed within the run.
Why is a field empty?
The public profile may not expose that field, the content may be intentionally hidden, or the source may have changed. Check the item's status and warnings before treating an empty value as an error.
Does the Actor open or crawl every external link?
No. It extracts the destinations and public metadata exposed on the profile; it does not crawl the external websites behind those links.
Can a run finish with fewer successful profiles than I submitted?
Yes. Duplicate references are removed, some profiles may be unavailable, and the run may reach its spending or time limit. Check each item's status and the RUN_STATS summary. Only successfully collected profiles trigger the profile event charge.
Will resurrecting a run collect unavailable profiles again?
Resurrection resumes unfinished work and preserves results already recorded, including unavailable-profile outcomes. To collect those profiles again after a temporary source problem, start a new run with just the affected references. A run may stop if it cannot safely verify a previous result or charge; repeating an uncertain operation could create duplicates.
Responsible use
Use only publicly available information for lawful purposes. Respect Beacons's terms, applicable privacy and data-protection laws, copyright, and profile-owner rights. Do not use the output for harassment, discrimination, deceptive activity, or unsolicited outreach without the required permission.
Support
Open an issue in the Actor's Issues tab with the run ID, affected public profile reference, returned status, and expected result. Never include passwords, tokens, or private credentials.