Company Domain Finder: Name to Official Website
Pricing
$15.00 / 1,000 company resolveds
Company Domain Finder: Name to Official Website
Resolve a company name to its official website domain, filtering out Wikipedia, LinkedIn, social media and directory sites. No login, no API key.
Pricing
$15.00 / 1,000 company resolveds
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
What does Company Domain Finder do?
It turns a bare company name into that company's official website domain: not its Wikipedia page, not its LinkedIn page, not a directory listing, the actual site. Give it Figma and you get https://figma.com. Give it a name that does not resolve to a real, matching site, and you get nothing, and you are not charged for it.
It is the missing first step in most company-research pipelines: a CRM export, a form fill, or a spreadsheet of leads almost always has a company name, and almost never has the domain you actually need to enrich, verify, or crawl from there.
✅ No login required | ✅ No API key | ✅ Pay only for a domain actually resolved | ✅ MCP-ready for AI agents
Who is it for?
Sales and RevOps teams turning a CRM import or a lead spreadsheet into something the rest of the stack can use. Anyone building an email-pattern check, a firmographic lookup, or a website crawl that starts from a company name instead of a domain. AI agents that receive a company name in conversation and need the real domain before calling another tool.
How much does it cost to find a company's domain?
One price, per company actually resolved, the same on every Apify plan. There is no tier discount to chase here.
| Event | Price |
|---|---|
| Company resolved | $0.015 |
The Pricing tab on this page is the single source of truth and always shows the rate for your plan. If this table and the Pricing tab ever disagree, the Pricing tab is right.
What a real job costs. Apify's Free plan includes $5 of usage credit every month, roughly 333 companies resolved at no cost to you. A 500-company CRM cleanup costs about $7.50. A 2,000-company quarterly enrichment pass costs about $30.00.
What is never charged. A company that returns no usable, matching result costs nothing. The charge event fires only once a resolved domain is in your dataset.
How does it work without an API key?
The actor searches for the company name plus "official site" and reads the first result whose domain plausibly belongs to that company. It tries Brave first and falls back to Google, so a change at one search engine does not take the actor offline.
A fixed exclusion list removes the obvious non-answers first: Wikipedia, LinkedIn, Facebook, Instagram, YouTube, Crunchbase, Glassdoor, Indeed, Reddit, GitHub, and a handful of others that often outrank a company's own site but are never the official domain. That list alone is not enough. A nonsense company name still returns some top hit from a search engine, a spelling-suggestion page or a domain-checker site, so this actor also checks that the candidate domain's own name actually contains a real word from the company name you asked for. A candidate that fails that check is dropped rather than billed, which is the honest reason a company can come back unresolved and unbilled: not every failure is a blocked page, some are a search engine returning something irrelevant for a name it cannot match.
Because it never authenticates with any service and never uses cookies, there is no account or ban risk on your side. It reads public search results, the same ones your own browser would show for the same query.
🧾 What input does it take?
{"companies": ["Figma", "Stripe", "Notion"]}
| Input | Required | What it does |
|---|---|---|
companies | Yes | One or more company names to resolve, for example Figma or Tata Consultancy Services. Capped at 30 per run to keep cost bounded, since every lookup here is a paid search. |
📤 What data do you get back?
Every row below is real, from a single live run against companies: ["Figma", "Stripe", "Notion", "Basecamp", "Atlassian", "Shopify", "Zerodha", "Tata Consultancy Services", "3M", "Alphabet", "Razorpay", "Freshworks"], including the one company that did not resolve:
[{ "company": "Figma", "domain": "https://figma.com", "resolved": true, "checked_at": "2026-09-10T14:22:29.100Z" },{ "company": "Stripe", "domain": "https://stripe.com", "resolved": true, "checked_at": "2026-09-10T14:22:34.290Z" },{ "company": "Notion", "domain": "https://notion.com", "resolved": true, "checked_at": "2026-09-10T14:22:42.988Z" },{ "company": "Basecamp", "domain": "https://basecamp.com", "resolved": true, "checked_at": "2026-09-10T14:22:58.643Z" },{ "company": "Atlassian", "domain": "https://atlassian.com", "resolved": true, "checked_at": "2026-09-10T14:23:01.125Z" },{ "company": "Shopify", "domain": "https://shopify.com", "resolved": true, "checked_at": "2026-09-10T14:23:02.831Z" },{ "company": "Zerodha", "domain": "https://zerodha.com", "resolved": true, "checked_at": "2026-09-10T14:23:04.971Z" },{ "company": "Tata Consultancy Services", "domain": "https://tata.com", "resolved": true, "checked_at": "2026-09-10T14:23:08.149Z" },{ "company": "3M", "resolved": false, "checked_at": "2026-09-10T14:23:39.656Z" },{ "company": "Alphabet", "domain": "https://alphabet.com", "resolved": true, "checked_at": "2026-09-10T14:23:44.440Z" },{ "company": "Razorpay", "domain": "https://razorpay.com", "resolved": true, "checked_at": "2026-09-10T14:23:51.942Z" },{ "company": "Freshworks", "domain": "https://freshworks.com", "resolved": true, "checked_at": "2026-09-10T14:23:55.106Z" }]
Every record contains these fields:
| Field | Description |
|---|---|
🏢 company | The company name you passed in |
🔗 domain | The resolved official domain, as https://example.com. Absent when the company did not resolve |
✅ resolved | true when a matching domain was found and charged, false when nothing usable came back |
🕒 checked_at | ISO timestamp when the lookup ran |
domain is included only when a company resolves. When it does not, the field is dropped rather than sent as null, and resolved is false, exactly like 3M in the sample above.
Every run also ends with a final _type: "summary" record. It is informational only and never billed.
What are the limitations?
Worth knowing before you buy, so there are no surprises:
- A two-character brand name never resolves. The plausibility check that keeps this actor from being billed for garbage matches works by requiring a real word of at least three characters from the company name inside the candidate domain.
3Mis two characters and fails that check outright, so it always comes back unresolved, even though3m.comis a real, correct answer. This is a deliberate trade-off: the same rule that makes3Munresolvable is what stops a nonsense name from resolving to an unrelated site and getting billed. - Coverage is search-result accuracy, not a company registry. The result is whatever a public search engine ranks first for that name plus "official site," filtered for plausibility. It is not cross-checked against a business registry.
- A common or ambiguous company name can resolve to the wrong same-named company. Treat an unfamiliar result as a candidate to confirm, the same caution that applies to any search-based match.
- No firmographics, no contact data. This actor returns a domain only. For company identity data (registration, jurisdiction), see Company KYB Resolver. For people and emails at that domain, see B2B Leads Finder.
💼 What can you use it for?
CRM and lead-list enrichment. Turn a spreadsheet of company names into domains you can actually use for email-pattern checks, firmographic lookups, or outbound personalization.
Company research pipelines. Chain this in front of a website crawl, a LinkedIn company lookup, or a tech-stack detector, all of which need a domain, not a name, as their starting point.
Data cleanup. Backfill a domain field that a form, an import, or a legacy CRM record left empty.
AI agent tool calls. Give an agent a way to resolve "what's Figma's website" into a usable URL without a search API key of its own.
🚀 How do I get started?
- Open the actor and enter one or more company names in
companies. - Click Start.
- Download as JSON, CSV, or Excel, or pull the dataset via API or MCP.
🔁 Can I run it on a schedule?
Yes, with Apify's built-in Schedules. No code and no cron server of your own.
- Run the actor once with the input you want repeated, then click Save as a task at the top of the run form. This keeps your exact input attached for every future run.
- In the Apify Console, go to Schedules in the left sidebar, then Create new.
- Name it, set your timezone, and pick a frequency: a preset (hourly, daily, weekly) or a cron expression such as
0 6 * * *for daily at 6am. - Under Actors or tasks to run, add the task you saved in step 1.
- Save. It then runs unattended, billed the same pay-per-company way as a manual run. Nothing is charged just for the schedule existing.
Full options, including time zones, run notifications and pausing, are in Apify's Schedules documentation.
Is looking up a company's public website legal?
This actor reads only public search-result pages: the same results your own browser would show for the same query. It does not log in to any service, does not use cookies, and does not access anything behind an authentication wall.
That said, this is general information and not legal advice. You remain responsible for how you use the data, including your obligations under GDPR, CCPA and similar laws if you join a resolved domain to personal data elsewhere in your pipeline.
FAQ
Why wasn't a company resolved? Either the search returned nothing usable, or the only candidates were on the exclusion list (Wikipedia, LinkedIn, etc.) or failed the name-match check. The run log records which happened.
Am I charged for a company that doesn't resolve? No. The charge event fires only once a matching domain is actually in your dataset.
Why does a real company like 3M never resolve?
Because the plausibility check requires a real word of at least three characters from the company name inside the candidate domain, and 3M is two characters. This is a known, deliberate limitation, see "What are the limitations?" above.
Can this return the wrong company for a common name? Occasionally. A generic name can return a same-named but different company's site. Treat the result as a strong candidate on ambiguous names.
Does this need any login or API key? No. It performs a public search and reads the results; it never logs in to any service.
How many companies can I run at once? Up to 30 per run. Every lookup is a paid search, so the cap keeps a run's cost bounded.
Can I use Company Domain Finder through an MCP server? Yes. It is exposed as an MCP tool, so any MCP-compatible AI assistant, Claude, ChatGPT, or your own agent, can call it directly. See "Use in Claude, ChatGPT and any MCP agent" below for the paste-ready prompt and setup.
🤖 Use in Claude, ChatGPT and any MCP agent
Add it to Claude Code in one line:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=themineworks/company-domain-finder"
Or point any MCP client at:
https://mcp.apify.com/?tools=themineworks/company-domain-finder
Things an agent can ask for once connected:
- "What is Figma's official website?"
- "Resolve the domain for each of these 20 companies."
- "Get the domain for Tata Consultancy Services and check its Authority Score."
Copy this into your AI assistant
Paste the line below into ChatGPT, Claude, or any assistant connected to Apify's MCP, and it will run the job for you:
Use the Apify actor themineworks/company-domain-finder to resolve the official website domain for Figma, Stripe, and Notion. Return the results as a table.
Or call it programmatically with the Apify client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('themineworks/company-domain-finder').call({companies: ['Figma', 'Stripe', 'Notion'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
🛠️ Related actors
Found the domain. Now go further with it:
- Domain to LinkedIn URL Resolver: turn that same domain into the company's LinkedIn page, homepage-first, no guessing.
- LinkedIn Company Scraper: firmographics (industry, size, HQ, founded, website) from a company page URL.
- LinkedIn Email Finder: turn a person's name and this company's domain into their most likely work email.
- Company KYB Resolver: GLEIF LEI number, jurisdiction, and SEC EDGAR CIK for the resolved company.
- B2B Leads Finder: named decision-maker contacts with business emails and phone numbers from the resolved domain.
Typical flow: this actor turns a name into a domain, then the domain feeds any of the above.
Found a bug or have a feature request? Open an issue on the actor's Apify Console page.