The DomainKits REST API provides programmatic access to domain intelligence data. Search newly registered, aged, expired, and deleted domains. Look up WHOIS records, reverse nameserver queries, and download NRDs zone files. API access requires a Premium or higher plan.
Responses contain no personal data. WHOIS results are limited to registrar, dates, status codes and nameservers; registrant names, emails, addresses and phone numbers are not returned.
Include your API key in every request. API keys are the same keys used for the DomainKits MCP Server.
Authorization: Bearer dk_xxx
X-API-Key: dk_xxx
The API is versioned in the URL path (/api/v1). We treat the v1 contract as stable so you can build on it without surprises.
success / error envelope and HTTP status code semantics do not change.0 in rate-limit configuration means unlimited. This convention is stable./api/v2). When a version is scheduled for retirement, we announce it with at least 90 days notice before v1 stops responding. Endpoints marked Beta are excluded from this guarantee and may change while in beta.The API uses standard HTTP status codes. Errors return a JSON object with success: false and an error message.
Search newly registered domains. Two modes: provide keyword for keyword search, or provide tld without keyword to browse all new registrations under a gTLD. At least one of keyword or tld is required.
com, net, org). Without keyword, enters TLD browse mode (gTLDs only, ccTLDs not supported).start, end, contain.<5, 5-10, 10-15, 15+), an exact length (10), or a range (8-12, inclusive of both ends).all_alpha (letters only), all_number (digits only).0-10, 10-20, 20+.2026-07-10), month (2026-07), or year (2026). A from:to range is also accepted (2026-07-01:2026-07-25, inclusive of both ends); either side may be omitted for an open-ended range (2026-07-20: or :2026-07-20).1, 2-5, 6+.reg_date_desc reg_date_asc length_asc length_desc period_asc period_desc tld_counter_asc tld_counter_desc alphadomain, registered_date, expiry_date, tld_count, status (for_sale, present only when the domain is listed for sale)Search aged domains. Two modes: provide keyword for keyword search, or provide tld without keyword to browse all aged domains under a gTLD. At least one of keyword or tld is required.
com, net, org). Without keyword, enters TLD browse mode (gTLDs only, ccTLDs not supported).start, end, contain.<5, 5-10, 10-15, 15+), an exact length (10), or a range (8-12, inclusive of both ends).all_alpha, all_number.5-10, 10-15, 15-20, 20+; each excludes its lower bound and includes its upper), an exact age (25), or a range (20-25, inclusive of both ends). Supports multi-select: 5-10,20+.age_desc age_asc length_asc length_desc reg_date_asc reg_date_desc alpha tld_counter_asc tld_counter_descdomain, registered_date, age (years), tld_count, status (for_sale, present only when the domain is listed for sale)Search active (currently registered) domains. Two modes: provide keyword for keyword search, or provide tld without keyword to browse the full registered inventory of a gTLD, shortest names first. At least one of keyword or tld is required.
com, net, org). Without keyword, enters TLD browse mode (gTLDs only, ccTLDs not supported).start, end, contain. Keyword mode only.<5, 5-10, 10-15, 15+), an exact length (10), or a range (8-12, inclusive of both ends).all_alpha, all_number.forsale.length_asc length_desc alphadomain, status (for_sale, present only when the domain is listed for sale)Search expired domains. Two modes: provide keyword for keyword search, or provide tld without keyword to browse all expiring domains under a gTLD. At least one of keyword or tld is required.
com, net, org). Without keyword, enters TLD browse mode (gTLDs only, ccTLDs not supported).start, end, contain.<5, 5-10, 10-15, 15+), an exact length (10), or a range (8-12, inclusive of both ends).all_alpha, all_number.0-5, 5-10, 10-20, 20+; 0-5 includes both ends, the rest exclude their lower bound and include their upper), an exact age (25), or a range (20-25, inclusive of both ends). Supports multi-select: 0-5,20+.expired, redemption, pending_delete.no_hold, has_hold.1 (last observed day), 2 (last 2 days), 3 (last 3 days). true is equivalent to 3. Applies to the expired stage only.today, tomorrow, or YYYY-MM-DD.age_desc age_asc length_asc length_descdomain, registered_date, age (years), tld_count, status (expired | redemption | pending delete)Search deleted (dropped) domains. Filter by keyword, TLD, length, age, and hold status.
com, net, ai).start, end, contain.<5, 5-10, 10-15, 15+), an exact length (10), or a range (8-12, inclusive of both ends).all_alpha, all_number.0-5, 5-10, 10-20, 20+; 0-5 includes both ends, the rest exclude their lower bound and include their upper), an exact age (25), or a range (20-25, inclusive of both ends). Supports multi-select: 0-5,20+.no_hold, has_hold.1 (last observed day), 2 (last 2 days), 3 (last 3 days). true is equivalent to 3.age_desc age_asc length_asc length_desc tld_counter_asc tld_counter_descdomain, registered_date, age (years), tld_countSearch marketplace domains currently listed for sale. Two modes: provide keyword for keyword search, or provide tld without keyword to browse all listings under a gTLD, shortest names first. At least one of keyword or tld is required.
com, net, org). Without keyword, enters TLD browse mode (gTLDs only, ccTLDs not supported).start, end, contain. Defaults to start on this endpoint; pass contain to match anywhere.<5, 5-10, 10-15, 15+), an exact length (10), or a range (8-12, inclusive of both ends).all_alpha, all_number.Afternic, Atom, BuyDomains, Dan, DDD, DN.com, Godaddy, Hugedomains, SawSells, Sedo, Venture, 4.cn. Case-insensitive. Supports multi-select: Sedo,Godaddy.1 (last day), 2 (last 2 days), 3 (last 3 days). true is equivalent to 3.length_asc length_desc alpha tld_counter_asc tld_counter_desc. In TLD browse mode results default to shortest first; only tld_counter_desc changes the order.domain, tld, marketplace, tld_count. marketplace is the platform the domain is listed on: Godaddy, Sedo, Atom, BuyDomains, Hugedomains, PerfectDomain, DN.com, DDD, 4.cn, Venture, or SawSells.Export full search results as a downloadable file. Add export=csv or export=txt to any search endpoint, in keyword mode or TLD browse mode. Export bypasses pagination and returns up to 50,000 results in a single response (/search/active returns up to 10,000). All standard search filters (tld, position, length, no_number, no_hyphen, etc.) are supported.
csv or txt.
csv returns a per-endpoint column set, listed belowtxt returns domain names only, one per line/search/nrds — domain, registered_date, expiry_date, tld_count, status/search/aged — domain, registered_date, tld_count, status/search/expired — domain, registered_date, tld_count, status/search/deleted — domain, registered_date, tld_count/search/active — domain, tld, status/search/market — domain, marketplace, tld_countregistered_date is the registration year. status is written only when it
carries a distinction: for_sale on /search/nrds, /search/aged,
and /search/active, and the expiry stage (expired, redemption,
pending delete) on /search/expired. It is left blank otherwise.
sort is omitted, /search/expired, /search/aged, and
/search/deleted export oldest registration first.
/search/nrds, /search/aged, /search/active, /search/expired, /search/deleted, /search/market
| Plan | Per minute | Per day | Per month |
|---|---|---|---|
| Premium trial | 2 | 3 | 9 |
| Premium | 2 | 10 | 100 |
| Platinum | 10 | 100 | 1,000 |
/usage.Retrieve WHOIS registration data for a domain name.
abtdomain.com).Query DNS records for a domain. The records object is keyed by record type (A, AAAA, MX, NS, TXT, CNAME, SOA, and CAA when present). A record type is included only when the resolver returns data for it; an absent key is not proof that no such record exists. Parse defensively.
google.com).Resolve nameservers for up to 20 domains in one request. Where the nameservers identify a marketplace or a parking service, the entry carries a domain_status of for_sale or parking; domains in normal use have no such field. Each domain in the batch draws one unit from the same daily quota as /dns, so a batch of 20 costs the same as 20 single lookups. Batch calls are capped at 5 per minute.
Registrar, dates, EPP status codes and nameservers for up to 30 domains in one request. No registrant personal data is returned. Each domain in the batch draws one unit from the same daily quota as /whois, so a batch of 30 costs the same as 30 single lookups. Batch calls are capped at 5 per minute.
Find all domains using a specific nameserver. Useful for identifying domain portfolios and hosting providers.
ns1.example.com).all_alpha, all_number.Check if a domain is flagged as unsafe by Google Safe Browsing, and whether it is indexed by Google.
google.com).Look up geolocation and network information for an IP address or domain. Uses MaxMind GeoLite2 data.
Fuzzy search ICANN-accredited registrars by name or exact match by IANA ID. Supports common aliases (e.g. godaddy, namecheap, cloudflare). Returns up to 20 matching registrars with accreditation status and RDAP URL.
godaddy or 146).Look up EPP domain status codes. Search by status name, alias, or category (e.g. clientHold, pending, security).
Generate typosquat permutations for a domain and check which variants are registered. Covers omission, transposition, keyboard-adjacent replacement, insertion, repetition, hyphenation, vowel-swap, homoglyph, combosquatting (brand + keyword), IDN homograph (Cyrillic look-alikes), plural/singular, and TLD-swap mutations. Registered variants include a latest_whois snapshot. Use for brand protection, phishing detection, and defensive registration planning. IDN homograph variants are returned as ASCII punycode (xn--) domains; the input domain itself must be ASCII.
example.com). Must include a TLD. The name portion must be at least 2 characters.false. Set to true to include unregistered variants in the response. By default only registered variants are returned.true. Set to false to skip WHOIS lookups entirely, returning only registration status. Speeds up the response.true. Set to false to omit the mutation type field from each variant.data array (equals registered_count unless unregistered=true).omission, transposition, replacement, insertion, repetition, hyphenation, vowel-swap, homoglyph, combosquatting, idn-homograph, plural, exact-tld, tld-swap.registered, for_sale, or expiring.Check the registration status of a domain prefix across monitored TLDs.
abtdomain).count, check (default), or list.mode=check). Default: com,net,org,io,ai,bot,dev,app,pro,online.Track domain status changes including transfers, drops, renewals, and nameserver updates.
true.all_number (digits-only).Discover subdomains observed in Certificate Transparency logs. Returns unique subdomain prefixes with the date each was last seen.
example.com).valid (default, current half-year tables) or all (full history back to 2020).YYYY-MM-DD).YYYY-MM-DD).Look up certificate records by domain or SHA-256 fingerprint. Use scope=all to query the full historical archive back to 2020.
fingerprint is provided.domain is provided.valid (default) or all (full history).R11, WE1).DV, OV, EV.YYYY-MM-DD).YYYY-MM-DD).Search for domains across CT logs by keyword. Finds domains containing the query string in certificates observed since 2020.
reg (registered domain, default) or domain (full FQDN).newest (default, by log time) or latest (by certificate expiry).valid (default) or all (full history).com).DV, OV, EV.YYYY-MM-DD).YYYY-MM-DD).Download newly registered domains data files. Returns a 302 redirect to a signed download URL valid for 5 minutes. Each file can be downloaded up to 3 times per day per API key.
domains_only.
domains_only (.txt.gz) domain names, one per line. e.g. abtdomain.combasic_info (.csv.gz) domain, registration date, expiration date. e.g. abtdomain.com,2026-06-30,2027-06-30full_whois (.csv.gz, Platinum only) domain, registration date, expiration date, registrar, status codes, nameservers. e.g. abtdomain.com,2026-06-30,2027-06-30,GoDaddy.com LLC,clientTransferProhibited,ns1.example.com|ns2.example.comYYYY-MM-DD format. Defaults to today.View your current API key usage and per-endpoint counters.
Each endpoint has a per-minute and a daily request limit that vary by tier. A value of unlimited means no numeric cap applies. Daily quotas reset at 00:00 UTC; per-minute limits use a rolling 60-second window. Search Export additionally carries a monthly quota, which resets on the 1st (UTC). When a limit is exceeded, the API returns 429 Too Many Requests.
| Endpoint | Premium / min | Premium / day | Platinum / min | Platinum / day | Max results |
|---|---|---|---|---|---|
| Search | 60 | 2,000 | unlimited | unlimited | 50,000 |
| Search Export | 2 | 10 100 / month | 10 | 100 1,000 / month | 50,000 active: 10,000 |
| RDAP WHOIS | 30 | 500 | 50 | unlimited | |
| DNS | 20 | 200 | 50 | unlimited | |
| Reverse NS | 20 | 100 | unlimited | 500 | 1,000 |
| Domain Changes | 20 | 2,000 | unlimited | unlimited | 1,000 |
| TLD Check | 20 | 600 | unlimited | unlimited | |
| Safety | 5 | 50 | 10 | 200 | |
| IP Lookup | 20 | 200 | 50 | unlimited | |
| Registrar Check | 20 | 200 | 50 | unlimited | |
| Status Guide | 30 | unlimited | unlimited | unlimited | |
| TLD Trends | 30 | unlimited | unlimited | unlimited | |
| Keyword Trends | 20 | unlimited | unlimited | unlimited | P:50 / Plat:100 |
| CT Subdomains | 20 | 200 | 60 | unlimited | 10,000 |
| CT Certs | 20 | 200 | 60 | unlimited | 5,000 |
| CT Search | 10 | 100 | 30 | unlimited | 5,000 |
| Typosquat Scan | 1 | 20 | unlimited | unlimited | |
| NRDs Download | unlimited | unlimited | unlimited | unlimited | 3 / file / day |
| Usage | 30 | unlimited | 30 | unlimited |
Get daily registration volume trends for a gTLD. Only gTLDs are supported (ccTLDs such as .cn, .ru are not available).
com, net, xyz). Required unless tlds is used.tld.7, 14, 30, 60, 90, 180. Default: 30.Get trending domain registration keywords. hot: top keywords by total registrations. emerging: fastest growing keywords. prefix: trending domain prefixes with registration counts.
all (default) or com (.com only). Only for hot and emerging.