LinkedIn Company Finder from Website
Pricing
from $10.00 / 1,000 linkedin company founds
LinkedIn Company Finder from Website
Find public LinkedIn company pages from website URLs or domains. Returns canonical LinkedIn URL, slug, company name, and confidence. Homepage extraction first, then ScrapeCreators/SociaVault Google Search. Optional public firmographic enrich. Cookieless, no LinkedIn login. MCP-ready.
Pricing
from $10.00 / 1,000 linkedin company founds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Turn company website URLs or domains into public LinkedIn company pages. Paste stripe.com or https://www.notion.so and get one dataset row with matchStatus, canonical LinkedIn URL, slug, company name, and a confidence score when a public match exists. Unmatched sites return a free CLEAR row so you can tell a completed empty lookup from a provider outage. No LinkedIn login or cookies.
Designed for B2B sales, CRM enrichment, and AI-agent pipelines that already have a website and need the matching public LinkedIn company URL. This is the reverse of LinkedIn Company Profile Scraper, which starts from a company URL or vanity name. For keyword search instead of a website, use LinkedIn Company Search Scraper.
What you get
| Output | What it answers |
|---|---|
inputWebsite + matchStatus | Which site was processed and whether a public company page was found |
linkedinUrl + linkedinSlug | Where the company is on LinkedIn |
companyName + confidence | Which entity matched and how strongly |
matchStrategy + provider | Why this match was accepted — homepage HTML, Google Search, or enrichment |
clearReason on CLEAR rows | Why there is no billable match — no public hit, below confidence, or ambiguous result |
OUTPUT / RUN_SUMMARY outcomes | Provenance — complete, empty, invalid input, or upstream outage |
Who it is for (and why it matters)
- Sales development reps — attach a LinkedIn company URL to inbound domains before account research.
- RevOps / CRM owners — backfill account records with a canonical
/company/URL from the website column. - Recruiters — map employer career-site domains to public LinkedIn company pages for hiring-manager research.
- AI agents — one tool call with
websitesreturns structured found or CLEAR rows, so the agent can enrich, skip, or route without guessing.
When to use this Actor
- You have company websites or domains and need public LinkedIn company page URLs.
- You want unmatched sites recorded as CLEAR so the dataset stays honest.
- You need optional public firmographics (industry, employees, HQ, followers) after a match.
- When you already have LinkedIn
/company/URLs, start with LinkedIn Company Profile Scraper. - When the starting point is a keyword, industry, or location instead of a website, use LinkedIn Company Search Scraper.
Best fit for this Actor
- Strongest starting condition: a company homepage that either links to LinkedIn or is well-indexed next to
site:linkedin.com/company. - Useful output: one row per website, billed only when
matchStatusisfound. - When you already have the LinkedIn company URL and need people at that company, route to a company-employee or profile Actor instead of this finder.
Input
| Field | Type | Default | Description |
|---|---|---|---|
websites | array (required) | 1 example domain | Up to 100 domains or homepage URLs per run |
maxItems | integer | 50 | Cap on found companies saved and billed (CLEAR rows stay outside this cap) |
minConfidence | integer | 60 | Minimum 0–100 score required to accept a match |
enrichCompany | boolean | false | Add industry, employees, HQ, followers ($0.02/row extra) |
providerOrder | enum | scrapecreators-first | Public-data provider priority; fallback fires automatically |
maxConcurrency | integer | 2 | Websites processed in parallel (1–5) |
Quick start input
{"websites": ["stripe.com"],"maxItems": 1,"enrichCompany": false}
That input selects a single well-known company homepage so the run stays inside the five-minute quality window and still returns a real found row.
Example input — bulk domains, enrichment on
{"websites": ["stripe.com","https://www.notion.so"],"maxItems": 50,"minConfidence": 60,"enrichCompany": true}
Duplicate websites are deduplicated automatically. Values that are not domains or URLs are written as CLEAR invalid_website and never billed.
What data you receive
One dataset item is one website lookup. Found rows carry the LinkedIn company identity; CLEAR rows document that the lookup finished with no billable match.
{"inputWebsite": "stripe.com","normalizedDomain": "stripe.com","matchStatus": "found","confidence": 96,"linkedinUrl": "https://www.linkedin.com/company/stripe","linkedinSlug": "stripe","companyName": "Stripe","matchStrategy": "website-html","enriched": false,"provider": "website-html","scrapedAt": "2026-08-21T00:00:00.000Z"}
CLEAR example:
{"inputWebsite": "this-domain-has-no-linkedin-page.example","normalizedDomain": "this-domain-has-no-linkedin-page.example","matchStatus": "clear","clearReason": "no_public_match","enriched": false,"scrapedAt": "2026-08-21T00:00:00.000Z"}
Every terminal run also writes OUTPUT and RUN_SUMMARY with a named outcome, per-website results, provider diagnostics, and billing counters.
Workflow story: from a CRM website column to outreach-ready LinkedIn company URLs
A RevOps lead exports 40 account websites from a webinar sponsor list. She pastes them into this Actor with enrichCompany: true and maxItems at 40. The run first reads each homepage for a linkedin.com/company/ link, then falls back to public Google Search restricted to LinkedIn company pages, and keeps only matches that clear the confidence bar. Thirty-one rows come back found with company URLs; seven are CLEAR (no_public_match); two stay unmatched because the domain is a parking page. She then filters matchStatus=found, hands the linkedinUrl values to LinkedIn Company Profile Scraper only when she needs a deeper public profile, and skips paying for the CLEAR rows. Event cost is 31 × $0.01 plus enrichment on the rows that actually received public firmographic fields.
Use through the API
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~linkedin-company-finder-from-website/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"websites": ["stripe.com"],"maxItems": 1,"enrichCompany": false}'
Results land in the run's default dataset: https://api.apify.com/v2/datasets/{datasetId}/items?clean=true. Paginate large batches with offset/limit. The same Actor is exposed through Apify MCP as apify--linkedin-company-finder-from-website.
Use with AI agents through Apify MCP
Given these company websites, find each company's public LinkedIn company page URL, slug, and name. Return CLEAR for sites with no public match. Keep only dataset
linkedinUrlvalues. Cap the run at 25 found companies.
Inspect the terminal outcome, read the dataset, keep linkedinUrl as the source identifier, and treat clearReason as a completed empty lookup for that website. Connect through Apify MCP.
{"websites": ["stripe.com"],"maxItems": 25,"minConfidence": 60,"enrichCompany": true,"providerOrder": "scrapecreators-first","maxConcurrency": 2}
Then read results with get-actor-output, keep matchStatus=found rows for enrichment, and pass remaining websites to a different data source.
Pricing
This Actor uses Pay per event plus Apify platform usage. Open the live Pricing tab for current event details, and use Apify's run cost controls to keep the workflow aligned with your budget.
| Event | Price | Charged when |
|---|---|---|
| Actor start | $0.00005 | Once per run (scaled by memory) |
company-found | $0.01 | One found LinkedIn company page saved |
company-enriched | $0.02 | Additional, only when enrichment succeeded |
CLEAR rows, invalid input, and unmatched websites are not billed as company-found.
| Run | Found rows | Enrichment | Event cost (approx.) |
|---|---|---|---|
| 1 website, match | 1 | off | ~$0.01 |
| 1 website, match | 1 | on | ~$0.03 |
| 40 websites, 31 found | 31 | off | ~$0.31 |
| 40 websites, 31 found | 31 | on | ~$0.93 |
Your run log prints the exact cost cap before any charge fires. Platform usage is billed on top at Apify's rates — the live Pricing tab is the current source of truth.
Best results
- Prefer the company's primary homepage or apex domain (
stripe.com), not a random blog post. - Keep
minConfidenceat 60 unless you have a reason to accept weaker brand-only matches. - Turn on
enrichCompanywhen you need industry, employee count, headquarters, or followers for routing. - After you have company URLs, pass them to LinkedIn Company Profile Scraper for the full public profile, or to LinkedIn Company Search Scraper when you are still discovering companies by keyword.
Builder's note
I built this after probing live homepages and both public-data providers: many companies already publish linkedin.com/company/{slug} in the footer or JSON-LD sameAs, which is a stronger signal than a Google snippet. When the homepage has no LinkedIn link, ScrapeCreators GET /v1/google/search with site:linkedin.com/company "domain.com" returns the company page with the website in the snippet, and SociaVault is a clean envelope fallback. There is no native website-to-LinkedIn endpoint. That is why this Actor tries homepage HTML first, bills only found company pages, writes honest CLEAR rows, and keeps optional firmographics on a second event.
Responsible use
Use this Actor on websites you are authorized to process for legitimate sales, recruiting, research, or verification. It reads public homepage HTML, public web search results, and public LinkedIn company pages only. It does not log into LinkedIn, does not use your cookies, and is not a private company graph or data-broker dump. Follow GDPR, CCPA, LinkedIn's terms, and any local law that applies to your outreach.
This tool is provided for lawful public-data collection. You are responsible for how you use the output.