# DigMyName [![npm version](https://img.shields.io/npm/v/domain-check-skills-mcp?color=6d28d9&label=npm&logo=npm)](https://www.npmjs.com/package/domain-check-skills-mcp) [![npm downloads](https://img.shields.io/npm/dm/domain-check-skills-mcp?color=10b981&label=downloads)](https://www.npmjs.com/package/domain-check-skills-mcp) [![license MIT](https://img.shields.io/badge/license-MIT-2563eb)](https://github.com/seomarlboro/digmyname/blob/main/LICENSE) ![MCP compatible](https://img.shields.io/badge/MCP-compatible-7c3aed) ![free, no API key](https://img.shields.io/badge/free-no%20API%20key-16a34a) **The fastest domain search — or the second. Dispute it.** Free, honest domain availability checks across 50+ TLDs with 6-registrar price comparison. ## Links - Website: https://digmyname.com - Free API: https://digmyname.com/api - MCP server: https://digmyname.com/mcp (npm: [`domain-check-skills-mcp`](https://www.npmjs.com/package/domain-check-skills-mcp)) - Speed benchmark: https://digmyname.com/speed ## Quick start No install needed to try it — the site and the API are both live. ```sh curl "https://api.digmyname.com/functions/v1/public-api/check?domain=acmeforge.io" ``` ```json { "result": { "domain": "acmeforge.io", "available": true, "price_usd": 28.12, "cheapest_registrar": { "name": "Porkbun", "reg_price_usd": 28.12 }, "buy_url": "https://porkbun.com/checkout/search?q=acmeforge.io" } } ``` Free, no API key, no account — 60 requests/minute/IP and 5,000 domains per UTC day/IP. Full docs: [digmyname.com/api](https://digmyname.com/api). Want your LLM to call it directly instead? One line: `claude mcp add domain-check -- npx -y domain-check-skills-mcp` — see [mcp/README.md](./mcp/README.md). ## What it does DigMyName checks domain availability in real time across 50+ TLDs. Availability is cross-checked against two independent signals on every name — RDAP (resolved via the IANA bootstrap registry) and DNS-over-HTTPS (Cloudflare, Google and AdGuard, hedged) — with a third, Fastly Domain Research, brought in only where those two are not enough (an uncertain answer, a premium suspect, a brand-blocked label, the zones without public RDAP, and the name the visitor typed). When the signals disagree we show an honest **Unverified** state instead of guessing. For the popular extensions the visitor's browser asks the registry's RDAP server and DNS-over-HTTPS directly for the first answer, over connections opened while the name is still being typed; the edge re-checks every card and stays the authority. Prices are refreshed weekly from the registrars' own catalogs and pages. On top of availability you get side-by-side registrar pricing for 6 registrars, including the renewal traps that first-year promo prices hide (a $1 registration that renews at $61 is not a deal). Everything is also exposed through a free, no-auth JSON API for agents, plus an MCP server so any LLM — Claude, Cursor, Windsurf, Continue, Zed — can check domains directly. ## Speed **Under 0.5 s** to the first answer at the 95th percentile for a cold visitor — 386 ms from the US, 485 ms from the EU, 150 fresh browsers each, September 2026 · the full check with pricing lands in about half a second (median). Everyday numbers, not a lab result — the on-screen stopwatch is the live proof; your numbers vary by network, TLD and cache — see [digmyname.com/speed](https://digmyname.com/speed). ## Tech stack - Vite - React - TypeScript - shadcn/ui - Tailwind CSS - Supabase edge functions (Deno) ## Development The only requirement is having Node.js & npm installed — [install with nvm](https://github.com/nvm-sh/nvm#installing-and-updating). ```sh # Step 1: Clone the repository. git clone https://github.com/seomarlboro/digmyname.git # Step 2: Navigate to the project directory. cd digmyname # Step 3: Install the necessary dependencies. npm i # Step 4: Start the development server with auto-reloading and an instant preview. npm run dev ``` ### Tests ```sh npm test # vitest: frontend, route table, prerender, search lanes, browser lane deno test -A supabase/functions/fetch-registrar-prices/parsers_test.ts # price-source parsers (fixtures from the real pages) deno test -A supabase/functions/_shared/pipeline_test.ts # availability pipeline ``` ### Benchmark `scripts/bench/first-answer.mjs` measures what a cold visitor sees on the stopwatch: each visitor is a fresh browser that loads the home page, pauses, types a name nobody has checked and stops when the first verdict paints. It needs Playwright (`npm i playwright && npx playwright install chromium` in any scratch folder, then `node first-answer.mjs`); the `bench-first-answer` GitHub Actions workflow runs the same script from a US runner on demand. Numbers quoted on the site come from these runs, with date, location, sample size and percentile. ## License MIT. The `mcp/` package is published under MIT as well. ## Built with Lovable DigMyName is built and shipped with [Lovable](https://lovable.dev). If you want to try it, this is a **referral link** — signing up through it gives *you* free Lovable credits and supports DigMyName's development at no cost to you: **https://lovable.dev/invite/8W3RM72** (Prefer no referral? Just go to [lovable.dev](https://lovable.dev) directly.)