Website Contacts & Social Links Scraper
Pricing
from $1.00 / 1,000 saved pages
Website Contacts & Social Links Scraper
Extract public emails, phone numbers and social profile links from supplied websites, page by page. Crawl bounded same-origin contact/about links and export source URLs plus coverage and errors. Public HTTPS HTML only; no enrichment.
Pricing
from $1.00 / 1,000 saved pages
Rating
0.0
(0)
Developer
Akshay Aggarwal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Turn public company and organization websites you already know into a page-level contact sheet. Enter up to 20 HTTPS URLs; the Actor reads each starting page and a small number of linked contact/about pages, then exports visible email addresses, phone numbers and social profile links with the exact source page.
Quick start
{"startUrls": ["https://www.w3.org/contact/", "https://www.gnu.org/contact/"],"maxPagesPerSite": 1,"maxPages": 2,"includeTextContacts": true}
Each dataset row is one fetched HTML page, even when it has no contacts. For example, W3C's public contact page shows contact@w3.org, membership@w3.org, and +1.339.273.2711. See the examples/w3c-contact.json and examples/gnu-contact.json. Website contents can change.
| Field | Meaning |
|---|---|
website_url | HTTPS origin of the supplied website |
page_url | Fetched page URL after allowed redirects |
emails | Deduplicated lowercase addresses from mailto: links and, optionally, visible text |
phones | Deduplicated normalized tel: links and, optionally, labeled visible numbers |
social_links | Deduplicated links to supported social profile hosts; tracking queries removed |
company_name | Site name only when explicitly supplied by og:site_name or application-name metadata; omitted otherwise |
source_url | The page that contained the contacts |
status | success when public HTML was fetched and parsed, including pages with empty contact arrays |
The run's Coverage and errors output is a separate OUTPUT summary: fetched and saved counts, skipped pages, per-site errors, page limits, unprocessed start URLs and overall complete/partial/error status. Error and summary objects are not dataset rows.
Scope and limits
- Public HTTPS HTML only. The Actor follows same-host HTTPS redirects and linked same-origin contact/about/team/company/impressum pages. Supply the site's final canonical hostname when it redirects between bare and
wwwdomains. - Defaults: 3 attempts per site, 10 attempts total. Set
maxPagesPerSitefrom 1–20 andmaxPagesfrom 1–400; both caps count attempted pages, including errors. Repeated URLs are skipped. Candidate discovery prioritizes direct/contactand/aboutpaths. - HTML downloads are capped at 1 MiB with a 100-second soft run budget. Pages that need JavaScript, login, a form submission, a browser challenge, or a cross-origin redirect are outside scope. An inaccessible page is recorded as an error.
- Contacts must appear in HTML links or visible text. No guessed addresses, person discovery, domain-wide email database, enrichment API, credential input or runtime AI. Hidden scripts and metadata other than explicit site name are ignored. Phone text extraction requires a visible phone label or an international
+number. - Each fetched page is independent: the same contact may appear in several page rows. Social links cover LinkedIn, Instagram, Facebook, YouTube, X/Twitter, TikTok, Bluesky and listed Mastodon hosts when explicitly linked. The Actor does not prove account ownership or provide complete site coverage.
- A run spending limit stops additional fetches. The billing unit is one successfully processed and saved page row. A page with empty contact arrays can still be a processed page. Partial saved rows remain if later pages fail. Check the Store pricing panel for the current price.
To check a source, open page_url from the row. For an error, inspect the OUTPUT summary and try the public page in a browser. Sites may change their HTML or deny automated access.