Company Enrichment by Domain: LinkedIn, Social Links & Logo avatar

Company Enrichment by Domain: LinkedIn, Social Links & Logo

Pricing

from $1.20 / 1,000 company profile founds

Go to Apify Store
Company Enrichment by Domain: LinkedIn, Social Links & Logo

Company Enrichment by Domain: LinkedIn, Social Links & Logo

Turn company domains into one row per company: LinkedIn company page, Facebook, X, Instagram, YouTube, TikTok and GitHub accounts, logo, name, description, contact and careers page and job board system. Reads only the company's own website. No emails or phone numbers.

Pricing

from $1.20 / 1,000 company profile founds

Rating

0.0

(0)

Developer

earlytern

earlytern

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Security

Limited permissions

Share

Turn a list of company domains into one clean row per company: the LinkedIn company page, the company's Facebook, X (Twitter), Instagram, YouTube, TikTok, GitHub, Threads and Pinterest accounts, the logo, company name and description, the contact page, the careers page and the job board system the company hires with (Greenhouse, Lever, Ashby, Workday and more). Paste 2 domains or 10,000, get a table ready for your CRM, spreadsheet or lead list. You pay only for companies where something was found.

What does Company Enrichment by Domain do?

  • Finds the company's own channels: reads the links the company itself puts on its website (organization data, header, footer), so the LinkedIn page and social accounts are the official ones, not look-alikes.
  • Filters out the noise: personal LinkedIn profiles (/in/), "share this" buttons, single posts and videos are never returned. Accounts whose name does not match the company (a founder's own account, a parent company) are listed in possiblyPersonal, so you can check them before use.
  • Logo, name and description from the website's own tags and organization data.
  • Contact and careers pages, plus the job board system in use and a link to the job board: useful for recruiting, sales to hiring companies, and for feeding a job scraper.
  • Says where each link came from (sources: organization data, header, footer, page body or a subpage) and, when nothing was found, why (status and message).
  • Light and polite: plain HTTP requests, no browser; reads the home page and at most two more pages per website, always obeys robots.txt, and never logs in.

Who uses it?

  • Sales and RevOps teams filling empty LinkedIn and social columns in a CRM or a lead list before outreach.
  • Lead generation and data agencies building company lists from domains.
  • Recruiters and HR tech finding which companies hire through which job board system, and their careers pages.
  • Marketers and researchers collecting logos and official accounts of competitors, partners or customers.
  • AI agents that need a short, structured company card from a domain.

How to use it

  1. Click Try for free.
  2. In Domains, paste company domains or website addresses, one per line: stripe.com, https://www.hubspot.com.
  3. Click Start. Download the results as JSON, CSV or Excel, or use the API. The Companies view shows one row per domain.

Options: turn off Open contact and about pages to read only the home page (faster, a little less found), and turn off Find careers page and job board if you do not need hiring data.

Use with AI agents (MCP)

AI assistants and AI agents can call this Actor through Apify's MCP server at mcp.apify.com or through the Apify API. Send the whole list of domains in one call and read one row per domain. Questions it answers well:

  • "What is the LinkedIn page of example.com?" Read linkedinUrl.
  • "Find the official social accounts and logo of these 200 companies." Read socials and logoUrl; skip or check the networks listed in possiblyPersonal.
  • "Which job board does example.com use?" Read atsProvider, atsUrl and careersPageUrl.

Only domains is required. Rows with status other than found are free and say why in message.

Input example

{
"domains": ["stripe.com", "https://www.hubspot.com"],
"followContactPages": true,
"detectCareers": true
}

Output example

A real row from a test run:

{
"input": "stripe.com",
"domain": "stripe.com",
"status": "found",
"message": null,
"websiteUrl": "https://stripe.com/",
"companyName": "Stripe",
"description": "Stripe is a financial services platform that helps all types of businesses accept payments, build flexible billing models, and manage money movement.",
"logoUrl": "https://images.stripeassets.com/fzn2n1nzq965/1hgcBNd12BfT9VLgbId7By/01d91920114b124fb4cf6d448f9f06eb/favicon.svg",
"linkedinUrl": "https://www.linkedin.com/company/stripe",
"socials": {
"facebook": "https://www.facebook.com/StripeHQ",
"x": "https://x.com/stripe",
"instagram": "https://www.instagram.com/stripehq",
"youtube": "https://www.youtube.com/@stripe",
"tiktok": null,
"github": "https://github.com/stripe",
"threads": null,
"pinterest": null
},
"sources": { "linkedin": "jsonld", "facebook": "jsonld", "x": "jsonld", "instagram": "jsonld", "youtube": "jsonld", "github": "jsonld" },
"possiblyPersonal": [],
"contactPageUrl": "https://stripe.com/contact/sales",
"careersPageUrl": "https://stripe.com/careers",
"atsProvider": null,
"atsUrl": null,
"pagesRead": 2,
"checkedAt": "2026-11-02T21:04:56.266Z"
}

Status values

statusMeaningCharged
foundThe website links at least one company channel (LinkedIn page or social account)Yes
not_foundThe website was read, but links no company channel, or the domain is parked or for saleNo
needs_browserThe home page is built with JavaScript in the browser, so its links could not be readNo
blockedThe website refused the request or shows a bot checkNo
robots_txtThe website's robots.txt does not allow reading itNo
unreachableThe domain does not exist, did not answer, or answered with an errorNo
not_allowedA large platform, an IP address, a local or private network address; never contactedNo
invalidThe line is not a domain or website addressNo

Job board systems recognised in atsProvider: greenhouse, lever, ashby, workable, workday, smartrecruiters, bamboohr, recruitee, teamtailor, personio, jobvite, icims, breezy, jazzhr, taleo, successfactors, pinpoint, rippling, join and homerun. Many large companies run their own careers website; then careersPageUrl is filled and atsProvider stays empty.

How much does it cost?

You pay only for companies where at least one channel was found. No start fee. Prices per 1,000 companies found, by Apify plan:

EventFreeBronzeSilverGold and up
Company profile found$2.00$1.70$1.40$1.20
  • Free: domains with nothing found, blocked or unreachable websites, websites that need a browser, invalid lines and duplicates (the same domain twice is checked once).
  • Opening the contact, about and careers pages costs nothing extra.
  • Set a maximum cost per run and the Actor stops cleanly before going over it; the run's status message says how many domains were not checked.

Example on the Free plan: enriching a list of 5,000 domains where 4,000 companies are found costs $8.00.

FAQ

Why is the LinkedIn page empty for some companies? The Actor only returns links the company itself publishes on its website. If the website does not link its LinkedIn page, linkedinUrl stays empty rather than guessed.

Does it visit LinkedIn or the social networks? No. It reads only the company's own website and returns the addresses of the accounts. Large platforms are never contacted, also not when given as input.

Why blocked or needs_browser? Some websites refuse automated requests or only work in a browser. The Actor does not try to get past blocking and does not run a browser; such rows are free.

What does possiblyPersonal mean? The account linked from the website has a name that does not match the company (for example a founder's personal account or a parent company's page). It is returned, so you can decide; most CRMs should check it first.

Does it return emails or phone numbers? No. It links to the contact page instead. Emails, phone numbers and street addresses found in names and descriptions are removed.

What about parked domains? A domain that shows a "for sale" or parking page, or redirects to a domain marketplace, gets not_found and is free: its links belong to the marketplace, not to a company.

Limits

  • Up to 10,000 domains per run; 10 websites are read at the same time.
  • Per website: robots.txt, the home page and at most two more pages (careers, about or contact), with a pause between requests; a robots.txt Crawl-delay is always obeyed. When it asks for a long pause, the Actor reads fewer pages of that website instead of waiting.
  • Websites are read over https, or over http when https does not answer.
  • Pages larger than 3 MB are read up to 3 MB.
  • The run stops in time to save its results before the run timeout; for very large lists give the run more time.

The Actor reads only public pages of company websites, always obeys robots.txt, never logs in and never tries to get past blocking. It keeps only the fields shown above: no page text is stored, personal LinkedIn profiles are never returned, and no emails or phone numbers are collected. The output is business data: the public channels a company publishes about itself. For one-person businesses a "company" account may belong to a person; you are responsible for how you use the data and for following the privacy laws that apply to you (such as the GDPR).

Questions and feedback

Open an issue on the Issues tab.