SaaS Domain Name Generator & Availability Watcher avatar

SaaS Domain Name Generator & Availability Watcher

Pricing

from $3.00 / 1,000 registry availability scrapes

Go to Apify Store
SaaS Domain Name Generator & Availability Watcher

SaaS Domain Name Generator & Availability Watcher

Generate and rank SaaS domain ideas, scrape public registry availability, and monitor domain status changes across scheduled Apify runs without a domain API key.

Pricing

from $3.00 / 1,000 registry availability scrapes

Rating

0.0

(0)

Developer

Inus Grobler

Inus Grobler

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

9 days ago

Last modified

Share

Generate ranked SaaS domain ideas, check public registry availability, and monitor changes on a schedule. This Actor is useful for founders, startup studios, naming agencies, product teams, and domain researchers who need a reusable shortlist instead of checking names one by one.

No Vercel token, registrar account, or paid domain-data API is required. The Actor scrapes IANA delegation pages and public registry WHOIS sources. OpenRouter is not used because the built-in deterministic ranking does not need AI.

What you get

  • Ranked domain ideas from a brand name, product term, or exact watchlist
  • Exact, compact, prefixed, and suffixed naming patterns
  • Bulk domain availability checks from public registry sources
  • baseline, unchanged, and availability_changed events across scheduled runs
  • Dataset output for CSV, JSON, integrations, webhooks, and automations
  • Conservative results that never turn an ambiguous response into an “available” claim

Quick start

Use the defaults for ideas only, or enable Check domain availability to perform registry lookups.

{
"seedNames": ["North Star"],
"domains": ["northstarhq.com"],
"tlds": ["com", "io", "ai", "co"],
"generationModes": ["exact", "prefixed", "suffixed"],
"prefixes": ["get", "try"],
"suffixes": ["app", "hq"],
"maxCandidates": 40,
"checkAvailability": true
}

Inputs

InputWhat it does
seedNamesUp to 10 brand names or product terms used to generate candidates.
domainsOptional exact domains placed first in the watchlist.
tldsDomain suffixes to generate, such as com, io, ai, or co.uk.
generationModesSelect exact, compact, prefixed, or suffixed patterns.
prefixesWords such as get, try, or use for prefixed candidates.
suffixesWords such as app, hq, or labs for suffixed candidates.
maxCandidatesMaximum number of exact and generated domains, from 1 to 100.
checkAvailabilityScrape public registry availability for every returned candidate. No key is required.

Operational settings are deliberately fixed to safe values, so clients do not need to configure concurrency, retries, timeouts, storage, teams, or tokens.

How availability checking works

For each suffix, the Actor scrapes its official IANA delegation page and discovers the public WHOIS source. It then queries the registry WHOIS service. For .io and .ai, it submits the registry operator's web-WHOIS forms because those web sources are more reliable than port 43 from cloud infrastructure.

The decision rules are intentionally strict:

  • available: the registry explicitly returned a not-found or free result
  • unavailable: the registry returned positive registration evidence
  • unknown: the source was unavailable, ambiguous, throttled, or the suffix publishes only RDAP
  • not_checked: availability checking was disabled or the run reached its spending limit

statusReason explains the result in a stable, machine-readable way. For example, explicit_not_found supports available, registration_record supports unavailable, and no_public_whois explains an unknown result without treating it as a scraper failure. An unknown result uses changeType: availability_unknown because no reliable comparison with a previous successful observation can be made.

Raw WHOIS responses can contain personal registration data. They are parsed in memory and discarded; only the availability decision and source metadata are stored.

Example output

{
"domain": "getnorthstar.com",
"seedName": "North Star",
"candidateType": "prefixed",
"rank": 3,
"priorityScore": 930,
"availability": "available",
"statusReason": "explicit_not_found",
"checkedByScraping": true,
"source": "registry_whois",
"sourceUrl": "https://www.iana.org/domains/root/db/com.html",
"whoisServer": "whois.verisign-grs.com",
"sourceHttpStatus": null,
"attempts": 1,
"changeType": "availability_changed",
"previousAvailability": "unavailable",
"isChanged": true,
"observedAt": "2026-08-10T17:00:00.000Z",
"message": "The public registry returned an explicit not-found result. Confirm with a registrar before purchase."
}

RUN_SUMMARY includes a plain completionStatus (complete, complete_with_unknowns, or partial_budget), requested and returned counts, charged events, IANA pages scraped, registry web pages scraped, WHOIS queries, circuit-breaker skips, retries, real source errors, unsupported public-WHOIS counts, and detected changes. Reaching the spending limit after every requested result is finished does not incorrectly mark the run as partial.

Monitoring domains

Run the same input on an Apify schedule. The first successful result is stored as a baseline; later runs report unchanged or availability_changed. Connect an Apify webhook to Slack, email, Make, Zapier, or your own endpoint to act on changes.

State is saved in the Actor's named key-value store. Failed or ambiguous checks never overwrite the last successful state.

Pricing

This Actor uses pay-per-event pricing:

EventPriceCharged when
Actor start$0.00005Once per run.
Domain candidate$0.00010For each result written to the Dataset.
Registry availability scrape$0.00300When a registry WHOIS query or web-form lookup is attempted. No availability event is charged when the suffix publishes no usable WHOIS source.

For example, 100 candidate-only results cost about $0.01005. Checking all 100 costs about $0.31005. The Apify Console price displayed when you start a run is authoritative. A maximum run spend is respected before the next billable unit begins.

API example

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("thescrapelab/saas-brand-domain-watcher").call(
run_input={
"seedNames": ["North Star"],
"tlds": ["com", "io", "ai"],
"maxCandidates": 20,
"checkAvailability": True,
}
)
if run is None:
raise RuntimeError("The Actor run did not start")
items = client.dataset(run.default_dataset_id).list_items().items
for item in items:
print(item)

Install the official client with pip install apify-client.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/thescrapelab~saas-brand-domain-watcher/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"seedNames":["North Star"],"tlds":["com","io","ai"],"maxCandidates":20,"checkAvailability":true}'

Keep your Apify token private. The Actor itself needs no domain-provider token.

Important limitations

  • Availability is informational, not a reservation or purchase guarantee. Always confirm the final name with your registrar immediately before buying.
  • A domain can be reserved, premium-priced, restricted, or unavailable for policy reasons even when WHOIS has no registration record.
  • Some newer suffixes publish RDAP but no public WHOIS server. Because this Actor intentionally does not call domain-data APIs, those checks return unknown.
  • Registries can throttle lookups or change their response formats. The Actor uses bounded retries and a per-source circuit breaker, then returns a safe error instead of repeating failures or guessing.
  • The Actor does not provide trademark clearance. Check names with an appropriate trademark authority before launch.

Support

When reporting a problem, include the run ID, affected suffix, and whether the result was unknown or incorrect. Never include an Apify token or other secret.