Hugging Face Profile Email Scraper avatar

Hugging Face Profile Email Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Hugging Face Profile Email Scraper

Hugging Face Profile Email Scraper

Hugging Face Profile Email Scraper SD - Hugging Face Profile Email Scraper is a lead generation tool that extracts leads with public contact emails, bio, follower counts and profile URLs from Hugging Face profile URLs or usernames - Hugging Face profile scraper for creator outreach.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

Neuro Scraper

Neuro Scraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Categories

Share

Hugging Face Profile Email Scraper builds a clean contact table two ways. Give it keywords and it harvests Hub accounts that publish a contact address; give it profile URLs or usernames for accounts you already have.

A keyword run is not a word match. The Hugging Face Profile Email Scraper asks Google for indexed Hub pages carrying both your term and a published address, then fetches every account it finds for profile data and merges the two into one row.

Keywords, URLs and handles combine freely in one run, and only one of them is required. Use keywords when you have no list yet, and profile URLs or usernames when you do.

One important fact up front: Hugging Face profiles expose a name, bio and avatar rather than follower statistics. So followersCount, followingCount, postsCount and the account flags usually come back null, and this Hugging Face Profile Email Scraper does not pretend otherwise.

Second important fact: this Hugging Face Profile Email Scraper reads the public profile page, plus public search results for pages the Hub published. It never opens model cards, dataset cards, repository files, commit metadata, Spaces code, discussion threads or comments.

The Hugging Face Profile Email Scraper uses no login, no cookies, no private or official API and no browser rendering. Everything it collects is what a signed-out visitor sees.

What the Hugging Face Profile Email Scraper does

The Hugging Face Profile Email Scraper runs in two phases, and the order is the whole design: it harvests accounts and addresses first, then fills in the profile data.

Phase 1 — Google harvest, on the GOOGLE_SERP proxy. When keywords are given, the Hugging Face Profile Email Scraper searches Google with an email dork — site:huggingface.co speech recognition "@gmail.com" — instead of searching for the term on its own.

Each query is expanded across your keywords, the query modifiers and the address domains, and paged up to maxPagesPerKeyword. Each result block yields the account handle and the address published on that page in one request.

Google no longer prints the target URL on most layouts, so the handle comes from what it does print: the "Hugging Face - handle" site label, the breadcrumb, or a Name (@handle) title. This is where the volume and most of the addresses come from: those pages already carry the address.

Phase 2 — profile enrichment, on the RESIDENTIAL proxy. Every account found is then fetched for its real profile data — name, bio, avatar, external link — and merged into one row with the address from phase 1. Accounts you supplied skip phase 1 and start here.

Each target is normalised to a canonical https://huggingface.co/{username} URL first: a bare handle, an @handle and a full URL all resolve to the same target, and duplicates are dropped.

The fetch uses async HTTP with several profiles in flight, and every retry requests a fresh exit IP. The first attempt sends a full Chrome header set and a retry falls back to a plain one.

Parsing in the Hugging Face Profile Email Scraper runs as a regex-first cascade. A regex battery is run against the raw HTML first, matching field key names directly; the generic parser and Open Graph meta tags then fill only the fields the earlier step could not find.

Finally the Hugging Face Profile Email Scraper merges the harvested address with any it finds in the bio, display name and external URL, and pushes one dataset row per account immediately, saving progress as it goes.

Finding accounts by keyword

Keyword input is a real harvest of Hub accounts, not a filter over URLs you supplied. expandQueries is on by default, so each keyword is also searched with the query modifiers — email, contact, maintainer, author, support here — and with each address domain in turn.

The harvest runs on the Apify GOOGLE_SERP proxy, with location appended to each term when you set it and maxPagesPerKeyword deciding how deep each query reads. The profile fetch stays on the RESIDENTIAL proxy, because neither proxy group can do the other's job.

The Hugging Face Profile Email Scraper enriches every account discovered exactly like one you supplied: same canonical URL, same regex-first cascade, same row shape. Keyword search only decides which accounts get read.

Why teams use this Hugging Face email finder

AI/ML talent sourcing is hard because the good candidates are not on job boards. They are model authors and dataset maintainers with a public bio and a link tree, and this Hugging Face bio email extractor reads exactly that.

Recruiters use the Hugging Face Profile Email Scraper because the Hub is a pre-selected community of ML specialists. Developer relations and dev-tool marketing teams use this Hugging Face lead generation workflow to reach maintainers whose work touches their stack.

Because the Hugging Face Profile Email Scraper only surfaces addresses people chose to publish on an indexed public page or in their own bio, it fits a respectful outreach motion.

Key features

FeatureWhat it means in practice
Google harvestkeywords finds accounts publishing an address, with the handle and the address in one result.
Profile enrichmentEvery account found is then fetched for name, bio, avatar and external link.
Query expansionexpandQueries and queryModifiers search each keyword in several phrasings.
URL or handle inputprofileUrls and usernames are merged, normalised and deduplicated.
Public page onlyNo login, no cookies, no private API, no browser rendering.
Two proxiesGOOGLE_SERP for the harvest, RESIDENTIAL for the profile fetch.
Email hygieneObfuscated addresses are decoded, placeholders and prose words dropped.
Domain controlcustomDomains sets the domains the harvest asks for and filters what is kept.
Email-only modeonlyWithEmail skips accounts with no address found.
Parallel fetchingmaxConcurrency from 1 to 30 profiles and searches at a time.
Resumable runsProgress is keyed to a hash of the input; a restarted run continues.
RetriesUp to 4 attempts per page, exponential backoff, fresh exit IP each time.
Honest nullsFields Hugging Face does not publish come back null or "".

Email hygiene inside the Hugging Face Profile Email Scraper

The same hygiene applies to harvested and bio addresses alike. Obfuscation is undone before matching, so [at], (dot), spaced a @ b, zero-width characters and full-width are all handled, and domain matching is boundary-correct so @gmail.com does not match inside @gmail.company.

The Hugging Face Profile Email Scraper drops placeholder locals such as email@, yourname@, example@ and noreply@, along with prose words used as locals. Real role addresses like hi@ and hello@ are kept, because researchers and labs use them.

Input schema

The Hugging Face Profile Email Scraper ships exactly these inputs, with no hidden switches.

FieldTypeDefaultMeaning
keywordsarrayprefilled with example termsSearch terms. The Actor harvests Hub accounts publishing an address alongside each term, then enriches every one.
locationstring""Added to every keyword search, e.g. New York. Keyword search only.
maxPagesPerKeywordinteger 1-305Google results pages read per query. Raise to find more accounts. Keyword search only.
expandQueriesbooleantrueSearch each keyword in several phrasings (keyword + email, + contact, ...) to reach accounts a single query misses. Keyword search only.
queryModifiersarrayemail, contact, maintainer, author, supportExtra words combined with each keyword when expansion is on.
profileUrlsarray[]Full profile URLs. Bare usernames also accepted.
usernamesarray[]Handles without the URL. Combined with the list above.
customDomainsarray[]Domains the keyword search asks Google for, and a filter on the addresses kept. Empty searches the common free-mail providers and keeps every address found.
onlyWithEmailbooleanfalseSkip accounts for which no public address was found.
maxProfilesinteger 1-100000100Stop after this many profiles are saved.
maxConcurrencyinteger 1-3010How many profiles are fetched, and Google searches run, in parallel. Higher is faster; lower it if rows come back blocked.
proxyGroupselectRESIDENTIALRESIDENTIAL, BUYPROXIES94952 or UNBLOCKER.
countryCodestring""Two-letter proxy country (US, GB, DE...). Empty for any.

Input example

Both ways in, in one run. Drop keywords to enrich a list you have, or drop the URL lists to let the Hugging Face Profile Email Scraper find the accounts for you.

{
"keywords": [
"speech recognition",
"dataset maintainer"
],
"location": "",
"maxPagesPerKeyword": 5,
"expandQueries": true,
"queryModifiers": [
"email",
"contact",
"author"
],
"profileUrls": [
"https://huggingface.co/username",
"third-user"
],
"usernames": ["fourth_user"],
"customDomains": [],
"onlyWithEmail": true,
"maxProfiles": 100,
"maxConcurrency": 10,
"proxyGroup": "RESIDENTIAL",
"countryCode": ""
}

Output schema

Every dataset row from the Hugging Face Profile Email Scraper has the fields below, whether or not the platform published a value for each one.

FieldMeaning
successTrue when the profile was fetched and parsed, or an address was found for the account. A blocked profile fetch still yields a usable row when the harvest supplied an address.
networkPlatform name
dataSourceWhich path produced the profile data: always page here
keywordThe keyword that found this account, or null for a supplied URL
queryThe exact Google query that found it, or null
descriptionThe result snippet Google showed, cleaned of labels and counters
profileUrlThe canonical profile URL that was requested
urlThe URL actually returned, after redirects
usernameHandle
fullNameDisplay/real name as published
displayNameHandle or title the platform shows
emailFirst public email found, or null
emailsEvery public email found, deduplicated
emailSourceWhere the addresses came from: search (the Google harvest, the common value on a keyword run), bio (the profile page), bio+search, or null
bioPublic bio / description text
avatarUrlProfile picture URL
errorWhy a row failed, or null
scrapedAtISO 8601 UTC timestamp

Output example

A single row exactly as the Hugging Face Profile Email Scraper writes it. The null counts are the honest shape of a Hugging Face row, not a failure.

{
"success": true,
"network": "Hugging Face",
"dataSource": "page",
"keyword": "speech recognition",
"query": "site:huggingface.co speech recognition contact \"@gmail.com\"",
"description": "Jordan Ellis - ML engineer working on small language models and evaluation. Collabs: jordan.ellis at example.com",
"profileUrl": "https://huggingface.co/username",
"url": "https://huggingface.co/username",
"username": "username",
"fullName": "Jordan Ellis",
"displayName": "username",
"email": "jordan.ellis@example.com",
"emails": ["jordan.ellis@example.com"],
"emailSource": "bio+search",
"bio": "ML engineer, small language models and evaluation. Collabs: jordan.ellis@example.com",
"avatarUrl": "https://huggingface.co/avatars/example.png",
"error": null,
"scrapedAt": "2026-08-29T10:15:42.117Z"
}

How to use the Hugging Face Profile Email Scraper step by step

  1. Start from a keyword if you have no list yet. Put terms such as speech recognition into keywords and the Hugging Face Profile Email Scraper harvests Hub accounts publishing an address alongside that term.
  2. Optionally set location to bias that search, and raise maxPagesPerKeyword from 5 to reach further down the results.
  3. Leave expandQueries on so each keyword is also searched with queryModifiers; edit that list to steer the harvest towards your niche.
  4. Or build the target list yourself: browse the Hub by library, task or organisation and collect the handles you want to reach.
  5. Paste those URLs into profileUrls, or bare handles into usernames. Mixing keywords, URLs and handles is fine; duplicates are removed automatically.
  6. Set onlyWithEmail to true if you only want rows that already carry an address. Leave it false to keep the full public dataset.
  7. Add domains to customDomains if you only want, say, university or company addresses — they set what the harvest asks Google for and filter what is kept.
  8. Set maxProfiles to your batch size and leave maxConcurrency at 10. Lower it if you start seeing blocked rows.
  9. Keep proxyGroup on RESIDENTIAL. Set countryCode only if you have a reason to pin the exit country.
  10. Run it, then export the dataset as CSV, JSON or Excel, or pull it into your CRM through the Apify API or an integration.

A good habit: run 10 profiles first, check the rows, then scale. The Hugging Face Profile Email Scraper is resumable, so a restarted run continues instead of refetching.

Use cases

A keyword run returns model authors who published a way to reach them, not every account that happens to contain the word.

AI/ML talent sourcing. Turn a shortlist of model authors into a contact list for recruiting outreach, with the public bio attached as context for a personalised first message.

Developer relations. Reach maintainers whose models or datasets build on your library, using this Hugging Face contact discovery step as the enrichment stage of your pipeline.

Research collaboration. Collect public contact points for authors working on the same task or benchmark, without hunting each profile by hand.

Lead enrichment. You already have handles in a spreadsheet or CRM. The Hugging Face Profile Email Scraper fills in name, public bio, avatar, external link and email against each one.

Community management. Keep a roster of open source contributors current, with scrapedAt on every row.

Limitations

The real boundaries of the Hugging Face Profile Email Scraper, worth reading before a large batch.

Statistics are usually absent. followersCount, followingCount, postsCount, likesCount and the account flags typically come back null.

Public profile pages and public search results only. No model cards, dataset cards, Spaces, repository files, commit metadata or discussion threads. The harvest reads Google results for pages the Hub published.

Yield varies. The harvest asks for pages that publish an address, so most keyword rows carry one — but how many depends on the niche, and there is no rate to promise.

Keyword search needs the GOOGLE_SERP proxy. It is the only route to Google, so a keywords-only run fails with a clear message without it. A run that also supplies profile URLs warns and continues.

No email is invented. If nothing was published on an indexed page or in the bio, email and emailSource are both null. The Hugging Face Profile Email Scraper finds published addresses; it never pattern-builds them.

Public data only. No login, no cookies, no private or official API, no browser and no JavaScript rendering. Anything a signed-out visitor cannot see is not collected.

Blocking happens. Pages can rate-limit or redirect to a login screen. The Hugging Face Profile Email Scraper retries up to 4 times with a fresh exit IP; a blocked fetch with no harvested address returns success: false and a reason in error.

Plan cap and compliance. The free Apify plan caps a run at 100 profiles; paid plans are uncapped and maxProfiles accepts up to 100000. Verify your own legal basis under GDPR, CAN-SPAM and local rules before contacting anyone.

Pricing and run behaviour

The Hugging Face Profile Email Scraper is pay-per-event. It charges actor-start once per run and profile-scraped for each row saved to the dataset.

Rows stream as they are found: enrichment starts the moment the harvest finds an account, so the first rows save seconds into a run and keep arriving while the search continues. Each row is logged as written, naming the handle, the address and the counts found.

At the end the run reports counts of ok, blocked, not found and errors.

Progress is keyed to a hash of the input. A migrated or restarted run continues where it left off; changing the input starts a clean run.

FAQ about the Hugging Face Profile Email Scraper

How does keyword search work? In two phases. First a Google harvest on the GOOGLE_SERP proxy, using an email dork — site:huggingface.co <keyword> "@gmail.com" — expanded across keywords, query modifiers and address domains and paged up to maxPagesPerKeyword, so each result yields a handle and a published address together. Then profile enrichment on the RESIDENTIAL proxy, merging both into one row.

Why harvest first instead of just fetching profiles? Because pages that already carry an address return handles and emails in the same request, while fetching every profile and hoping for a bio address is one request each, and most bios have none.

Do profile URLs and usernames still work? Yes, unchanged. Supply profileUrls, usernames, keywords or any combination; accounts you list directly skip the harvest and are enriched first, then whatever the harvest discovers.

What are keyword, query and description for? The term that found the account, the exact Google query that found it, and the result snippet Google showed, cleaned of labels and counters. All three are empty for an account you supplied directly.

Why is success true on a row with no profile data? Because success is true when the profile was fetched or an address was found. A blocked fetch on an account the harvest already had an address for still gives you a usable contact row.

Does the Hugging Face Profile Email Scraper return follower counts? Usually not. Hugging Face profiles expose a name, bio and avatar rather than follower statistics, so those fields are normally null. The Instagram, TikTok, YouTube, Twitch, Pinterest, Threads, SoundCloud and Mastodon siblings are the ones that return full statistics.

Does the Hugging Face Profile Email Scraper read model cards or repository files? No. It reads the public profile page and public search results for pages the Hub published. Model cards, dataset cards, Spaces, commit metadata and discussions are never opened, so an address buried in a README will not appear.

Can the Hugging Face Profile Email Scraper find private or hidden email addresses? No. It only surfaces addresses a person published on an already-indexed public page or in their own bio, display name or external link. There is nothing hidden or private in the output.

Do I need a Hugging Face account or API key? No. There is no login, no cookies, no private or official API and no browser rendering. The Hugging Face Profile Email Scraper fetches the same page an anonymous visitor gets.

What if a profile has no email? The Hugging Face Profile Email Scraper still saves the row with email and emailSource set to null, unless onlyWithEmail is true, in which case it is skipped.

Why is dataSource always page? Because the profile data has one route here: fetch and parse the public page. The api and api+page values exist in the shared schema for the TikTok sibling only.

Can I filter to company or university domains? Yes. customDomains does two jobs: it sets the address domains the harvest asks Google for, and it filters what is kept. Leave it empty to search the common free-mail providers and keep everything found.

Some rows came back with success: false. What now? The page was blocked or unreachable after 4 attempts and no address was harvested either. Lower maxConcurrency, keep proxyGroup on RESIDENTIAL, and rerun the failed handles.

Can I use the output for cold email campaigns? That is your decision and your legal responsibility. The Hugging Face Profile Email Scraper gives you published contact points; consent, opt-out handling and local law are on you.

The Hugging Face Profile Email Scraper is one of 30 profile Actors sharing the same engine, input schema and output schema.

ActorWhat it collects
Hugging Face Profile Email and Phone Number ScraperEmails, phone numbers and profile details from Hugging Face
Hugging Face Profile Phone Number ScraperPhone numbers plus bio and follower counts from Hugging Face profiles
Behance Profile Email ScraperEmails plus bio and follower counts from Behance profiles
Bluesky Profile Email ScraperEmails plus bio and follower counts from Bluesky profiles
Buy Me a Coffee Profile Email ScraperEmails plus bio and follower counts from Buy Me a Coffee profiles
DEV Community Profile Email ScraperEmails plus bio and follower counts from DEV Community profiles
DeviantArt Profile Email ScraperEmails plus bio and follower counts from DeviantArt profiles
Dribbble Profile Email ScraperEmails plus bio and follower counts from Dribbble profiles
Facebook Profile Email ScraperEmails plus bio and follower counts from Facebook profiles
Flipboard Profile Email ScraperEmails plus bio and follower counts from Flipboard profiles
GitHub Profile Email ScraperEmails plus bio and follower counts from GitHub profiles
GitLab Profile Email ScraperEmails plus bio and follower counts from GitLab profiles
Gumroad Profile Email ScraperEmails plus bio and follower counts from Gumroad profiles
Hashnode Profile Email ScraperEmails plus bio and follower counts from Hashnode profiles
Instagram Profile Email ScraperEmails plus bio and follower counts from Instagram profiles
Kick Profile Email ScraperEmails plus bio and follower counts from Kick profiles
Linktree Profile Email ScraperEmails plus bio and follower counts from Linktree profiles
Mastodon Profile Email ScraperEmails plus bio and follower counts from Mastodon profiles
Mixcloud Profile Email ScraperEmails plus bio and follower counts from Mixcloud profiles
Patreon Profile Email ScraperEmails plus bio and follower counts from Patreon profiles
Pinterest Profile Email ScraperEmails plus bio and follower counts from Pinterest profiles
Snapchat Profile Email ScraperEmails plus bio and follower counts from Snapchat profiles
SoundCloud Profile Email ScraperEmails plus bio and follower counts from SoundCloud profiles
Substack Profile Email ScraperEmails plus bio and follower counts from Substack profiles
Telegram Profile Email ScraperEmails plus bio and follower counts from Telegram profiles
Threads Profile Email ScraperEmails plus bio and follower counts from Threads profiles
TikTok Profile Email ScraperEmails plus bio and follower counts from TikTok profiles
Tumblr Profile Email ScraperEmails plus bio and follower counts from Tumblr profiles
Twitch Profile Email ScraperEmails plus bio and follower counts from Twitch profiles
X Profile Email ScraperEmails plus bio and follower counts from X profiles
YouTube Profile Email ScraperEmails plus bio and follower counts from YouTube profiles
Behance Profile Email and Phone Number ScraperEmails, phone numbers and profile details from Behance
Bluesky Profile Email and Phone Number ScraperEmails, phone numbers and profile details from Bluesky
Buy Me a Coffee Profile Email and Phone Number ScraperEmails, phone numbers and profile details from Buy Me a Coffee
DEV Community Profile Email and Phone Number ScraperEmails, phone numbers and profile details from DEV Community
DeviantArt Profile Email and Phone Number ScraperEmails, phone numbers and profile details from DeviantArt
Dribbble Profile Email and Phone Number ScraperEmails, phone numbers and profile details from Dribbble
Facebook Profile Email and Phone Number ScraperEmails, phone numbers and profile details from Facebook
Flipboard Profile Email and Phone Number ScraperEmails, phone numbers and profile details from Flipboard
GitHub Profile Email and Phone Number ScraperEmails, phone numbers and profile details from GitHub
GitLab Profile Email and Phone Number ScraperEmails, phone numbers and profile details from GitLab
Gumroad Profile Email and Phone Number ScraperEmails, phone numbers and profile details from Gumroad

Support

Questions about the Hugging Face Profile Email Scraper, bug reports, or a custom build for your workflow: email neurodata.apify@gmail.com.

Please include the run ID and a couple of the profile URLs involved — that makes an issue much faster to reproduce and fix.