Domain Intelligence API
One REST API for the things you actually want to do with domains: live availability checks, structured WHOIS, keyword suggestions, and the confirmed-dropped feed that powers /domains/expired. Filter by TLD, age, SEO metrics, drop recency. JSON in and out. Free tier available.
- Live availability
- Structured WHOIS / RDAP
- Keyword suggestions
- Confirmed-dropped feed
- Free tier · 100 calls / day
What's included
Four endpoints, one bearer key, one JSON envelope. The same key works across every capability — no separate billing, no separate quotas.
Live availability
/v1/checkReal-time check whether a domain is registerable. Single domain or bulk (up to 30 per call). Powers aftermarket marketplaces, portfolio audit tools, and signup forms.
Structured WHOIS
/v1/whois/{name}Get registrar, dates, name servers, status flags, and (where available) registrant data in clean JSON. No parsing crusty WHOIS text or stitching together regex.
Smart suggestions
/v1/suggestKeyword in → up to 20 available domain names out. SLD variations, TLD swaps, prefix/suffix combos. Powers name-finder UIs and registration funnels.
Confirmed-dropped feed
/v1/domainsThe unique value-add. A curated stream of just-dropped domains with Wayback age signals, alt-TLD demand, and SEO metrics. Filter by TLD, age, DA/TF, drop date.
Pricing
Monthly subscriptions. Cancel any time. All tiers see the same dataset — only the daily request cap differs.
- 100 API calls / day
- Dropped-domain feed + all filters
- Availability check + WHOIS + suggestions
- Community support
- 1,000 API calls / day
- Dropped-domain feed + all filters
- Availability + WHOIS + suggestions
- Bulk endpoints (up to 30/req)
- Email support
- 10,000 API calls / day
- Everything in Starter
- CSV export of filtered drops
- Priority email support
- Unlimited API calls
- Daily zone snapshots
- Custom filters + delivery
- SLA + Slack support
Try it now
No key needed for the preview. Enter any domain and we'll return the public profile (same shape as the paid endpoints, capped at 1 row).
// Response will appear here. // curl https://www.thexyz.com/domain-intel/api/v1/sample?domain=example.com
Two minutes to integrate
Standard REST + bearer auth. No SDKs to install.
# Live availability — single or bulk (up to 30) curl -H "Authorization: Bearer YOUR_KEY" \ "https://www.thexyz.com/domain-intel/api/v1/check?domain=example.com" curl -H "Authorization: Bearer YOUR_KEY" \ "https://www.thexyz.com/domain-intel/api/v1/check?domains=a.com,b.net,c.org" # Structured WHOIS (via RDAP — works on most gTLDs) curl -H "Authorization: Bearer YOUR_KEY" \ "https://www.thexyz.com/domain-intel/api/v1/whois/example.com" # Keyword-based suggestions curl -H "Authorization: Bearer YOUR_KEY" \ "https://www.thexyz.com/domain-intel/api/v1/suggest?keyword=cloud&tld=com,net,io" # Confirmed-dropped feed — .com, 15+ years old, DA >= 20 curl -H "Authorization: Bearer YOUR_KEY" \ "https://www.thexyz.com/domain-intel/api/v1/domains?tld=com&min_years=15&min_da=20&limit=25" # Your current quota curl -H "Authorization: Bearer YOUR_KEY" \ "https://www.thexyz.com/domain-intel/api/v1/quota"
Common questions
Where does the data come from?
ICANN CZDS zone files (we're approved), Internet Archive Wayback for age, RDAP for confirmed availability, and curated importers (SeekaHost, expired.ca) for SEO metrics. Updates ~hourly during the day, full zone diff once per day at 06:00 UTC.
What's "confirmed dropped" vs. "in zone"?
We track every domain through its lifecycle (in-zone →
left-zone → redemption → pending-delete → dropped). The
status=dropped default on the API means the RDAP
worker has verified the domain is currently registerable, not
merely absent from a recent zone file.
Can I export bulk results?
Each call returns up to 100 rows, and you can paginate up to 10,000 offset. For larger bulk exports (>100k rows / day) the Enterprise tier includes daily snapshot delivery — drop a note to sales@thexyz.com.
How do rate limits work?
Daily counter, resets at 00:00 UTC. Each call returns
X-RateLimit-Limit and X-RateLimit-Remaining
headers. Hit the limit and you get HTTP 429 plus a
Retry-After header pointing at midnight UTC.
Can I cancel any time?
Yes. WHMCS billing handles the subscription — cancel from your client area and the key revokes at the end of the billing period. Free tier never expires.
📖 Full integration guide
Everything in one place: endpoints, filter reference,
code samples in curl / Python / Node / PHP, error codes,
rate-limit handling, common recipes.
Read the documentation →