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

List Domains

Request

Lists all domains in your account (basic details for each domain).

Query
perPageinteger(int32)

Per Page is the number of records to return per request. Per Page defaults to 1,000.

pageinteger(int32)

Page is which page to return.

sortstring

Sort specifies which domain property to order by.

dirstring

Dir indicates direction of sort. Possible values are 'asc' (default) or 'desc'.

domainNamestring

DomainName filters domains by exact domain name or wildcard (starts with '*').

tldstring

Tld filters on specific tld.

lockedboolean

Locked filters on locked domains.

createDatestring

CreateDate filters domains created on this date.

createDateStartstring

CreateDateStart filters domains created on or after this date.

createDateEndstring

CreateDateEnd filters domains created on or before this date.

expireDatestring

ExpireDate filters domains expiring on this date.

expireDateStartstring

ExpireDateStart filters domains with expire date on or after this date.

expireDateEndstring

ExpireDateEnd filters domains with expire date on or before this date.

privacyEnabledboolean

PrivacyEnabled indicates whether there is a privacy product associated with the domain.

isPremiumboolean

IsPremium indicates whether the domain is a premium domain.

autorenewEnabledboolean

AutorenewEnabled indicates if the domain will attempt to renew automatically before expiration.

orderIdinteger(int32)

OrderId specifies the order number of a domain purchase.

curl -i -X GET \
  -u <username>:<password> \
  'https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains?autorenewEnabled=true&createDate=string&createDateEnd=string&createDateStart=string&dir=string&domainName=string&expireDate=string&expireDateEnd=string&expireDateStart=string&isPremium=true&locked=true&orderId=0&page=0&perPage=0&privacyEnabled=true&sort=string&tld=string'

Responses

A successful response.

Headers
Linkstring

String delimited list of links for pagination

Example: "<https://api.dev.name.com?page=3; rel=\"next\">,<https://api.dev.name.com?page=1; rel=\"prev\">,<https://api.dev.name.com?page=10; rel=\"last\">"
Bodyapplication/json
domainsArray of objects(DomainResponsePayload)

Domains is the list of domains in your account.

frominteger(int32)required

From is starting record count for current page.

lastPageinteger(int32)

LastPage is the identifier for the final page of results. It is only populated if there is another page of results after the current page.

nextPageinteger(int32)

NextPage is the identifier for the next page of results. It is only populated if there is another page of results after the current page.

tointeger(int32)required

To is ending record count for current page.

totalCountinteger(int32)required

TotalCount is total number of domains returned for request.

Response
application/json
{ "domains": [ {} ], "from": 0, "lastPage": 0, "nextPage": 0, "to": 0, "totalCount": 0 }

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 }

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