Search by task, endpoint, field, or error.
Domain API
Whether a domain is available to register.
Check whether a domain is registered. Core returns available from the registration check · true if unregistered, false if taken, null if the registry couldn't be reached.
Registered answers are reused for up to one hour; unregistered answers for up to five minutes. Expired answers require a new check. An unregistered result does not guarantee that a registrar will sell the name.
On paid plans, ?deep=true adds the registrar, registration dates, and status. For DNS records and TTLs on every plan, use DNS. For mail hosts alone, use MX.
Lookup
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.domain("gmail.com");
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"domain": "gmail.com",
"available": false
}Response fields
Deep
On paid plans, deep.registration adds the registrar, registration dates, status and DNSSEC flag. Dates and the registrar can be null. Unregistered domains include only registered: false. Registration is omitted when the check is unavailable. Deep uses the same cached check as core.
Run this Deep example with your own key. Check this API's access requirements and pricing before running.
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.domain("gmail.com", { deep: true });
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"domain": "gmail.com",
"available": false,
"deep": {
"registration": {
"registered": true,
"created": "1995-08-13T04:00:00.000Z",
"updated": "2026-07-11T10:11:23.000Z",
"expires": "2027-08-12T04:00:00.000Z",
"registrar": "MarkMonitor Inc.",
"status": [
"client delete prohibited",
"client transfer prohibited",
"client update prohibited",
"server delete prohibited",
"server transfer prohibited",
"server update prohibited"
],
"dnssec": false
}
}
}Deep fields
- deep.registrationobject
- Registration check details. Unregistered domains include registered: false and omit the other details. Omitted when the check is unavailable
- deep.registration.registeredboolean
- Whether the domain was registered at the cached check. False does not guarantee a registrar will sell it
- deep.registration.createdstring or null
- Registry registration timestamp, or null when unknown. Omitted for an unregistered domain
- deep.registration.updatedstring or null
- Registry last-change timestamp, or null when unknown. Omitted for an unregistered domain
- deep.registration.expiresstring or null
- Registry expiration timestamp, or null when unknown. Omitted for an unregistered domain
- deep.registration.registrarstring or null
- Reported registrar name, or null when unknown. Omitted for an unregistered domain
- deep.registration.statusarray
- Reported registration status codes. Empty when none are reported. Omitted for an unregistered domain
- deep.registration.dnssecboolean
- Whether the registry reports a signed DNS delegation. Omitted for an unregistered domain
Questions? Email