AI Domain Finder - Confirmed Available Domains avatar

AI Domain Finder - Confirmed Available Domains

Pricing

from $50.00 / 1,000 confirmed available domains

Go to Apify Store
AI Domain Finder - 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

Marielise

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

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, ecommerce
2. 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 substrings
4. Awkward-suffix filter (zero-AI-cost gate)
→ drops -dept, -corp, -ltd, -gov, -official, etc. for non-agency types
5. 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 → passes
9. AI multi-language safety check
→ flags negative connotations across EN/ES/FR/IT/DE/NL/PT
→ catches phonetic matches the substring list misses
10. AI brand-clash check
→ flags collisions with famous existing brands (Zoom, Google, Stripe, etc.)
→ severity: high/medium drops, low noted but kept
11. 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

FeatureDetail
Plain-English inputJust describe your idea — no need to invent names yourself
11 quality gatesSubstring, suffix, DNS, RDAP, whois, relevance, typo, safety, brand-clash, scoring, TLD-fit
Free authoritative availabilityRDAP + native whois — no API key required for the default check
Optional API enrichersDomainr (aftermarket signal) + Porkbun (price + premium flag)
Multi-AI providerUse OpenAI or Anthropic; works with both
Idea-type classificationAuto-classifies your idea so TLDs and prompts adapt (marketplace gets .com priority, dev-tool gets .dev/.io, etc.)
Decision-ready outputrecommendedAction: register / consider / monitor / skip
Per-result rationalepickReason + risksAndCaveats explain every recommendation
Drop transparencyEvery filtered-out name listed in droppedCandidates with reason
Per-TLD diagnosticsSee exactly how many candidates were generated/available/returned per TLD
Token + cost trackingEvery run reports its own token usage + estimated USD spend
MCP-ready outputSingle 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

FieldWhat 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 = trueRegistry holds at marked-up pricing ($100s–$1000s, not standard rate)
pickReasonOne-sentence rationale combining naming strategy + TLD fit + relevance
risksAndCaveatsEmpty = clean. Non-empty = read each line before deciding.
registrarUrlDirect 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):

ScenarioAI callsEstimated cost
Typical (no retries needed)6$0.022
Single retry triggered12$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

ParameterTypeDescription
ideastringPlain English description of your business / product / project
aiApiKeystring (secret)API key for the chosen AI provider

Common tuning

ParameterTypeDefaultDescription
keywordsstring[][]Anchor words the AI should bias toward
tldsstring[][".com", ".io", ".co", ".ai", ".app"]TLDs to generate + check
countinteger10Number of confirmed-available domains to return (1-50)
styleenumcreativecreative / professional / playful / minimal
maxLengthinteger15Max characters in name part (4-30)
avoidWordsstring[][]Words/fragments to exclude from suggestions
aiProviderenumanthropicanthropic or openai

Advanced quality controls

ParameterTypeDefaultDescription
ideaTypeenumauto-classifySkip AI classification by setting manually: marketplace / saas-b2b / saas-b2c / dev-tool / ai-product / consumer-app / content-site / agency / portfolio / ecommerce / unknown
relevanceFloorinteger5Drop candidates below this relevance score (0-10)
candidatePoolSizeintegeradaptiveOverride the per-batch generation size (10-60)
excludePremiumbooleantrueFilter out registry-premium-priced domains
runTypoCheckbooleantrueEnable AI typo-resistance check (~1 AI call)
runSafetyCheckbooleantrueEnable AI multi-language safety check (~1 AI call)
runBrandClashCheckbooleantrueEnable AI brand-collision check (~1 AI call)

Optional availability enrichers

ParameterTypeDescription
domainrApiKeystring (secret)Adds aftermarket / marketed-for-sale signal
porkbunApiKeystring (secret)Adds price quotes + premium flag
porkbunSecretKeystring (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 explanation
  • confidence — availability check confidence

Suggested LLM filter:

// Pick the strongest result with no caveats
const 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 is null.

Troubleshooting

ProblemLikely causeFix
metRequestedCount: false in OUTPUT.jsonYour idea + TLD list is saturated, or filters too strictLower relevanceFloor, add more TLDs, broaden style, relax maxLength
All results are .io / .app not .comAll .com names for your idea are registeredTry a more specific idea description, or adjust keywords
confidence: medium on .app/.dev resultsGoogle strips public whois for these TLDsRDAP is still authoritative. Add a Porkbun key for second-source verification.
High clashDrops countAI keeps generating brand-adjacent namesAdd famous-brand stems to avoidWords
Cost higher than expectedMultiple retries fired (saturated namespace)Check stats.retryBatchesRun and rescueModeUsed. Adjust relevanceFloor to keep typical runs cheap.
0 candidates generated for a TLDAI judged TLD a poor fit for your idea typeThis is intentional. Remove the TLD from input, or accept the breakdown's transparency.

License

MIT