AI Domain Finder - Confirmed Available Domains
Pricing
from $50.00 / 1,000 confirmed available domains
AI Domain Finder - Confirmed Available Domains
Describe your idea in plain English. Get up to 50 brandable domain names confirmed available via RDAP and WHOIS, scored on TLD fit, typo-resistance, and multi-language safety, each tagged register / consider / monitor / skip.
Pricing
from $50.00 / 1,000 confirmed available domains
Rating
0.0
(0)
Developer
Marielise
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
AI Domain Finder
Describe your product in plain English. Get a shortlist of brandable, confirmed-available domains with a clear register / consider / monitor / skip recommendation per result.
Built for founders, indie hackers, agencies, product teams, and LLM agents (via MCP) who need to move from vague idea to a registerable shortlist in one run — without manually pasting names into a registrar search bar.
Who this is for
- Founders & solo builders naming a new startup, SaaS, marketplace, or app
- Agencies presenting naming options to clients across multiple verticals
- Product teams validating brand directions before design work begins
- LLM agents (via MCP) that need a structured, decision-ready domain pipeline as a tool call
- Growth teams sourcing fresh microsite or campaign domains
What it actually does
Most domain tools assume you already know the name. They make you type words in and click search. This Actor flips that: you describe your idea, and it returns 5-10 names that passed every quality gate and are confirmed available right now via authoritative sources.
The full pipeline (11 quality gates)
1. AI classifies your idea into one of 11 business types→ marketplace, saas-b2b, saas-b2c, dev-tool, ai-product,consumer-app, content-site, agency, portfolio, ecommerce2. AI generates candidates biased to your idea-type→ 40-candidate pool, distributed across naming strategies(portmanteau / compound / made-up / metaphor / verb-first / minimal)→ Targets best-fit TLDs first (e.g. .com for marketplace, .dev for dev-tool)3. Hard substring denylist (zero-AI-cost gate)→ blocks names with scatological/sexual/slur substrings4. Awkward-suffix filter (zero-AI-cost gate)→ drops -dept, -corp, -ltd, -gov, -official, etc. for non-agency types5. DNS validity check→ enforces RFC 1035 (lowercase alphanumeric + internal hyphens, ≤63 chars)6. RDAP + native whois availability check (FREE, no API key)→ modern RDAP protocol + TCP whois on port 43→ multi-source consensus: high/medium/low confidence per result→ Domainr + Porkbun supported as optional enrichers (price + premium flag)7. AI relevance scoring (0-10)→ drops names below your relevance floor (default 5.0)8. AI typo-resistance check (NEW!)→ catches names that LOOK LIKE typos of real words→ "dogstrid" reads as botched "stride" → flagged→ "walkoos" reads as genuine invented brand → passes9. AI multi-language safety check→ flags negative connotations across EN/ES/FR/IT/DE/NL/PT→ catches phonetic matches the substring list misses10. AI brand-clash check→ flags collisions with famous existing brands (Zoom, Google, Stripe, etc.)→ severity: high/medium drops, low noted but kept11. Final scoring + ranking→ totalScore = relevance × 0.6 + memorability × 0.10 + tld-fit × 0.30→ ranked output with `recommendedAction` decision signal
Retry loop until count is met
If the first batch doesn't yield enough names, the Actor runs up to 5 retry batches with growing pool sizes and seen-name exclusion. The final 1-2 retries enter rescue mode (relaxed relevance floor + skipped brand-clash) to honor your count request when filters are aggressive.
Key features
| Feature | Detail |
|---|---|
| Plain-English input | Just describe your idea — no need to invent names yourself |
| 11 quality gates | Substring, suffix, DNS, RDAP, whois, relevance, typo, safety, brand-clash, scoring, TLD-fit |
| Free authoritative availability | RDAP + native whois — no API key required for the default check |
| Optional API enrichers | Domainr (aftermarket signal) + Porkbun (price + premium flag) |
| Multi-AI provider | Use OpenAI or Anthropic; works with both |
| Idea-type classification | Auto-classifies your idea so TLDs and prompts adapt (marketplace gets .com priority, dev-tool gets .dev/.io, etc.) |
| Decision-ready output | recommendedAction: register / consider / monitor / skip |
| Per-result rationale | pickReason + risksAndCaveats explain every recommendation |
| Drop transparency | Every filtered-out name listed in droppedCandidates with reason |
| Per-TLD diagnostics | See exactly how many candidates were generated/available/returned per TLD |
| Token + cost tracking | Every run reports its own token usage + estimated USD spend |
| MCP-ready output | Single decision field per result, predictable schema, structured for LLM consumption |
Input example
Minimum viable input — just idea and aiApiKey:
{"idea": "a marketplace for freelance dog walkers in Europe","aiApiKey": "sk-ant-..."}
Full input with all tuning options:
{"idea": "a marketplace for freelance dog walkers in Europe","ideaType": "marketplace","keywords": ["walk", "paw", "dog"],"tlds": [".com", ".io", ".co", ".ai", ".app"],"count": 10,"candidatePoolSize": 40,"style": "creative","avoidWords": ["pup"],"maxLength": 12,"aiProvider": "openai","aiApiKey": "sk-...","domainrApiKey": "optional-domainr-key","porkbunApiKey": "optional-porkbun-key","porkbunSecretKey": "optional-porkbun-secret","excludePremium": true,"relevanceFloor": 5,"runTypoCheck": true,"runSafetyCheck": true,"runBrandClashCheck": true}
Output example
Each row in the dataset is one confirmed-available domain with a full decision package:
{"domain": "pawmile.com","name": "pawmile","tld": ".com","available": true,"confidence": "high","premium": false,"checkedVia": "rdap+whois","ideaType": "marketplace","relevanceScore": 8.8,"memorabilityScore": 8.5,"tldScore": 10,"totalScore": 9.1,"namingStrategy": "compound","aiRationale": "Suggests a walking distance for dogs.","pickReason": "Compound of two real words — Suggests a walking distance for dogs. .com is the strongest TLD for a marketplace. Directly evokes the concept.","risksAndCaveats": [],"recommendedAction": "register","registrarUrl": "https://dash.cloudflare.com/?to=/:account/domains/register/pawmile.com","estimatedPrice": null,"generatedAt": "2026-05-14T18:27:34.961Z"}
How to use the output
| Field | What to do with it |
|---|---|
recommendedAction = "register" | Score ≥ 8.0, high confidence, no critical risks. Buy now. |
recommendedAction = "consider" | Score ≥ 7.0 but with caveats — read risksAndCaveats first |
recommendedAction = "monitor" | Borderline. Worth watching if higher picks are taken. |
recommendedAction = "skip" | Premium-priced or quality issues. Pass. |
confidence = "high" | RDAP + whois both confirmed available |
confidence = "medium" | Only one source decisive (often on .app/.dev — Google strips public whois) |
confidence = "low" | Sources disagreed — verify manually before buying |
premium = true | Registry holds at marked-up pricing ($100s–$1000s, not standard rate) |
pickReason | One-sentence rationale combining naming strategy + TLD fit + relevance |
risksAndCaveats | Empty = clean. Non-empty = read each line before deciding. |
registrarUrl | Direct deep-link to Cloudflare Registrar (at-cost) or Porkbun if configured |
OUTPUT.json — full run summary
The key-value store gets a complete run report:
{"input": { /* echoed input */ },"stats": {"generatedCount": 113,"filteredOutCount": 0,"checkedCount": 113,"availableCount": 14,"returnedCount": 10,"requestedCount": 10,"metRequestedCount": true,"retryBatchesRun": 5,"rescueModeUsed": true,"recommendedActions": { "register": 6, "consider": 2, "monitor": 2, "skip": 0 },"processingMs": 103456,"checkedVia": "rdap+whois","scorer": {"inputCount": 14,"hardDenylistDrops": 0,"awkwardSuffixDrops": 0,"relevanceFloorDrops": 1,"typoDrops": 1,"safetyDrops": 0,"clashDrops": 5,"survived": 10},"bestFitTldsForIdea": [".com", ".co", ".market", ".shop", ".store"],"bestFitReturned": 7,"tldBreakdown": [{ "tld": ".com", "requested": true, "generated": 113, "available": 10, "returned": 7 },{ "tld": ".io", "requested": true, "generated": 8, "available": 4, "returned": 2 },{ "tld": ".co", "requested": true, "generated": 54, "available": 0, "returned": 0, "note": "Candidates generated but none passed availability check" },{ "tld": ".ai", "requested": true, "generated": 0, "available": 0, "returned": 0, "note": "No candidates generated for this TLD — AI ignored or rejected it" }],"tokenUsage": {"totalCalls": 28,"inputTokens": 14788,"outputTokens": 7727,"estimatedCostUsd": 0.114,"byCall": {"classify-idea": { "callCount": 1, "inputTokens": 322, "outputTokens": 8, "estimatedCostUsd": 0.0009 },"generate-candidates": { "callCount": 6, "inputTokens": 8273, "outputTokens": 7052, "estimatedCostUsd": 0.0912 },"score-relevance": { "callCount": 6, "inputTokens": 1303, "outputTokens": 274, "estimatedCostUsd": 0.0058 },"check-typo": { "callCount": 6, "inputTokens": 2925, "outputTokens": 71, "estimatedCostUsd": 0.0080 },"check-safety": { "callCount": 5, "inputTokens": 1165, "outputTokens": 246, "estimatedCostUsd": 0.0054 },"check-brand-clash": { "callCount": 4, "inputTokens": 800, "outputTokens": 95, "estimatedCostUsd": 0.0030 }},"pricingAsOf": "2026-05"}},"droppedCandidates": [{ "domain": "walkglow.com", "gate": "relevance-floor", "reason": "relevance 4.5 below floor 5.0", "score": 4.5 },{ "domain": "dogbyrd.com", "gate": "typo-check", "reason": "looks like typo of 'dog bird'" },{ "domain": "walkzoom.com", "gate": "brand-clash", "reason": "medium clash with Zoom" },{ "domain": "dogwhizz.com", "gate": "safety-check", "reason": "sounds like 'whiz', slang for urination" }],"domains": [ /* full ranked results */ ]}
Cost transparency
The Actor reports its own token spend per run. Typical numbers (using gpt-4o):
| Scenario | AI calls | Estimated cost |
|---|---|---|
| Typical (no retries needed) | 6 | $0.022 |
| Single retry triggered | 12 | $0.045 |
| 3 retries (full quality) | 21 | $0.084 |
| Worst case (5 retries + rescue mode) | 28 | $0.13 |
Disable optional AI checks via input flags (runTypoCheck, runSafetyCheck, runBrandClashCheck) for cheap mode — saves ~30-40%.
Anthropic Claude Sonnet runs ~30% more expensive than OpenAI gpt-4o for the same call pattern.
Input parameters
Required
| Parameter | Type | Description |
|---|---|---|
idea | string | Plain English description of your business / product / project |
aiApiKey | string (secret) | API key for the chosen AI provider |
Common tuning
| Parameter | Type | Default | Description |
|---|---|---|---|
keywords | string[] | [] | Anchor words the AI should bias toward |
tlds | string[] | [".com", ".io", ".co", ".ai", ".app"] | TLDs to generate + check |
count | integer | 10 | Number of confirmed-available domains to return (1-50) |
style | enum | creative | creative / professional / playful / minimal |
maxLength | integer | 15 | Max characters in name part (4-30) |
avoidWords | string[] | [] | Words/fragments to exclude from suggestions |
aiProvider | enum | anthropic | anthropic or openai |
Advanced quality controls
| Parameter | Type | Default | Description |
|---|---|---|---|
ideaType | enum | auto-classify | Skip AI classification by setting manually: marketplace / saas-b2b / saas-b2c / dev-tool / ai-product / consumer-app / content-site / agency / portfolio / ecommerce / unknown |
relevanceFloor | integer | 5 | Drop candidates below this relevance score (0-10) |
candidatePoolSize | integer | adaptive | Override the per-batch generation size (10-60) |
excludePremium | boolean | true | Filter out registry-premium-priced domains |
runTypoCheck | boolean | true | Enable AI typo-resistance check (~1 AI call) |
runSafetyCheck | boolean | true | Enable AI multi-language safety check (~1 AI call) |
runBrandClashCheck | boolean | true | Enable AI brand-collision check (~1 AI call) |
Optional availability enrichers
| Parameter | Type | Description |
|---|---|---|
domainrApiKey | string (secret) | Adds aftermarket / marketed-for-sale signal |
porkbunApiKey | string (secret) | Adds price quotes + premium flag |
porkbunSecretKey | string (secret) | Required with Porkbun API key |
The default RDAP + whois availability check works without any of these keys.
Using via MCP (LLM agents)
This Actor is designed for LLM agent consumption via the Apify MCP server. The output schema is deliberately flat + decision-ready:
For LLM consumers, the key fields are:
recommendedAction— single signal (register/consider/monitor/skip)risksAndCaveats— array of caveat strings (empty = clean)pickReason— pre-synthesized 1-line explanationconfidence— availability check confidence
Suggested LLM filter:
// Pick the strongest result with no caveatsconst winner = results.find(r =>r.recommendedAction === "register"&& r.risksAndCaveats.length === 0&& r.confidence === "high");
If the LLM consumer needs full reasoning, the OUTPUT.json blob includes all stats, drops, and TLD breakdown.
What the Actor will NEVER do
- Return a name that contains vulgar / scatological / sexual / slur substrings
- Return a name that "looks like a typo" of a real English word (e.g.
dogstrid) - Return a name with high or medium severity collision with a famous brand
- Return a name where the AI's safety check flags negative connotations across EN/ES/FR/IT/DE/NL/PT
- Return a name flagged as registry-premium (unless you explicitly set
excludePremium: false) - Return a name marked as unavailable by RDAP+whois (fail-closed on disagreement)
If a result makes it through these gates, it's safe to put on a business card.
What it WON'T guarantee
- Trademark clearance. The brand-clash check catches well-known brands but doesn't replace USPTO / EUIPO / local TM searches. Always verify TM before launching.
- Cultural appropriateness in every market. Safety covers 7 major languages. If you're launching in Mandarin/Hindi/Arabic markets, run a native-speaker review.
- Pronunciation in every accent. Memorability scoring is English-phonetic. Multi-region brands may need spoken-aloud testing.
- Pricing on premium domains. Premium domains are filtered by default; if you set
excludePremium: false, pricing comes from Porkbun (if configured) or isnull.
Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
metRequestedCount: false in OUTPUT.json | Your idea + TLD list is saturated, or filters too strict | Lower relevanceFloor, add more TLDs, broaden style, relax maxLength |
All results are .io / .app not .com | All .com names for your idea are registered | Try a more specific idea description, or adjust keywords |
confidence: medium on .app/.dev results | Google strips public whois for these TLDs | RDAP is still authoritative. Add a Porkbun key for second-source verification. |
High clashDrops count | AI keeps generating brand-adjacent names | Add famous-brand stems to avoidWords |
| Cost higher than expected | Multiple retries fired (saturated namespace) | Check stats.retryBatchesRun and rescueModeUsed. Adjust relevanceFloor to keep typical runs cheap. |
0 candidates generated for a TLD | AI judged TLD a poor fit for your idea type | This is intentional. Remove the TLD from input, or accept the breakdown's transparency. |
License
MIT