Domains
Check availability
Section titled “Check availability”Check if domains are available for registration.
Namecheap: domains.check
GET /domains/check?domains=example.com,coolstartup.io| Param | Type | Description |
|---|---|---|
domains | string | Comma-separated domain names (max 50) |
Response 200
{ "data": [ { "domain": "example.com", "available": false, "isPremium": false, "premiumRegistrationPrice": 0, "premiumRenewalPrice": 0 }, { "domain": "coolstartup.io", "available": true, "isPremium": false, "premiumRegistrationPrice": 0, "premiumRenewalPrice": 0 } ]}List domains
Section titled “List domains”List all domains in your Namecheap account.
Namecheap: domains.getList
GET /domains| Param | Type | Default | Description |
|---|---|---|---|
type | ALL | EXPIRING | EXPIRED | ALL | Filter |
page | number | 1 | Page number |
pageSize | number | 20 | Results per page (max 100) |
search | string | — | Search keyword |
Response 200
{ "data": [ { "id": "677625", "name": "example.com", "created": "06/02/2021", "expires": "06/02/2026", "isExpired": false, "isLocked": true, "autoRenew": true, "whoisGuard": "ENABLED", "isPremium": false, "isOurDns": true } ], "meta": { "totalItems": 1, "currentPage": 1, "pageSize": 20 }}Get domain info
Section titled “Get domain info”Get detailed information about a specific domain.
Namecheap: domains.getInfo
GET /domains/:domainResponse 200
{ "data": { "id": "677625", "domainName": "example.com", "ownerName": "myuser", "isOwner": true, "isPremium": false, "status": "Ok", "createdDate": "06/02/2021", "expiredDate": "06/02/2026", "dnsProvider": "FreeDNS", "isUsingOurDns": true, "nameservers": [ "freedns1.registrar-servers.com", "freedns2.registrar-servers.com" ], "whoisGuard": { "enabled": "True", "id": "38495" } }}Errors: 404 domain not found, 403 domain not in your account.
Register a domain
Section titled “Register a domain”Register a new domain name.
Namecheap: domains.create
POST /domains{ "domainName": "mynewdomain.com", "years": 1, "contacts": { "registrant": { "firstName": "John", "lastName": "Doe", "address1": "123 Main St", "city": "Anytown", "stateProvince": "CA", "postalCode": "90210", "country": "US", "phone": "+1.5551234567", "emailAddress": "john@example.com" }, "tech": { "...same fields..." }, "admin": { "...same fields..." }, "auxBilling": { "...same fields..." } }, "nameservers": ["ns1.cloudflare.com", "ns2.cloudflare.com"], "addWhoisguard": true, "enableWhoisguard": true}| Field | Type | Required | Description |
|---|---|---|---|
domainName | string | yes | Domain to register |
years | number | yes | 1-10 |
contacts | object | yes | All 4 contact types required |
nameservers | string[] | no | Custom nameservers |
addWhoisguard | boolean | no | Add free WhoisGuard |
enableWhoisguard | boolean | no | Enable WhoisGuard |
promotionCode | string | no | Coupon code |
Response 201
{ "data": { "domain": "mynewdomain.com", "registered": true, "chargedAmount": 10.87, "domainId": "12345", "orderId": "67890", "transactionId": "11111", "whoisguardEnabled": true }}Errors: 409 domain not available, 400 invalid input.
Renew a domain
Section titled “Renew a domain”Namecheap: domains.renew
POST /domains/:domain/renew{ "years": 1 }Response 200
{ "data": { "domainName": "example.com", "domainId": "677625", "renewed": true, "chargedAmount": 10.87, "orderId": "67890", "transactionId": "11111", "expiredDate": "06/02/2027" }}Errors: 409 domain expired (use reactivate), 404 domain not found.
List available TLDs
Section titled “List available TLDs”Namecheap: domains.getTldList
GET /domains/tldsResponse 200
{ "data": [ { "name": "com", "type": "GTLD", "minRegisterYears": 1, "maxRegisterYears": 10, "minRenewYears": 1, "maxRenewYears": 10, "isApiRegisterable": true, "isApiRenewable": true, "isApiTransferable": true, "isEppRequired": true, "supportsIdn": true, "category": "A" } ]}