ContactInBio Scraper — creator socials, email, music & stores
Pricing
from $2.97 / 1,000 results
ContactInBio Scraper — creator socials, email, music & stores
Pull structured ContactInBio creator link-in-bio profiles as JSON: socials, public email, music, payment, video, smart-link and product counts, plus store presence — fast, no browser needed, ideal for enrichment and AI apps.
Pricing
from $2.97 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
ContactInBio Scraper - Creator Socials, Emails and Store Links
The ContactInBio Scraper turns public ContactInBio link-in-bio pages into structured creator profiles. It returns the username, display name, biography, avatar, public email, ordered links, social accounts, music links, payment links, video links, smart links, contact form fields, store presence and product counts.
Use it for creator discovery, influencer outreach, affiliate research, CRM enrichment and link-in-bio analysis. Submit full profile URLs or usernames, and the Actor tries the supported ContactInBio domains until one resolves. No browser, login or contact form submission is required.
Main Use Cases for Creator Link-in-Bio Data
- Creator lead generation - turn a list of usernames into profiles with public emails, socials and store links.
- Influencer outreach - qualify creators by bio, platform mix, store presence and contact form availability.
- Affiliate and commerce research - see which creators link to stores, products, music or payment pages.
- Cross-platform identity mapping - connect a ContactInBio page to Instagram, TikTok, YouTube, LinkedIn and other public profiles.
- Agency prospecting - build niche creator lists for talent agencies and brand campaigns.
- CRM enrichment - append social handles, a public email and link categories to existing creator records.
- AI creator research - provide an LLM with compact, source-linked creator rows instead of raw link-in-bio pages.
How It Works

Provide full ContactInBio profile URLs in startUrls, or usernames in usernames. A username is tried across <user>.contactin.bio, <user>.ctcin.bio, <user>.contactinbio.com and allmy.link/<user> until one resolves. Use usernames when you have a bare handle and full URLs when you already know the domain.
The parser reads the public profile payload for the username, display name, biography, avatar and public email. It classifies each visible button into social, music, payment, video or smart-link categories, while keeping the complete ordered links array. The first domain that resolves becomes profileUrl and domain.
Counts make the row easy to filter: linkCount, socialCount, musicCount, paymentCount, videoCount, smartLinkCount and productCount. hasStore and products show whether the creator runs a storefront through the page. The contact form object records whether a form exists and which fields it exposes, without submitting the form.
maxConcurrency controls parallel profile fetches and the Apify proxy is enabled by default. The free preview stops after 10 profiles. A profile can have no public email, no social links or no store; empty arrays and null email are valid results rather than scraper failures.
Some usernames are inactive on the first domain but active on another, which is why the domain fallback exists. If a username resolves to a challenge page or a deleted profile, the Actor does not invent a profile. Keep the submitted username and the observed profileUrl to audit which domain resolved.
Input
Use full profile URLs for precision or usernames for domain discovery. Item and concurrency limits keep large creator lists bounded.
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
startUrls | string[] | No | Empty | Direct ContactInBio profile URLs, including contactin.bio, ctcin.bio, contactinbio.com or allmy.link. |
usernames | string[] | No | Empty | Usernames without @. Each is tried across the supported domains until one resolves. |
maxItems | integer | No | 100 | Maximum profiles saved. Free users are capped at 10. |
maxConcurrency | integer | No | 5 | Number of profile pages fetched in parallel. |
proxyConfiguration | object | No | Apify Proxy | Proxy settings. Residential groups are recommended for higher success on protected pages. |
A run needs at least one URL or username. If both are supplied, the Actor processes both and avoids duplicate profiles. Use maxItems deliberately because the free preview stops at 10 profiles regardless of the configured value. Lower concurrency if a batch starts returning challenge pages.
Output
A creator profile has 25 top-level fields. Identity, contact, categorized links, store data and counts are separated so the row works in a CRM, a spreadsheet or an LLM context.
| Field group | Fields | What you get |
|---|---|---|
| Identity | username, profileUrl, domain, displayName, bio, avatarUrl | Resolved username, canonical profile URL, host, display name, biography and avatar. |
| Contact | email, contactForm | Public email found on the page and the fields exposed by a contact form without submitting it. |
| Links | links, socialLinks, musicLinks, paymentLinks, videoLinks, smartLinks | Complete ordered links plus categorized subsets for socials, music, payments, videos and smart links. |
| Store | hasStore, products | Whether a storefront is present and the public product entries when exposed. |
| Counts | linkCount, socialCount, musicCount, paymentCount, videoCount, smartLinkCount, productCount | Precomputed counts for filtering and scoring creators. |
| Source | scrapedAt | Observation timestamp for the profile snapshot. |
email, bio and avatarUrl can be null, and category arrays can be empty. links is the complete ordered list, so a social button can appear in both links and socialLinks. contactForm.fields lists field names only; the Actor never submits the form. products can be empty even when hasStore is true if the storefront is rendered elsewhere.
Pricing
Pricing is pay-per-event. A tiny start event is charged per run and each saved profile is charged as one result.
| Event | FREE | BRONZE | SILVER | GOLD+ |
|---|---|---|---|---|
| Actor start, per run | $0.00005 | $0.00005 | $0.00005 | $0.00005 |
| Profile result | $0.003 | $0.00299 | $0.00298 | $0.00297 |
That is $3.00 per 1,000 profiles on FREE, falling to $2.97 per 1,000 on GOLD+, plus the start fee. The free preview returns at most 10 profiles. You are charged for saved profile rows, not for usernames that fail to resolve.
Example Input
{"usernames": ["edwin","examplecreator"],"maxItems": 50,"maxConcurrency": 5,"proxyConfiguration": {"useApifyProxy": true}}
This tries two usernames across the supported domains and keeps up to 50 profiles. Use full URLs instead when the exact ContactInBio host matters.
Example Output
{"username": "edwin","profileUrl": "https://edwin.contactin.bio/","domain": "edwin.contactin.bio","displayName": "Edwin","bio": "Creator, builder and occasional DJ.","avatarUrl": "https://contactinbio.com/upload/example.jpg","email": "hello@example.com","links": [{"label": "Instagram","url": "https://www.instagram.com/example","type": "social","platform": "Instagram","icon": "ti-instagram"},{"label": "New track","url": "https://open.spotify.com/track/example","type": "music","platform": "Spotify","icon": "ti-music"}],"socialLinks": [{"label": "Instagram","url": "https://www.instagram.com/example","type": "social","platform": "Instagram","icon": "ti-instagram"}],"musicLinks": [{"label": "New track","url": "https://open.spotify.com/track/example","type": "music","platform": "Spotify","icon": "ti-music"}],"paymentLinks": [],"videoLinks": [],"smartLinks": [],"contactForm": {"hasForm": true,"fields": ["name","email","message"],"userId": "61042","email": null},"hasStore": false,"products": [],"linkCount": 2,"socialCount": 1,"musicCount": 1,"paymentCount": 0,"videoCount": 0,"smartLinkCount": 0,"productCount": 0,"scrapedAt": "2026-10-25T17:10:01.879Z"}
Values are illustrative and shortened. A link can appear in both links and a category array; use the category counts for filtering and the ordered links array for funnel analysis. An empty email is not a failed profile.
Integrations and Automation
Use the Apify API, Apify MCP, scheduled tasks, Zapier, Make, n8n or a custom worker. Export profiles as JSON, CSV, Excel, XML or HTML, or push rows to Google Sheets, Airtable, a CRM, a creator database or a webhook.
For outreach, deduplicate on profileUrl and then on normalized email. Keep links and the category arrays separate: a creator may list the same Instagram account as a social button and inside a smart link.
For trend monitoring, schedule a monthly run and compare links, hasStore, productCount and the category counts. Keep scrapedAt so a new store or campaign has an observation date.
Related Actors
- Linktree, Beacons and Bio Email Scraper - multi-platform bio-link profiles with public emails and ordered links.
- Linktree Lead Scraper - creator profiles, emails and social identities from Linktree.
- Linkpop Scraper - Shopify creator storefronts and link-in-bio data.
FAQ
Do I need a ContactInBio account?
No. The Actor reads public profile pages and does not log in, submit contact forms or send messages.
Can I use usernames instead of URLs?
Yes. The Actor tries the supported ContactInBio domains for each username and uses the first one that resolves. Full URLs are more precise.
Where does the public email come from?
The Actor reads an email exposed on the public profile or in its contact form payload. It does not guess an address from the username or display name.
Why are some category arrays empty?
The creator may not use that type of link, or the button may not be classifiable. Check the complete links array as well as the category subsets.
What does hasStore mean?
It indicates that a storefront section is present. products can still be empty if the store is rendered by an external platform.
How many profiles can one run return?
The free preview stops at 10 saved profiles. Paid runs are limited by maxItems and by which usernames resolve.
For AI Agents and LLM Apps
The Actor returns compact creator profiles with source URLs, public emails, categorized links, store signals and counts. It is suitable for creator discovery, lead enrichment and link-in-bio analysis through the Apify API or Apify MCP.
- One row represents one public ContactInBio profile. Use
profileUrlor the resolvedusernameas the key. linksis the complete ordered array; category arrays are subsets. Do not assume a link appears in only one array.email,bioandavatarUrlcan be null. Empty arrays are valid and do not imply a scraper failure.contactForm.fieldslists form fields only. The Actor does not submit the form or collect messages.- The free preview is limited to 10 profiles, and every saved profile is billed as a result.
Legal and Compliance
This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by ContactInBio. It reads publicly visible profile data for creator research and legitimate outreach. The terms of the source platform and applicable privacy law still apply.
Creator profiles can contain personal data, including names, images, email addresses and social handles. Use the data for a lawful purpose, honor deletion and opt-out requests, and do not use it to build unsolicited bulk mail lists or to harass creators.
SEO Keywords
ContactInBio scraper, ContactInBio API alternative, creator link in bio data, ContactInBio profiles, creator email scraper, influencer lead generation, link in bio scraper, creator social links, ContactInBio dataset, influencer email finder, creator store data, bio link data, ContactInBio scraping tool, creator CRM enrichment, social handle scraper, music link scraper, payment link data, creator discovery tool, link in bio API, ContactInBio usernames