Contact Details Scraper avatar
Contact Details Scraper

Pricing

Pay per event

Go to Apify Store
Contact Details Scraper

Contact Details Scraper

Free email extractor and lead scraper to extract and download emails, phone numbers, Facebook, Twitter, LinkedIn, Instagram, Threads, Snapchat, and Telegram profiles from any website. Extract contact information at scale from lists of URLs and download the data as Excel, CSV, JSON, HTML, and XML.

Pricing

Pay per event

Rating

4.6

(61)

Developer

Vojta Drmota

Vojta Drmota

Maintained by Apify

Actor stats

626

Bookmarked

40K

Total users

1.1K

Monthly active users

6.5 days

Issues response

5 hours ago

Last modified

Share

What is Contact Details Scraper?

Contact Details Scraper can crawl any website and extract the listed contact information for everybody mentioned on the site.

  • Extract any contact details from a site, such as email address, phone number, and social media accounts
  • Also scrapes WhatsApp and Telegram information, as well as Snapchat, Discord, and any other communication type
  • Use the Business Leads Enrichment add-on to add more detail, such as listed people’s job title, website, and LinkedIn
  • Find scraped data in a handy table, or export it in multiple formats like JSON, CSV, Excel, or HTML
  • Export via SDKs (Python & Node.js), use API Endpoints, webhooks, or integrate with workflows

What data can I extract with Contact Details Scraper?

Contact Details Scraper can find contact details on almost any webpage. It will find any of the following:

šŸ“§ Email addressesšŸ“ž Phone numbersšŸ’¼ LinkedIn profiles
🐦 Twitter handlesšŸ“ø Instagram profilesšŸ“˜ Facebook profiles/pages
ā–¶ļø YouTube accountsšŸŽµ TikTok profilesšŸ“Œ Pinterest profiles
šŸŽ® Discord pagesšŸ‘» Snapchat profiles🧵 Threads profiles
āœˆļø Telegram profiles/groupsšŸ‘„ Reddit pagesšŸ’¬ WhatsApp information

šŸ‘„ Lead generation

On top of this, Contact Details Scraper can use lead enrichment, which extracts detailed employee information from companies:

  • Extract employee profiles, including names, job titles, departments, and contact information
  • Filter results by specific departments
  • Provide LinkedIn profiles, email addresses, and phone numbers
  • Company information such as size, location, and industry

šŸ” Social media profiles enrichment

Contact Details Scraper can also enrich discovered social media URLs with detailed profile information. When enabled, this feature will:

  • Extract profile data from Facebook, Instagram, YouTube, TikTok, and Twitter URLs
  • Create dedicated dataset views for each social media platform for easy access

Important Notes:

  • Social media profile enrichment requires enabling "Merge contacts" mode
  • Each enriched social media profile counts as a separate billable event

How to use Contact Details Scraper

Contact Details Scraper is designed with users in mind, even those who have never extracted data from the web before. You use it in just a few steps.

  1. CreateĀ a free Apify account using your email
  2. OpenĀ Contact Details Scraper
  3. Add one or more sites to scrape
  4. Click the ā€œStartā€ button and wait for the data to be extracted
  5. View your data in the UI, or download it in JSON, XML, CSV, Excel, or HTML

We also have a video tutorial that will guide you through the process:

Input

To get started, just enter the site URL you want to scrape, and set how many pages you want to scrape initially. Then hit ā€œstartā€ and the Actor will get to work.

Contact Details Scraper input

Leads Enrichment

To use lead enrichment, set theĀ maximumLeadsEnrichmentRecordsĀ parameter to a number higher than 0 to specify how many employee records to extract per company, and optionally useĀ leadsEnrichmentDepartmentsĀ to filter by specific departments.

To make the most of this function, we recommend you set the number of scraped pages as follows:

  • Only leads enrichment, set the number of scraped pages to 1.
  • For leads enrichment AND contact details scraping, set it to 2 or 3 pages.

Output

The results will be wrapped into a dataset which you can find in theĀ StorageĀ tab. Here's an excerpt from the dataset you'd get if you apply the input parameters above:

Contact Details Scraper output

Here is part of that output in JSON:

[
{
"originalStartUrl": "https://apify.com",
"domain": "apify.com",
"scrapedUrls": [
"https://apify.com/contact",
"https://apify.com/contact-sales",
"https://apify.com/"
],
"leadsEnrichment": [
{
"personId": "60c5b4b693b4440001970d6e",
"firstName": "James",
"lastName": "Hill",
"fullName": "James Hill",
"linkedinProfile": "http://www.linkedin.com/in/jameshill",
"email": "james.hill@apify.com",
"mobileNumber": null,
"jobTitle": "Product Manager",
"industry": "Information Technology & Services",
"city": "Prague",
"state": "Hlavni mesto Praha",
"country": "Czech Republic",
"companyId": "5a9d952ba6da98d9a159cdde",
"companyName": "Apify",
"companyWebsite": "apify.com",
"companySize": null,
"companyLinkedin": "http://www.linkedin.com/company/apifytech",
"companyCity": null,
"companyState": "Hlavni mesto Praha",
"companyCountry": "Czechia",
"companyPhoneNumber": "+18776761166",
"headline": "Building a full-stack platform for web scraping and data for AI.",
"departments": [
"product"
],
"seniority": "senior",
"photoUrl": "https://media.licdn.com/dms/image/D4E03AQGVYzvGHp9zhw/profile-displayphoto-shrink_200_200/0/1688982177437?e=2147483647&v=beta&t=O5O0vOrGxecs-dTwEoEKJGi-AV2QDIY_zZaajyLTshs",
"twitter": null
},
{
"personId": "59c158d1a6da9873759140ae",
"firstName": "Michaela",
"lastName": "Blue",
"fullName": "Michaela Blue",
"linkedinProfile": "http://www.linkedin.com/in/michaelablue",
"email": "michaela.blue@apify.com",
"mobileNumber": null,
"jobTitle": "Product Owner",
"industry": "Information Technology & Services",
"city": "Prague",
"state": "Hlavni mesto Praha",
"country": "Czech Republic",
"companyId": "5a9d952ba6da98d9a159cdde",
"companyName": "Apify",
"companyWebsite": "apify.com",
"companySize": null,
"companyLinkedin": "http://www.linkedin.com/company/apifytech",
"companyCity": null,
"companyState": "Hlavni mesto Praha",
"companyCountry": "Czechia",
"companyPhoneNumber": "+18776761166",
"headline": "Product Owner",
"departments": [
"product"
],
"seniority": "senior",
"photoUrl": "https://static.licdn.com/aero-v1/sc/h/9c8pery3andzj6ohjkjp54ma1",
"twitter": null
},
{
"personId": "57db409fa6da984c106b6227",
"firstName": "Francis",
"lastName": "Goodwell",
"fullName": "Francis Goodwell",
"linkedinProfile": "http://www.linkedin.com/in/fgoodwell",
"email": "francis.goodwell@apify.com",
"mobileNumber": null,
"jobTitle": "Senior Full Stack Engineer & Team Leader",
"industry": null,
"city": "Prague",
"state": "Hlavni mesto Praha",
"country": "Czech Republic",
"companyId": "5a9d952ba6da98d9a159cdde",
"companyName": "Apify",
"companyWebsite": "apify.com",
"companySize": null,
"companyLinkedin": "http://www.linkedin.com/company/apifytech",
"companyCity": null,
"companyState": null,
"companyCountry": null,
"companyPhoneNumber": "+18776761166",
"headline": "Senior full-stack developer & team leader",
"departments": [
"engineering_technical"
],
"seniority": "senior",
"photoUrl": "https://media.licdn.com/dms/image/v2/D4E03AQEI12nPbyk8VqA/profile-displayphoto-shrink_200_200/profile-displayphoto-shrink_200_200/0/1677444613135?e=2147473647&v=beta&t=uOT8poJjY6ie22fpBbNX2_15KbY2SvesjNpObDCLIkg",
"twitter": null
}
],
"emails": [
"hello@apify.com"
],
"phones": [],
"phonesUncertain": [
"04788290",
"373153700",
"035500000000002",
"7434378"
],
"linkedIns": [
"https://www.linkedin.com/company/apify",
"http://linkedin.com/company/apify"
],
"twitters": [
"https://x.com/apify"
],
"instagrams": [],
"facebooks": [],
"youtubes": [
"https://www.youtube.com/apify"
],
"tiktoks": [
"https://www.tiktok.com/@apifyoffice",
"https://www.tiktok.com/@apifytech"
],
"pinterests": [],
"discords": [
"https://discord.com/invite/jyEM2PRvMU"
],
"snapchats": [],
"threads": [],
"telegrams": [],
"reddits": [],
"whatsapps": [],
"facebookProfiles": [],
"instagramProfiles": [],
"youtubeProfiles": [
{
"startUrl": "https://www.youtube.com/apify",
"profileName": "Apify",
"profilePictureURL": "https://yt3.googleusercontent.com/gBQONhVo1W-2YI8tJ-RQLOjYtBksDOayrsj7TiJ1SiKrApfhzjw2fnyYocBuZCb06G7kYP5RRg=s160-c-k-c0x00ffffff-no-rj",
"location": "Czechia",
"description": "Welcome to Apify’s official YouTube channel!\n\nApify is a web scraping and automation platform, which lets you automate anything you can do in a web browser šŸš€\n\nGather data with pre-built tools we call Actors and further use it to feed generative AI or for lead generation, machine learning, market research, and a myriad of other use cases šŸ¤–\n\nAre you a developer? Build your own Actors and publish them on Apify Store to earn passive income šŸ’ø\n\nSubscribe now for tutorials on how to use our Actors, build your own ones, utilize our open-source libraries, or learn about various web scraping technologies šŸ“–",
"followersCount": 10600,
"externalProfileURL": "https://www.youtube.com/channel/UCTgwcoeGGKmZ3zzCXN2qo_A",
"profileURL": "https://www.youtube.com/channel/UCTgwcoeGGKmZ3zzCXN2qo_A",
"creationDate": "Jan 4, 2017",
"coverPhoto": "https://yt3.googleusercontent.com/cdKlrmQSWEGXVgZbEr-dVN-W_GwH9ifLidL951d-Ne57qIHDthpZgjqczTKf_kEY7ucTW5wWiYc=w2560-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj",
"accountVerificationStatus": false,
"socialInputUrl": "https://www.youtube.com/apify",
"channelTotalVideos": 180,
"channelTotalViews": 827803,
"isAgeRestricted": false,
"id": "UCTgwcoeGGKmZ3zzCXN2qo_A",
"username": null,
"followingCount": null,
"privateProfile": null
}
],
"tiktokProfiles": [
{
"startUrl": "https://www.tiktok.com/@apifyoffice",
"profileName": "apifyoffice",
"profilePictureURL": "https://p16-pu-sign-no.tiktokcdn-eu.com/tos-no1a-avt-0068c001-no/3161932a8654b0659fbbd1dca63c640a~tplv-tiktokx-cropcenter:720:720.jpeg?dr=10399&refresh_token=df0295a6&x-expires=1761912000&x-signature=GUlT0p%2Fp6pO15fNbuqVOyTw0svo%3B&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=no1a",
"description": "šŸ¤– web scraping and AI šŸ¤–\n\ncheck out our open positions at ✨apify.it/jobs✨",
"username": "apifyoffice",
"followersCount": 157,
"externalProfileURL": null,
"privateProfile": false,
"socialInputUrl": "https://www.tiktok.com/@apifyoffice",
"videosCount": 43,
"tiktokSeller": false,
"authorId": "7095709566285480965",
"followingCount": null,
"profileURL": null,
"creationDate": null,
"accountVerificationStatus": null,
"coverPhoto": null
},
{
"startUrl": "https://www.tiktok.com/@apifytech",
"profileName": "apifytech",
"profilePictureURL": "https://p16-pu-sign-no.tiktokcdn-eu.com/tos-no1a-avt-0068c001-no/4b007abaf573cd0169af10350eb3a6c7~tplv-tiktokx-cropcenter:720:720.jpeg?dr=10399&refresh_token=ae8e06a2&x-expires=1761912000&x-signature=SKuzn%2BlQX7VIhrwDACHYKq%2FGzGY%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=no1a",
"description": "šŸ‘‹ Hi, we’re Apify, and we make the web more programmable.\nMore at @apifyoffice",
"username": "apifytech",
"followersCount": 1015,
"externalProfileURL": "apify.com",
"privateProfile": false,
"socialInputUrl": "https://www.tiktok.com/@apifytech",
"videosCount": 31,
"tiktokSeller": false,
"authorId": "7353570794285417504",
"followingCount": null,
"profileURL": null,
"creationDate": null,
"accountVerificationStatus": null,
"coverPhoto": null
}
],
"twitterProfiles": [
{
"startUrl": "https://x.com/apify"
}
]
}
]

Deduplicate and merge contacts

Contact Details Scraper provides the contacts inside one item per scraped URL. This is good for analysis to check where was the contact found but can make it hard to process.

Fortunately, you can useĀ Contact Details Merge & DeduplicateĀ Actor to merge and deduplicate the contacts. This Actor takes one or more dataset IDs of the Contact Details Scraper and merges all contacts deduplicated so that each domain is on one row. You can choose if contacts of one type should be in only one column or spread.

How much will using Contact Details Scraper cost you?

Contact Details Scraper uses the pay-per-event (PPE) pricing model, so you pay for each action you perform. Check the pricing tab for details

The Free plan includes $5 of prepaid credits. With that, you could start the Actor and scrape around 2,500 pages. If you upgrade to any of our paid plans, you will get a discount, allowing you to scrape even more for the same price. Check out the Apify pricing page for more details.

Note that lead enrichment carries an extra cost:

• Free users:Ā Get started forĀ $0.10 per successfully enriched lead.

• Paid users:Ā Prices can go as low asĀ $0.004 per lead.

Frequently asked questions

Can I use Contact Details Scraper to extract emails from Google Maps?

Yes, but for more precise results it's better to use a specialized scraper likeĀ Google Maps Scraper.

Can I use integrations with Contact Details Scraper?

You can integrate Contact Details Scraper with almost any cloud service or web app. We offer integrations with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and plenty more.

Alternatively, you could use webhooks to carry out an action whenever an event occurs, such as getting a notification whenever Contact Details Scraper successfully finishes a run.

Can I use Contact Details Scraper with the Apify API?

The Apify API gives you programmatic access to the Apify platform. The API is organized around RESTful HTTP endpoints that enable you to manage, schedule, and run Apify Actors. The API also lets you access any datasets, monitor Actor performance, fetch results, create and update versions, and more.

To access the API using Node.js, use the apify-client NPM package. To access the API using Python, use the apify-client PyPI package. Check out the Apify API reference docs for all the details.

Can I use Contact Details Scraper through an MCP Server?

With Apify API, you can use almost any Actor in conjunction with an MCP server. You can connect to the MCP server using clients like ClaudeDesktop and LibreChat, or even build your own. Read all about how you can set up Apify Actors with MCP.

For Contact Details Scraper, go to the MCP tab and then go through the following steps:

  1. Start a Server-Sent Events (SSE) session to receive a sessionId
  2. Send API messages using that sessionId to trigger the scraper
  3. The message starts the Contact Details Scraper with the provided input
  4. The response should be: Accepted

Web scraping is legal as long as you don’t scrape private data. However, you should be aware that your results might contain personal data, which is protected by GDPR in the European Union and in other laws from around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. You can read our blog post on theĀ legality of web scraping for more information.

Your feedback

We’re always working on improving the performance of our Actors. If you have any technical feedback for Contact Details Scraper or found a bug, please create an issue in theĀ Issues tab.