← Docs

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

GET
api.parseapi.com/domain/{domain}
Available to register. Deep adds registration details
Explore
Parameters 2
domainstring · path · required

Domain name

deepboolean · query · optional

When true, include optional detail in deep. Access depends on the endpoint: pooled detail, an included paid-plan profile, or a metered check. Core values stay unchanged.

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

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?

Example response
{
  "domain": "gmail.com",
  "available": false
}

Response fields

domain
Hostname checked
available
true if unregistered, false if taken, null if the registration check is unavailable

Deep

Included on paid plans. deep.registration contains registered, created, updated, expires, registrar, status, and dnssec. Dates and the registrar can be null. Registration is omitted when the lookup is unavailable. Results are cached and can be several days old.

Deep examples run with your own key. Check this API’s included units 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?

Example response
{
  "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.registration
Registration details: registered, created, updated, expires, registrar, status, and dnssec. Omitted if unavailable

Questions? Email