name.com Core API (1.2.0)
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.
https://docs.name.com/_mock/coreapi/namecom.api/
https://api.dev.name.com/
- Mock server
https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains
- Testing
https://api.dev.name.com/core/v1/domains
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
'https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains?perPage=1000&page=0&sort=string&dir=string&domainName=string&tld=string&locked=true&createDate=string&createDateStart=string&createDateEnd=string&expireDate=string&expireDateStart=string&expireDateEnd=string&privacyEnabled=true&isPremium=true&autorenewEnabled=true&orderId=0'
A successful response.
Domains is the list of domains in your account.
The punycode-encoded value of the domain name.
The date and time when the domain was created at the registry.
The date and time when the domain will expire.
Indicates whether the domain is set to renew automatically before expiration.
Indicates if the domain is locked, preventing transfers to another registrar.
Indicates if Whois Privacy is enabled for this domain.
Contacts stores the contact information for the roles related to domains.
Contact contains all relevant contact data for a domain registrant.
Contact contains all relevant contact data for a domain registrant.
Contact contains all relevant contact data for a domain registrant.
The list of nameservers assigned to this domain. If unspecified, it defaults to the account's default nameservers.
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.
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.
{ "domains": [ { … } ], "from": 0, "lastPage": 0, "nextPage": 0, "to": 0, "totalCount": 0 }
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.
CreateDomainRequest has the information that is needed to create a domain with the CreateDomain function.
Domain contains all relevant data for a domain.
The punycode-encoded value of the domain name.
Indicates whether the domain is set to renew automatically before expiration.
Indicates if the domain is locked, preventing transfers to another registrar.
Contacts stores the contact information for the roles related to domains.
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.
PurchaseType defaults to "registration" but should be copied from the result of either a Search or checkAvailability request.
TLDRequirements is a way to pass additional data that is required by some registries.
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.
- Mock server
https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains
- Testing
https://api.dev.name.com/core/v1/domains
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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"
}
}'
A successful response.
Domain contains all relevant data for a domain.
The punycode-encoded value of the domain name.
The date and time when the domain was created at the registry.
The date and time when the domain will expire.
Indicates whether the domain is set to renew automatically before expiration.
Indicates if the domain is locked, preventing transfers to another registrar.
Indicates if Whois Privacy is enabled for this domain.
Contacts stores the contact information for the roles related to domains.
Contact contains all relevant contact data for a domain registrant.
Contact contains all relevant contact data for a domain registrant.
Contact contains all relevant contact data for a domain registrant.
The list of nameservers assigned to this domain. If unspecified, it defaults to the account's default nameservers.
{ "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 }
- Mock server
https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/{domainName}
- Testing
https://api.dev.name.com/core/v1/domains/{domainName}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
https://docs.name.com/_mock/coreapi/namecom.api/core/v1/domains/example.com
A successful response.
The date and time when the domain was created at the registry.
The date and time when the domain will expire.
Indicates whether the domain is set to renew automatically before expiration.
Indicates if the domain is locked, preventing transfers to another registrar.
Contacts stores the contact information for the roles related to domains.
Contact contains all relevant contact data for a domain registrant.
Contact contains all relevant contact data for a domain registrant.
The list of nameservers assigned to this domain. If unspecified, it defaults to the account's default nameservers.
{ "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 }