Company Identity Resolver Name Domain LinkedIn Match Clay avatar

Company Identity Resolver Name Domain LinkedIn Match Clay

Pricing

from $5.95 / 1,000 results

Go to Apify Store
Company Identity Resolver Name Domain LinkedIn Match Clay

Company Identity Resolver Name Domain LinkedIn Match Clay

Resolves any combination of company name, domain, or LinkedIn URL into one canonical company identity tuple (name, primary domain, LinkedIn URL) with 0-100 confidence scores, conflict detection, and a match method. Flat, Clay-ready, pay-per-event.

Pricing

from $5.95 / 1,000 results

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Company Identity Resolver

Resolve any combination of company name, domain, or LinkedIn URL into one canonical company identity tuple, the name, primary domain, and LinkedIn company URL, each with a 0-100 confidence score. Built for Clay users, RevOps teams, outbound agencies, and AI agent builders who need a reliable dedup and join key for company records.

Give it whatever you have (just a name, just a domain, a LinkedIn slug, or all three) and it returns one flat, snake_case row: the canonical identity, per-field and overall confidence, and the method used. Disagreeing inputs are flagged, never silently merged. It is the join primitive the rest of a GTM stack hangs off, so it is login-free, public-data only, and pay-per-event.

It extends the resolution pattern from the Domain to LinkedIn URL Resolver (Actor ID 3HtnSaqPHOg1Qg5gx) and the homepage JSON-LD parsing from the Company Firmographic Enricher (Actor ID YlUtLWjfPpqykmB8g).

What's Inside

Ready-to-Run Examples

Each example is a pre-configured version of this actor for a specific use case. Click any link to open it in the Apify Console and run it immediately.

ExampleWhat it does
Company Name to Domain FinderResolve a company name to its primary domain.
Same Company Conflict CheckerCheck whether two records refer to the same company.
Domain to LinkedIn Company URL LookupResolve a domain to its LinkedIn company page.
CRM Company Record Dedup Key BuilderGenerate a dedup key for CRM company record matching.
LinkedIn Slug to Company Domain ResolverReverse-resolve a LinkedIn company slug back to the company domain.

Looking for a different configuration? Open the Input tab to build your own.

Features

  • Any input, any direction. Provide a name, a domain, a LinkedIn URL, or any mix. The actor resolves the missing fields and cross-checks the ones you gave it.
  • Confidence scoring, not guesses. A 0-100 score for the domain, the LinkedIn URL, the name, and an overall blend, so you can threshold on trust instead of accepting every match blindly.
  • Conflict detection. When inputs disagree (a domain that says one company and a LinkedIn slug that says another), the row is flagged match_method = conflict with a capped score. Conflicts are surfaced, never merged.
  • Canonical name from the source. The company's own homepage schema.org Organization name is the preferred canonical name, with the LinkedIn sameAs link mined for a free, high-confidence LinkedIn URL.
  • Tie-breaking for ambiguous names. Common names, holding companies, and rebrands are scored down and aggregator domains (LinkedIn, Crunchbase, Bloomberg, Wikipedia, and the like) are excluded as candidate domains.
  • Flat, Clay-native output. One row per entity, snake_case, no nested objects. Drops straight into a Clay table or any CRM.
  • Free repeat lookups. Resolved identities are cached for 7 days; a repeat lookup within the window returns instantly and is not charged.

How it works

  1. Anchor the domain (the canonical key). A provided domain is validated by DNS. With no domain, a DuckDuckGo search bridges the name or LinkedIn slug to the company's own domain, ranking candidates by result position and stem similarity and excluding aggregator hosts.
  2. Confirm identity on the homepage. The resolved homepage is fetched (datacenter proxy) and its schema.org Organization JSON-LD is read for the self-declared canonical name and the sameAs LinkedIn URL.
  3. Anchor the LinkedIn URL. Preference order: provided, then the homepage sameAs link, then a login-free slug pattern match validated by HEAD request, then a search fallback.
  4. Score and reconcile. Per-field and overall confidence are computed, input conflicts are detected, and the dominant match_method is chosen.

No browser. No login. No Crunchbase. Public data only.

Input

FieldTypeRequiredDefaultDescription
company_namestringone of the threeStripeCompany name, e.g. Stripe.
domainstringone of the threestripe.comBare domain, e.g. stripe.com. The strongest canonical key when provided.
linkedin_urlstringone of the three(none)Full LinkedIn company URL (https://www.linkedin.com/company/stripe) or a bare slug (stripe).
skipCachestringno"false""true" forces a fresh resolution instead of the 7 day cache. Sent as a string for Clay compatibility.

At least one of company_name, domain, or linkedin_url is required. The actor processes one company per run; in Clay, map it to a column and it runs once per row automatically. For bulk processing, trigger one run per company; successful resolutions are cached for 7 days, so repeat lookups are near-instant and free.

Output

One flat row per entity.

{
"input_company_name": "Stripe",
"input_domain": "stripe.com",
"input_linkedin": null,
"name": "Stripe",
"domain": "stripe.com",
"linkedin_url": "https://www.linkedin.com/company/stripe",
"confidence_score": 100,
"match_method": "exact_domain",
"domain_confidence": 100,
"linkedin_confidence": 92,
"name_confidence": 95,
"resolved": true,
"run_date": "2026-06-21T08:42:13.612Z"
}
FieldTypeDescription
input_company_namestring or nullEcho of the name you provided.
input_domainstring or nullEcho of the domain you provided.
input_linkedinstring or nullEcho of the LinkedIn you provided.
namestring or nullCanonical company name.
domainstring or nullCanonical primary domain.
linkedin_urlstring or nullCanonical LinkedIn company URL.
confidence_scoreintegerOverall match confidence, 0-100.
match_methodstringHow the tuple was established (see below).
domain_confidenceinteger or nullPer-field confidence for the domain, 0-100.
linkedin_confidenceinteger or nullPer-field confidence for the LinkedIn URL, 0-100.
name_confidenceinteger or nullPer-field confidence for the name, 0-100.
resolvedbooleanTrue when a canonical tuple was produced.
run_datestringISO 8601 run timestamp.

match_method values:

ValueMeaning
exact_domainA domain was provided and validated; the cleanest case.
search_resolvedThe canonical domain was found by searching from the name or LinkedIn.
linkedin_patternResolution was anchored on the LinkedIn slug (provided or pattern-derived) without a domain.
jsonldIdentity was confirmed via the homepage schema.org Organization data.
conflictThe provided inputs disagree; surfaced with a capped confidence score, not merged.
unresolvedNo canonical identity could be produced from the input.

Pricing

TierDiscountPer resultPer 1K results
Free (no plan)0%$0.00700$7.00
Starter (Bronze)~5%$0.00665$6.65
Scale (Silver)~10%$0.00630$6.30
Business (Gold)~15%$0.00595$5.95

Pay per event, billed per entity resolved. No subscription, no seat license, no contract. Cached repeat lookups within 7 days are free (not charged).

Free tier: 50 results per calendar month included, resets monthly. Tracked in a Key-Value Store in your own account. When the limit is reached the run exits cleanly with an upgrade notice. Upgrade to any paid Apify plan for unlimited resolution: https://apify.com/pricing

Usage Examples

Apify Console / API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const { defaultDatasetId } = await client.actor('mambalabs/company-identity-resolver').call({
company_name: 'Stripe',
domain: 'stripe.com',
});
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items[0]); // { name, domain, linkedin_url, confidence_score, match_method, ... }

Clay Integration

  1. Add an Enrichment > Integrations > Apify column to your table.
  2. Select Company Identity Resolver.
  3. Map any columns you have: company_name, domain, linkedin_url. At least one is required.
  4. Run. Each row returns the canonical name, domain, linkedin_url, and confidence_score.
  5. Filter or dedup on domain (the canonical key) and gate on confidence_score to keep only trusted matches.

MCP Integration (AI agents)

This actor is callable as a tool over MCP by AI clients like Claude Desktop, Cursor, VS Code (GitHub Copilot), and Windsurf. Apify hosts the MCP server at mcp.apify.com, so no custom server code is needed.

{
"mcpServers": {
"mamba-labs-identity-resolver": {
"url": "https://mcp.apify.com?tools=mambalabs/company-identity-resolver"
}
}
}

Prefer one install for the whole fleet? The Mamba Labs GTM Suite (https://www.npmjs.com/package/@mambalabsdev/mcp-gtm-suite) exposes eleven of these actors as tools in a single MCP server.

Example prompts:

  • "Resolve the canonical identity for the company 'Stripe' and give me its domain and LinkedIn URL with confidence scores."
  • "I have domain stripe.com and LinkedIn slug notion; do they refer to the same company?"

MCP runs use the same pay-per-event pricing as direct API or Console runs.

Error Handling

ConditionBehaviorOutput
No input field providedGraceful empty recordresolved = false, match_method = unresolved, confidences null
Provided domain does not resolve in DNSEchoed and flagged weakdomain_confidence = 70, overall score reduced
Name-to-domain ambiguous (common name, holding company)Best candidate chosen, confidence cappedmatch_method = search_resolved, domain_confidence <= 55
Inputs disagreeSurfaced, not mergedmatch_method = conflict, confidence_score <= 40
LinkedIn not foundThat field nulled onlylinkedin_url = null, linkedin_confidence = null, other fields intact
Free-tier cap reachedClean exit, no chargeUpgrade notice

Limitations

  • Name-to-domain resolution is inherently ambiguous for very common names, holding companies, and recent rebrands. The actor surfaces this in the confidence score rather than hiding it; threshold on confidence_score for high-trust pipelines.
  • LinkedIn is validated login-free (HEAD request, slug pattern, public search), so it is a corroborating anchor, not a content source. No personal profiles are read.
  • Public data only. No Crunchbase, no LinkedIn login, no paid third-party API.
  • Data freshness: resolved identities are cached for 7 days. Use skipCache = "true" to force a fresh resolution.

Mamba Labs GTM Actor Fleet

ActorWhat it doesPrice/result
GTM Hiring Signal ScraperDetects GTM hiring from career pages (Greenhouse, Lever, Ashby)$0.05
GTM Tech Stack Signal EnrichmentDetects CRM, sequencer, and marketing automation from a public site$0.015
GTM Signals AggregatorCombines hiring and tech signals into one composite GTM score$0.09
Job Board Keyword Signal ScannerScans 5 ATS platforms for roles in any category$0.05
Domain to LinkedIn URL ResolverResolves a domain or name to its LinkedIn URL with firmographics$0.006
ICP Fit ScorerScores a company against your ideal customer profile$0.05
Domain Deliverability CheckerAudits email deliverability: SPF, DKIM, DMARC, MX, health score$0.005
Company Firmographic EnricherEnriches a domain into employee band, industry, HQ, revenue$0.004
Company Social Presence MapperMaps a domain to social URLs and follower counts$0.015
Company Identity ResolverResolves name, domain, or LinkedIn into one canonical identity$0.007
Company Change-Event FeedMonitors a domain and returns only what changed since last run$0.06
Funding & Press Signal ScannerScans news and press for funding, exec moves, launches, M&A$0.03

One-install option: the Mamba Labs GTM Suite MCP server exposes eleven of these actors as tools in a single package. Each actor also has its own MCP wrapper.

All actors: apify.com/mambalabs | Website: mambabuilt.com

Built by Mamba Labs.