Company Contact Channels: Role Emails, Socials avatar

Company Contact Channels: Role Emails, Socials

Pricing

from $3.00 / 1,000 company website checkeds

Go to Apify Store
Company Contact Channels: Role Emails, Socials

Company Contact Channels: Role Emails, Socials

$4 per 1,000 websites ($3 on Gold). Get each company's role emails (info@, sales@, support@, press@), its own LinkedIn, X, Facebook, Instagram, YouTube, GitHub and TikTok pages, and its contact form, from its website. Personal addresses are left out. No login.

Pricing

from $3.00 / 1,000 company website checkeds

Rating

0.0

(0)

Developer

Don Mangu

Don Mangu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Company Contact Channels: role emails and social profiles from company websites

Company Contact Channels is a contact details scraper for B2B lists. Give it company websites and it returns each company's role contact channels: role emails such as info@, sales@, support@, press@ and careers@, the company's own LinkedIn, X, Facebook, Instagram, YouTube, GitHub and TikTok pages, the contact form page, and (if you turn it on) the main phone number. Addresses and profiles of individual people are left out, so the output is ready for outreach, CRM enrichment and routing without personal data to clean up.

What you get for each company website

FieldExample
primaryEmailsales@acme.com
roleEmailsevery role address with its type (general, sales, support, press, careers, privacy, legal, billing and more), whether it is on the company domain, and the page it was on
emailOnDomaintrue when a role address is on the company's own domain, false when it is only a Gmail or similar address
linkedinUrl, xUrl, facebookUrl, instagramUrl, youtubeUrl, githubUrl, tiktokUrlthe company's own profiles only, never share buttons, single posts or employees' profiles
contactFormUrlthe page with the contact form (newsletter and search boxes do not count)
mainPhonethe switchboard number, only when you turn on Main phone and the site clearly shows one
companyName, status, pagesCheckedthe company's name when the site states it, whether the site was read, and how many pages

How to use it

  1. Open the Actor and paste your company websites into Websites, one per line. Domains (acme.com), full links (https://www.acme.com/pricing) and even email addresses (jane@acme.com, its domain is used) all work.
  2. Turn on Main phone if you want the switchboard number.
  3. Click Start. Each website takes a few seconds; the table fills as sites finish.
  4. Download the results as CSV, Excel or JSON, or pull them with the Apify API. The Overview view has one row per company; the Role emails view lists every address.

The Actor reads the homepage and up to four standard pages linked from it (contact, imprint, about, privacy, press). It follows each site's robots.txt, reads the pages of one site one after another, and reads only a few sites at a time.

How much does it cost?

$4.00 per 1,000 websites ($0.004 per website) on Apify's Free and Starter plans, $3.50 per 1,000 on Scale and $3.00 per 1,000 on Business, charged only when the homepage loads. The price is the same whether the site has one role email or twenty, and it covers all the pages read for that site.

Free: invalid entries, duplicates, sites that block automated visitors, sites whose robots.txt disallows the homepage, and sites that cannot be reached.

Worked example: a list of 2,000 company domains where 1,850 load costs 1,850 x $0.004 = $7.40 on the Free or Starter plan ($5.55 on Business). The 150 that did not load are free and show their reason in status.

Set a spending limit in the run options if you want a hard cap; the run stops cleanly when it is reached.

Input example

{
"websites": ["apify.com", "crawlee.dev", "pypi.org"],
"includeMainPhone": false,
"maxWebsites": 100
}

Output example

{
"inputUrl": "northwind-analytics.example",
"domain": "northwind-analytics.example",
"companyName": "Northwind Analytics",
"primaryEmail": "hello@northwind-analytics.example",
"roleEmails": [
{ "email": "hello@northwind-analytics.example", "type": "general", "onDomain": true, "foundOn": "https://northwind-analytics.example/" },
{ "email": "sales@northwind-analytics.example", "type": "sales", "onDomain": true, "foundOn": "https://northwind-analytics.example/contact" },
{ "email": "press@northwind-analytics.example", "type": "press", "onDomain": true, "foundOn": "https://northwind-analytics.example/contact" }
],
"emailOnDomain": true,
"linkedinUrl": "https://www.linkedin.com/company/northwind-analytics",
"xUrl": "https://x.com/NorthwindHQ",
"facebookUrl": null,
"instagramUrl": null,
"youtubeUrl": "https://www.youtube.com/@northwindanalytics",
"githubUrl": "https://github.com/northwind-analytics",
"tiktokUrl": null,
"contactFormUrl": "https://northwind-analytics.example/contact",
"contactPageUrl": "https://northwind-analytics.example/contact",
"mainPhone": null,
"pagesChecked": 5,
"status": "ok",
"charged": true
}

The example company is made up (the .example domain is reserved for examples). The dataset also has pageUrls, nonRoleEmailsSkipped, finalUrl, checkedAt and error.

Why role channels only?

Role addresses belong to a team, not a person. They stay valid when people change jobs, they reach whoever handles that function, and under GDPR and similar laws they usually carry less risk than a named employee's address. The Actor never saves a personal address. It only counts how many it left out, in nonRoleEmailsSkipped.

Bulk lists

Use a long list of company websites from an Apify Dataset or from a file. Pick the Dataset under Dataset with the list and write the name of its field under Field in the dataset. Leave the field name empty to use the first text field. Or paste the web address of a .txt, .csv or .json file under List file URL. A .csv file uses its first column. A header row is skipped. The file can be up to 10 MB. Entries from the Dataset and the file are added to the ones typed under Websites, and duplicates are removed. The limit of 10,000 websites per run and the Maximum websites setting cover the whole list. The price per website does not change.

  • Tech Jobs Search: the newest matching jobs across hundreds of tech companies.
  • ATS Jobs API: every open job of the companies you list, read live from their job boards.

FAQ

Is it legal to collect this data? The Actor reads public pages only, with no login, follows robots.txt, and returns company contact channels that the company publishes for people to use. It does not collect personal data. You are still responsible for how you use the results, for example the anti-spam rules for cold email in your country.

Why is a field empty? The site does not show that channel on the pages that were read, or it is not clearly the company's own (for example a partner's profile mentioned in a blog post). Raise Pages per website if a site keeps its details deeper. Sites that build their pages with JavaScript only may show few details.

Why did a website return blocked? Some sites answer automated visitors with a challenge page or an access-denied error. The Actor does not try to get around that; the row is free.

Why is mainPhone empty when the site has a phone number? It is returned only when the site clearly presents it as the company's main line. Fax, mobile and direct numbers, numbers next to a person's name, and lists of several office numbers are left out on purpose.

Can I find a specific person's email? No. This Actor is built for company role channels and never returns personal addresses.

How many websites can I check in one run? Up to 10,000. Plan on roughly an hour per 1,000 websites at the default settings; more memory makes it faster.

Is this affiliated with LinkedIn, X, Meta, YouTube, GitHub or TikTok? No. The Actor only reads the company's own website and reports the profile links the company publishes there. It does not visit or scrape those networks.