GoDaddy vs Namecheap vs Porkbun API Compared
Short answer: GoDaddy, Namecheap and Porkbun all have a domain and DNS API, but the rules for getting in differ a lot. Namecheap only enables its API for accounts with 20 domains, a $50 balance or $50 spent in two years, and only from whitelisted IPv4 addresses. GoDaddy needs one domain and a Personal Access Token, and has no test environment. Porkbun gives a key to anyone but makes you switch API access on for each domain. This post compares the three from their own documentation (checked November 2026), shows how to add a DNS record with each, and shows the same thing with the NameOcean API.
The three APIs side by side
| GoDaddy | Namecheap | Porkbun | |
|---|---|---|---|
| Who gets access | An account with at least one domain (or a plan that includes management) | 20+ domains, or a $50 balance, or $50 spent in the last 2 years | Any account; API access must be turned on per domain (or for all domains in account settings) |
| Authentication | Personal Access Token: Authorization: Bearer …. The old sso-key key:secret does not work with v3 | API key plus your username, from whitelisted IPv4 addresses only | API key and secret, in the JSON body or in X-API-Key / X-Secret-API-Key headers |
| Rate limit | 600 requests per ~23-minute window per credential, "subject to change" | 50/minute, 700/hour, 8,000/day per key | Per endpoint; availability checks are throttled for accounts that scan without registering |
| Test environment | None: "all requests go to production" | Separate sandbox site and account | Sandbox keys (pk1_sb_) with fake credit |
| Registering a domain | Quote, then execute with an Idempotency-Key, then poll; charged to the billing method on file | Through the domains.create method | Paid from prepaid credit; you send the expected price in cents; $100 maximum per registration |
| DNS records | Add, replace and delete single records (v3) | Through the domains.dns methods | Create, edit and delete by ID or by name and type; dryRun supported |
Limits and requirements change; the links at the end go to each provider's current page.
Got an idea? Find the perfect domain for it
Our AI domain name generator suggests available names across hundreds of extensions. Free SSL, DNS and Whois privacy included.
GoDaddy API
GoDaddy's Domains API v3 covers registration, nameservers and DNS records. Renewals, transfers, contacts, forwarding and privacy are still on the older v1 and v2 APIs. To use it:
- Have at least one domain in the account. Registering through the API also needs a payment method on file or a funded Good as Gold balance.
- Create a Personal Access Token with the scopes you need, for example
domains.dns:updatefor DNS writes. - Call
https://api.godaddy.com. There is no separate test server, so test with read calls or a domain you don't mind changing.
Adding an A record:
curl -X POST https://api.godaddy.com/v3/domains/zones/example.com/dns-records \
-H "Authorization: Bearer $GODADDY_PAT" \
-H "Content-Type: application/json" \
-d '{"name": "@", "type": "A", "data": "203.0.113.10", "ttl": 3600}'
Changing a record is a PUT on its ID with every writable field; partial updates are not supported. Each response carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset headers.
Namecheap API
Namecheap's API is the hardest of the three to get into. You must meet one of three conditions first:
- at least 20 domains in the account,
- at least $50 on the account balance, or
- at least $50 spent in the last two years.
Then enable API access in the account, and whitelist at least one IP address. Only IPv4 addresses can be whitelisted, so calls from a laptop on a changing IP, a CI runner or an IPv6-only server need a fixed IPv4 egress or a proxy. Your account username acts as the API user. The limit is 50 calls a minute, 700 an hour and 8,000 a day across the whole key.
Namecheap has a sandbox at sandbox.namecheap.com. It is a separate site with its own account, so you sign up there before you can test.
Porkbun API
Porkbun gives every account an API, with keys created under Account → API Access. A key can be limited to certain permissions, domains and IP addresses, and the secret is shown once. The catch: each domain must be opted in to API access, from the domain's details or for all domains in account settings. A call on a domain that isn't returns API_ACCESS_DISABLED.
Adding an A record (the base URL moved to api.porkbun.com in 2025):
curl -X POST https://api.porkbun.com/api/json/v3/dns/create/example.com \
-H "Content-Type: application/json" \
-d '{"apikey": "pk1_…", "secretapikey": "sk1_…",
"name": "", "type": "A", "content": "203.0.113.10", "ttl": "3600"}'
Registration goes through /domain/create/{domain}, paid from prepaid credit. You send the current price in cents as cost and "agreeToTerms": "yes"; a single API registration can't exceed $100. Availability checks take up to 25 names per call.
The same with the NameOcean API
We built the NameOcean API so that anything you do in the dashboard can be done from code. What it takes:
- Access: any account. No domain count or spend minimum, no IP whitelist. You need two-step login turned on to create a key.
- Keys: as many as you like, created at Dashboard → API. Each has its own permissions (for example
dns:writeonly), an optional expiry date and an optional list of allowed IPv4 or IPv6 addresses and ranges. - Limits: 120 requests a minute per account, with
X-RateLimit-*headers on every response. - Safe retries: send an
Idempotency-Keyheader on any write, and a retry returns the first answer instead of running twice. - Spec: an OpenAPI 3.1 document at
/api/v1/openapi.jsonthat Postman, Insomnia and Bruno can import.
There is no sandbox. Test with a key that only has read permissions, or with /domains/check, which tells you whether a name is free and what it costs without buying anything.
Check a domain and add an A record:
curl "https://nameocean.net/api/v1/domains/check?name=example.com" \
-H "Authorization: Bearer $NAMEOCEAN_API_KEY"
curl -X POST https://nameocean.net/api/v1/dns/example.com/records \
-H "Authorization: Bearer $NAMEOCEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "A", "hostname": "@", "ip": "203.0.113.10", "ttl": "1h"}'
Or with the nameocean CLI, after nameocean login:
nameocean domains check example.com
nameocean dns add example.com A @ 203.0.113.10 --ttl 5m
nameocean ssl issue example.com --wait
Registering is POST /api/v1/domains with {"name": "example.com", "years": 1}, paid from account credit; without enough credit the answer is 402 with the code insufficient_credit. The same API also manages SSL certificates and app servers, and AI tools such as Claude Code and Cursor can use it through our MCP server (nameocean mcp install). The MCP tools manage your domains but can't spend money.
Which one to use
- Your domains are already at one of them and you only need DNS updates: use that registrar's API, or point the domain's nameservers to a DNS host with a good API.
- You have a few domains and want API access today: Namecheap's 20-domain or $50 rule may lock you out; GoDaddy and Porkbun don't have one.
- You call from CI, serverless functions or IPv6 servers: avoid IPv4-only whitelists.
- You want domains, DNS, SSL and servers behind one key with per-key permissions: that is what the NameOcean API is for.
FAQ
Is the GoDaddy API free?
GoDaddy's developer documentation lists no fee for API calls. What you buy through the API, such as a registration, is charged to the account's payment method or Good as Gold balance, and a registration can't be reversed.
Why does the Namecheap API say my IP is invalid?
Calls are accepted only from whitelisted IPv4 addresses. Add the public IPv4 address of the machine making the call in the API access settings; if it changes, the calls stop working until you whitelist the new one.
Why does Porkbun return API_ACCESS_DISABLED?
The domain hasn't been opted in to API access. Turn on API access in the domain's details, or for all domains in your account settings.
Can I move a domain to a registrar with a better API?
Yes. Unlock the domain at the current registrar, get its transfer (auth) code and start a transfer at the new one. At NameOcean a transfer adds a year to the registration.
Sources
- GoDaddy: authentication and account requirements, rate limits, DNS records, registration
- Namecheap: API FAQ
- Porkbun: API documentation, getting started
Want to try it? Read the API reference, or find a domain below and manage it from code from day one.
Got an idea? Find the perfect domain for it
Our AI domain name generator suggests available names across hundreds of extensions. Free SSL, DNS and Whois privacy included.
Read in other languages: