A Claude Code skill: company name → domain, $50 per 100k
Free where it can be. Pennies where it must. A model only on the tail.
You've got a list of company names — tens of thousands of them — and you need a domain for every one. Vendors sell you that for fifty cents a row. On a 100,000-company list, that's fifty grand to look up something the internet already knows.
I built a Claude Code skill that does it for about a twentieth of a cent each. Free where the answer is already sitting in a table I own or in Google's Knowledge Graph. A rounding-error search where it isn't. A cheap model only on the names that are genuinely ambiguous. And it checks every domain against what the site says about itself — so it never hands you a confident wrong answer. The whole list lands for about fifty bucks.
The wall every list hits
Every enrichment job starts the same way. You have names. You need domains. Nothing downstream works until you have them — no contacts, no firmographics, no message.
So you reach for one of three things. You pay a per-row vendor — ZoomInfo, Clearbit — fifty cents a row while the meter runs. You Google each name programmatically and take the top result. Or you hand the whole list to an LLM and ask it for domains.
All three have the same hole: none of them check whether the answer is right. The vendor hands you a domain, the search hands you a domain, the model hands you a domain — and at a hundred thousand rows, you're not checking by hand.
At scale, the data is all over the board
Ten companies, you eyeball it. A hundred thousand, and there's no clean rule that holds.
Sometimes the domain is the name. "Anderson Plumbing Heating and Air" lives at andersonplumbingheatingandair.com — the whole mouthful, the "and" included.
Sometimes the domain looks nothing like the name:
Boston Medical Center → bmc.org. An acronym. A .org. Nothing in the name points to it.
Sandy Springs Internal Medicine → ssim.com. Four words collapsed to four letters.
Mass General Brigham → massgeneralbrigham.org, not massgeneral.org, not .com.
This is where the shortcuts break. Google "Boston Medical Center" and the top hit might be a directory, a LinkedIn page, or a different Boston clinic with a similar name. Ask an LLM and it'll hand you bostonmedicalcenter.com with total confidence — a domain that doesn't exist. The hard part was never the obvious names. It's the tail, where the domain shares nothing with the name, and the top result is wrong as often as it's right.
What the tool actually does: a waterfall
No single source resolves a messy list. So you stack them cheapest-first and stop the moment one is confirmed.
Free first — two sources cost nothing. Google's Knowledge Graph hands back the official site for any company it already knows, free, a hundred thousand lookups a day. And a local table — twelve million US businesses scraped from Google Maps once — carries the small-business tail, phone included. A big slice of your list clears right here.
A rounding-error search, for the rest. When the owned table misses, one cheap search call returns the candidate — the same Google lookup you'd do by hand, except every hit has to pass verification before it counts.
A cheap model, only on the genuinely ambiguous. Parent versus subsidiary. A rebrand. A name forty small businesses share. Most rows never reach it.
Flag, don't guess. When nothing can confirm the domain, the tool returns needs review instead of a confident wrong answer.
Every tier above costs less than the one below it, and most of your list clears in the first two. That's the spend rule the whole thing runs on: as free as is wise. Free when it's right and fast. A fraction of a cent when that's what makes it sure. Never a flat vendor fee for work the website will confirm.
The advice that wastes everyone's time
There's a tip that gets repeated every time domain resolution comes up: "verify it with the SSL certificate — the cert names the company."
It's a coin flip at best. I pulled the live certificate on twelve well-known companies. Five named themselves. Seven didn't. And there's no pattern you can use:
Name themselves: Apple, IBM, Stripe, Datadog, Snowflake.
Say nothing: Anthropic, Notion, Ramp, Shopify, DoorDash, Klarna, Gong.
Old guard and modern SaaS sit on both sides — you can't predict it. Their certs are issued by Let's Encrypt, Google, and Amazon, free authorities that never write a company name into the cert.
Now check the businesses actually on your list. The ones from earlier — bmc.org, ssim.com, the plumber — every one runs a free certificate with no name in it. For the tail, the cert is silent. It tells you who issued it, not who owns it.
So how do you know you've got the right domain? You ask the page. Its title says the company name. Its Open Graph tags say the company name. Its structured data — the block sites publish for Google — often lists the company's own LinkedIn and Wikipedia pages. The site tells you who it is. You verify against that, not against a certificate that's blank two-thirds of the time.
The discipline: a wrong domain is worse than a blank
This is the part most tools get wrong. They'd rather return something than nothing.
But a wrong domain doesn't just waste a row. It poisons everything downstream — you enrich the wrong company, you find the wrong contacts, you send a stranger a message about a problem they don't have. A blank you can fix later. A confident wrong answer you ship.
So when the page can't confirm it, the tool says so. "Summit Roofing," no city, a dozen live candidates and nothing that proves which — needs review. It doesn't pick one and hope. That refusal is the feature.
Own the data, don't rent each lookup
The free tier — the twelve-million-business local table — isn't mine. Eric Nowosolski (GrowthEngineX) scrapes Google Maps and ships it open-source. Credit where it's due.
Own the data once, stop renting each lookup. The phone that disambiguates "Riverside Dental in Portland" from the one in Kansas is just sitting in the row. You don't pay a vendor per call for a fact you can hold locally.
The cost, honestly
It's not magic, and the tail is real. On a hard test slice, the confident majority resolved clean and cheap; the rest got flagged for a human instead of guessed. I measured the bill: about $0.0005 a name — fifty dollars for a hundred thousand. The free Knowledge Graph carries the companies Google already knows, the owned table carries the small-business tail, a rounding-error search picks up the rest, and a cheap model settles the genuine ambiguity.
That fifty assumes you're buying search at volume — run a small one-off list at retail pricing and it's closer to a hundred. Either way: your vendor charges fifty cents a row for the same list, skips the verification step, and bills you fifty thousand dollars for a list you can't trust. Fifty dollars for one you can, or fifty thousand for one you can't.
It was never really about domains. The same move — take the cheapest source that actually knows, verify what the thing declares about itself, refuse to assert what you can't confirm — resolves LinkedIn URLs, parent companies, rebrands. Verify, don't buy.
Below is the geeky version. Copy it into Claude Code and rebuild the whole thing yourself.
Or don't. Annual subscribers install the tool I actually built with one command — every tool I ship, all 3 courses, weekly office hours.
→ Go annual — $2,499/yr · Start at $50/mo (most readers start here)







