Name.com Core API (1.0.1)

RESTful API for managing domains, DNS records, and related services at Name.com. Access via HTTPS at api.name.com (production) or api.dev.name.com (testing). Supports standard authentication, rate-limited to 20 requests/second.

Download OpenAPI description
Languages
Servers
Mock server

https://docs.name.com/_mock/coreapi/namecom.api/

Testing

https://api.dev.name.com/

Hello

Use the Hello endpoint to verify that your API connection and credentials are working properly. This simple call returns a success message (along with server time and version info) to confirm the API is reachable and authenticated.

Operations

Account Info

Use Account Info endpoints to retrieve basic information about your Name.com account. For example, you can check your account’s current credit balance and other account details using these endpoints.

Operations

Accounts

Use Accounts endpoints (available upon request) to manage sub-accounts under your main account. For example, resellers can programmatically create new customer accounts with their own login credentials and permissions.

Operations

Domains

Use Domains endpoints to search for domain availability, register new domains, and manage existing domains.

Operations

Create Domain

Request

Registers a new domain under your account. You must provide the domain.domainName at a bare minimum to register. For premium or special-priced domains, the purchase_price must also be included to confirm cost. This endpoint is commonly used to programmatically onboard new domains through user signup flows or checkout experiences.

If no contacts are passed in this request, the default contacts for your Name.com account will be used.

Best Practices For Domain Creates

In general, you should check that a domain is available prior to attempting to purchase a domain. You can use either the checkAvailability endpoint, or the Search endpoint to confirm that a domain is purchasable.

Important Note on Dropcatching and Abuse Prevention

The createDomain endpoint is designed for standard domain registrations and is not intended for automated dropcatching (i.e., mass or high-frequency attempts to register domains the moment they become available after expiration). The use of drop-catching tools or services to acquire expired domains is strictly prohibited. All domain acquisitions must go through approved channels to ensure fair and transparent access.

Bodyapplication/jsonrequired

CreateDomainRequest has the information that is needed to create a domain with the CreateDomain function.

domainobject(DomainCreatePayload)

Domain contains all relevant data for a domain.

purchasePricenumber(double)

PurchasePrice is the price in USD for purchasing this domain for the minimum time period (typically 1 year). PurchasePrice is required if purchaseType is not "registration" or if it is a premium domain. If privacyEnabled is set, the regular price for Whois Privacy protection will be added automatically. If VAT tax applies, it will also be added automatically.

purchaseTypestring

PurchaseType defaults to "registration" but should be copied from the result of either a Search or checkAvailability request.

tldRequirementsobject

TLDRequirements is a way to pass additional data that is required by some registries.

yearsinteger(int32)

Years specifies how many years to register the domain for. Years defaults to the minimum time period (typically 1 year) if not passed and cannot be more than 10. Some TLDs default to longer initial periods (e.g. .AI requires a 2 year registration). If passing purchasePrice make sure to adjust it accordingly.

Example: 1
curl -i -X POST \
  -u <username>:<password> \
  https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains \
  -H 'Content-Type: application/json' \
  -d '{
    "domain": {
      "domainName": "example.com"
    }
  }'

Responses

A successful response.

Bodyapplication/json
domainobject(DomainResponsePayload)

Domain contains all relevant data for a domain.

orderinteger(int32)required

Order is an identifier for this purchase.

totalPaidnumber(double)required

TotalPaid is the total amount paid, including VAT and Whois privacy protection.

Response
application/json
{ "domain": { "domainName": "example.com", "createDate": "2023-01-15T14:30:00Z", "expireDate": "2025-01-15T14:30:00Z", "autorenewEnabled": true, "locked": true, "privacyEnabled": true, "contacts": {}, "nameservers": [], "renewalPrice": 12.99 }, "order": 0, "totalPaid": 0.1 }

Get Domain

Request

Retrieves detailed information for a specific domain in your account.

Path
domainNamestringrequired

DomainName is the domain to retrieve.

Example: example.com
curl -i -X GET \
  -u <username>:<password> \
  https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/example.com

Responses

A successful response.

Bodyapplication/json
domainNamestringrequired

The punycode-encoded value of the domain name.

Example: "example.com"
createDatestring(date-time)read-onlyrequired

The date and time when the domain was created at the registry.

Example: "2023-01-15T14:30:00Z"
expireDatestring(date-time)read-onlyrequired

The date and time when the domain will expire.

Example: "2025-01-15T14:30:00Z"
autorenewEnabledbooleanrequired

Indicates whether the domain is set to renew automatically before expiration.

Example: true
lockedbooleanrequired

Indicates if the domain is locked, preventing transfers to another registrar.

Example: true
privacyEnabledbooleanrequired

Indicates if Whois Privacy is enabled for this domain.

Example: true
contactsobject(Contacts)required

Contacts stores the contact information for the roles related to domains.

contacts.​adminobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​billingobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​registrantobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​techobject(Contact)

Contact contains all relevant contact data for a domain registrant.

nameserversArray of stringsrequired

The list of nameservers assigned to this domain. If unspecified, it defaults to the account's default nameservers.

Example: ["ns1.example.com","ns2.example.com"]
renewalPricenumber(double)read-onlyrequired

The cost to renew the domain. This may be required for the RenewDomain operation.

Example: 12.99
Response
application/json
{ "domainName": "example.com", "createDate": "2023-01-15T14:30:00Z", "expireDate": "2025-01-15T14:30:00Z", "autorenewEnabled": true, "locked": true, "privacyEnabled": true, "contacts": { "admin": {}, "billing": {}, "registrant": {}, "tech": {} }, "nameservers": [ "ns1.example.com", "ns2.example.com" ], "renewalPrice": 12.99 }

Update a domain

Request

Allows updating of the autorenew, WhoIs Privacy and lock status of the specified domain. The request requires one, or any combination of the parameters in order to pass validation. If any of the requested updates failed, the domain will be returned to it's original state.

Path
domainNamestringrequired

DomainName is the domain to update.

Bodyapplication/json
Any of:
autorenewEnabledbooleanrequired

Enable or disable automatic renewal for the domain.

Example: true
privacyEnabledboolean

Enable or disable Whois privacy for the domain.

Example: true
lockedboolean

Set the transfer lock status for the domain

Example: true
curl -i -X PATCH \
  -u <username>:<password> \
  'https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/{domainName}' \
  -H 'Content-Type: application/json' \
  -d '{
    "autorenewEnabled": true,
    "privacyEnabled": true,
    "locked": true
  }'

Responses

A successful response will return the updated domain.

Bodyapplication/json
domainNamestringrequired

The punycode-encoded value of the domain name.

Example: "example.com"
createDatestring(date-time)read-onlyrequired

The date and time when the domain was created at the registry.

Example: "2023-01-15T14:30:00Z"
expireDatestring(date-time)read-onlyrequired

The date and time when the domain will expire.

Example: "2025-01-15T14:30:00Z"
autorenewEnabledbooleanrequired

Indicates whether the domain is set to renew automatically before expiration.

Example: true
lockedbooleanrequired

Indicates if the domain is locked, preventing transfers to another registrar.

Example: true
privacyEnabledbooleanrequired

Indicates if Whois Privacy is enabled for this domain.

Example: true
contactsobject(Contacts)required

Contacts stores the contact information for the roles related to domains.

contacts.​adminobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​billingobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​registrantobject(Contact)

Contact contains all relevant contact data for a domain registrant.

contacts.​techobject(Contact)

Contact contains all relevant contact data for a domain registrant.

nameserversArray of stringsrequired

The list of nameservers assigned to this domain. If unspecified, it defaults to the account's default nameservers.

Example: ["ns1.example.com","ns2.example.com"]
renewalPricenumber(double)read-onlyrequired

The cost to renew the domain. This may be required for the RenewDomain operation.

Example: 12.99
Response
application/json
{ "domainName": "example.com", "createDate": "2023-01-15T14:30:00Z", "expireDate": "2025-01-15T14:30:00Z", "autorenewEnabled": true, "locked": true, "privacyEnabled": true, "contacts": { "admin": {}, "billing": {}, "registrant": {}, "tech": {} }, "nameservers": [ "ns1.example.com", "ns2.example.com" ], "renewalPrice": 12.99 }

DNS

Use DNS endpoints to manage DNS records for your domains. You can list all existing DNS records for a domain and create, update, or delete records as needed.

Operations

DNSSECs

Use DNSSEC endpoints to configure DNS Security Extensions for your domains. These endpoints allow you to add, retrieve, or remove DNSSEC records.

Operations

Email Forwardings

Use Email Forwardings endpoints to set up and manage email forwarding addresses on your domains.

Operations

URL Forwardings

Use URL Forwardings endpoints to control URL redirection settings for your domains.

Operations

Vanity Nameservers

Use Vanity Nameservers endpoints to configure custom nameserver hostnames (glue records) for your domains.

Operations

Transfers

Use Transfers endpoints to move domains into your Name.com account. Start by creating a transfer request, then monitor and manage the status of pending transfers. You can also cancel a transfer if needed.

Operations

Orders

Use Orders endpoints to review and track purchases made via the API.

Operations

Webhook Notifications

Use Webhook Notification endpoints to subscribe to real-time notifications for account and domain events. This keeps your application updated on important changes without polling the API.

OperationsWebhooks