GET /domain/{domain}
Domain API
Find out whether a domain is registered.
Try it
{
"domain": "gmail.com",
"available": false,
?deep=true
}See a registration example
The registrar and registration dates. Included on paid plans.
Example · /domain/gmail.com?deep=true
{
"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
}
}
}1M requests · $20/mo. Get started
What comes back.
available
true if unregistered, false if taken, null if the registration check is unavailable
deep.registration
Registration check details. Unregistered domains include registered: false and omit the other details. Omitted when the check is unavailable
1
Pass a domain
Availability comes back on every call.
2
Read the result
Registered, unregistered, or unknown when the check is unavailable.
3
Get more context
Paid deep adds the registrar, registration dates, and status.
Coverage
Domain registration status. Paid deep adds registrar, dates, and status.
Check a domain's registration status. available is true when the registry reports no registration, false when it is registered, and null when the check is unavailable. Results are cached.
On paid plans, deep adds registration details: registrar, creation and expiry dates, and status. Use /dns/{domain} for DNS records or /mx/{domain} for mail routing.
SPEED
How long /domain takes.
Median time to first byte over the last seven days. Warm requests, measured every 30 minutes. Live verification and other request variants can take longer.
US
305ms
EU
461ms
APAC
334ms
LatAm
230ms
ME
224ms
Make your first request.
One key works across the APIs. Copy a request in your language and get JSON back.
curl "https://api.parseapi.com/domain/gmail.com" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Parse-Version: 2.0.0"// Example response · 200{"domain": "gmail.com", "available": false }
API referenceSDKsKeys and authentication
Every response field
Response fields
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
- What comes back on every call?
- The domain and available: true when the registry reports no registration, false when it is registered, or null when the check is unavailable.
- Can I register every domain marked available?
- Confirm with a registrar before checkout. An unregistered name can still be reserved or restricted by the registry.
- Is every call a fresh registry request?
- Registered results can be reused for up to one hour, and unregistered results for up to five minutes. After that, a lookup checks the registry again. If the check cannot complete, available returns null.
- What does deep add?
- Registration details: registrar, creation, update and expiry dates, status, and DNSSEC registration information. Deep is included on paid plans.
- Where do I look up DNS records?
- Use GET /dns/{domain} for DNS records and TTLs, or GET /mx/{domain} for the ordered mail server list.
Check one domain with the domain availability checker or a whole file with bulk domain lookup.
Is it taken?
Domain availability on every plan. Registration details on paid plans.
Start includes 1M API requests a month for $20/mo.
Ready for busy moments.Start includes 1,800 requests per minute, with extra capacity for bursts. Rate limits