Give your .COM a new home! $8.15 .COM Transfers! Use code: OCTOCOM Expires: 10/31/17
DOMAIN API

Domain API

Dropcatch domains and manage your account with Dynadot's Domain API! Our Domain API allows you to search for, register, renew, and delete domain names programmatically, using your own software and servers. With our Domain API, you can also easily set name servers, renew options, and folders for your domains. Our Domain API is available to all accounts, so get started today!

Want more features? Check out our Advanced Domain API!
Domain API from Dynadot - Search, Register, Manage, & Backorder Domains

Getting Started With Our Domain API

Requests to our Domain API are sent to the following URL:

https://api.dynadot.com/api2.html

Note that requests should be sent over https (secure socket) for security. Only 1 request can be processed at a time, so please wait for your current request to finish before sending another request. The request should have the following parameters:

Request ParameterExplanation
keyYour key to access the API, available in your account control panel
commandThe commands supported right now are "search" and "register"

The results are sent as a comma delimited text file. The first line is the result of the command. This line has 2 fields.

Result FieldExplanation
1The result of this API call:
ok - the command was successful
error - the command was not successful
2More information about the result, only used when result is "error"

The second line is empty. Subsequent lines are the results of the command, for example your search results.

Search Command

If calling the search command, the following parameters should be included:

Search Request ParameterExplanation
domain0 - domain99The domain name you are searching for, you can specify up to 100 domains
language0 - language99 (optional)The language tag for the respective domain, only use this for IDNs
show_price (optional)If you want to show the price in your account currency, set it equal to "1".

There will be 1 result line for each domain submitted. Each line will have 5 fields.

Search Result FieldExplanation
1The domain parameter, for example: domain0
2The domain name searched for, for example: mydomain.com
3The language if any, for example: spa
4The result of the search:
yes - the domain is available
no - the domain is not available
offline - the central registry for this domain is currently offline
system_busy - all connections are busy
error - there was a syntax or registry error processing this domain
5More information about the result/price, only used when result is "error" or you have "show_price" set to "1" in the request

Search Example

Request
https://api.dynadot.com/api2.html?key=8S7I2s6Qd8g&
command=search&domain0=mydomain.com&domain1=mydomain.net&show_price=1
Response
ok,

domain0,mydomain.com,,no,
domain1,mydomain.net,,yes,10.99 in USD

Register Command

Calling the register command will create and process a registration order. You must have enough account balance to pay for the order. If calling the register command, the following parameters should be included:

Register Request ParameterExplanation
DomainThe domain name you want to register, only 1 domain can be registered per request
LanguageThe language tag for the requested domain, only needed if the domain is an IDN
durationHow many years you want to register the domain
option0 (if necessary)The .UK or .BE registrant name
option1 (if necessary)The .UK registrant type code or .BE registrant organization name (optional)
option2 (if necessary)The .UK company number if required by the selected option1 .UK registrant type

There will be 1 result line for each request submitted. Each line will have 3 fields.

Register Result FieldExplanation
1
The result of the register request:
success - the domain was successfully registered
not_available - the domain is not available
insufficient_funds - not enough account balance to process this registration
offline - the central registry for this domain is currently offline
system_busy - all connections are busy
error - there was a syntax or registry error processing this request
2More information about the result, only used when result is "error"
3Expiration date in unix time (milliseconds since midnight UTC of January 1, 1970), only used when result is "success"

Register Example

Request
https://api.dynadot.com/api2.html?key=8S7I2s6Qd8g&
command=register&domain=mydomain.com&duration=1
Response
ok,

success,,1180897681932

Delete Command

Calling the delete command will delete a domain that is still in the grace period. Your account balance will be credited back the registration fee minus any deletion fees (see our grace deletion page for more info). Domains with privacy, that have been renewed, or that have been moved to a new account cannot be deleted through the API. If calling the delete command, the following parameters should be included:

Delete Request ParameterExplanation
DomainThe domain name you want to delete, only 1 domain can be deleted per request

There will be 1 result line for each request submitted. Each line will have 2 fields.

Delete Result FieldExplanation
1The result of the delete request:
success - the domain was successfully deleted
grace_expired - the grace period has already expired
too_soon - cannot delete a domain the first hour after registration
offline - the central registry for this domain is currently offline
error - there was a syntax or registry error processing this request
2More information about the result, only used when result is "error"

Delete Example

Request
https://api.dynadot.com/api2.html?key=8S7I2s6Qd8g&
command=delete&domain=mydomain.com
Response
ok,

success,

Renew Command

Calling the renew command will create and process a renewal order. If the domain has privacy, the renew command will also renew the privacy. You must have enough account balance to pay for the order. If calling the renew command, the following parameters should be included:

Renew Request ParameterExplanation
DomainThe domain name you want to renew, only 1 domain can be renewed per request
durationHow many years to renew the domain for
year (optional)The current year the domain expires

There will be 1 result line for each request submitted. Each line will have 3 fields.

Renew Result FieldExplanation
1The result of the renew request:
  success - the domain was successfully renewed
  insufficient_funds - not enough account balance to process this renewal
  offline - the central registry for this domain is currently offline
  error - there was a syntax or registry error processing this request
2More information about the result, only used when result is "error"
3Expiration date in unix time (milliseconds since midnight UTC of January 1, 1970), only used when result is "success"

Renew Example

Request
https://api.dynadot.com/api2.html?key=8S7I2s6Qd8g&
command=renew&domain=mydomain.com&duration=1
Response
ok,

success,,1180897681932

Get Name Servers Command

If calling the get name servers command, the following parameters should be included:

Get Name Servers Request ParameterExplanation
DomainThe domain whose name server info you want to get, only 1 domain's name server info can be pulled per request.

There will be 1 result line for each request submitted. Each line will have 2 fields.

Get Name Servers Result FieldExplanation
1The result of the get name servers request:
success - the name servers were successfully returned
offline - the central registry for this domain is currently offline
error - there was a syntax or registry error processing this request
2The detailed information of the name servers (ns0 - ns12) or more information about the result if the result is "error"
3More information about the name server setting, only used when result is "success"

Get Name Servers Example

Request
https://api.dynadot.com/api2.html?key=8S7I2s6Qd8g&
command=get_ns&domain=mydomain.com
Response
ok,

success,ns1.dynadot.com,ns2.dynadot.com,,,,,,,,,,,,Dynadot Forwarding

Set Name Servers Command

If calling the set name servers command, the following parameters should be included:

Set Name Servers Request ParameterExplanation
DomainThe domain name to update, only 1 domain can be set per request
ns0 - ns12The name servers to set your domain to use, you can specify up to 13 name servers, but they must already be in your account.

There will be 1 result line for each request submitted. Each line will have 2 fields.

Set Name Servers Result FieldExplanation
1The result of the set name servers request:
success - the name servers were successfully set
offline - the central registry for this domain is currently offline
error - there was a syntax or registry error processing this request
2More information about the result, only used when result is "error"

Set Name Servers Example

Request
https://api.dynadot.com/api2.html?key=8S7I2s6Qd8g&
command=set_ns&domain=mydomain.com&ns0=ns1.hostns.com&ns1=ns2.hostns.com
Response
ok,

success,

Set Renew Options Command

If calling the set renew options command, the following parameters should be included:

Set Renew Options Request ParameterExplanation
DomainThe domain name to update, only 1 domain can be set per request
renew-optionreset - reset the domain's renew option to "no renew option"
donot - set the domain's renew option to "do not renew"
auto - set the domain's renew option to "auto-renew"

There will be 1 result line for each request submitted. Each line will have 2 fields.

Set Renew Options Result FieldExplanation
1The result of the set renew options request:
success - the renew options were successfully set
error - there was a syntax error processing this request
2More information about the result, only used when result is "error"

Set Renew Options Example

Request
https://api.dynadot.com/api2.html?key=8S7I2s6Qd8g&
command=set_renew_option&domain=mydomain.com&renew-option=donot
Response
ok,

success,

Set Folder Command

If calling the set folder command, the following parameters should be included:

Set Folder Request ParameterExplanation
DomainThe domain name to update, only 1 domain can be set per request
folderThe folder name that you want to move your domain in
Use "Default" as the folder name if you want to move the domain to the default folder
Folder name is case sensitive, for example, "Folder1" and "folder1" are two different folder names

There will be 1 result line for each request submitted. Each line will have 2 fields.

Set Folder Result FieldExplanation
1The result of the set folder request:
success - the folder was successfully set
error - there was a syntax error processing this request
2More information about the result, only used when result is "error"

Set Folder Example

Request
https://api.dynadot.com/api2.html?key=8S7I2s6Qd8g&
command=set_folder&domain=mydomain.com&folder=folder1
Response
ok,

success,

Is-Processing Command

If calling the is_processing command, the following parameters should be included:

Is-Processing Request ParameterExplanation
no extra parameter is needed

There will be 1 result line for each domain submitted. Each line will have 1 fields.

Is-Processing Result FieldExplanation
1The result of the is_processing request:
yes - there is a request is processing, shouldn't send a new request
no - no request is processing. Safe to send a new request.

Is-Processing Example

Request
https://api.dynadot.com/api2.html?key=8S7I2s6Qd8g&
command=is_processing
Response
ok,

yes,

Languages

Afrikaans:afr Chinese:chi Arabic:ara Persian:per Russian:rus Japanese:jpn Spanish:spa Hebrew:heb Korean:kor Bulgarian:bul Chinese-Simplified:zh-cn French:fre Hungarian:hun Turkish:tur Danish:dan Thai:tha German:ger Hindi:hin Greek:gre Icelandic:ice Portuguese:por Swedish:swe Polish:pol Ukrainian:ukr Chinese-Traditional:zh-tw Bosnian:bos Czech:cze Norwegian:nor Finnish:fin Italian:ita Cyrillic:cyrl Belarusian:bel Georgian:geo Vietnamese:vie Latvian:lav Bengali:ben Albanian:alb Romanian:rum Serbian:scc Tamil:tam Panjabi:pan Slovak:slo Armenian:arm Irish:gle Catalan:cat Urdu:urd Slovenian:slv Gujarati:guj Lithuanian:lit Macedonian:mac Khmer:khm Telugu:tel Dutch:dut Kazakh:kaz Malayalam:mal Welsh:wel Tibetan:tib Estonian:est Indic:inc Mongolian:mon Gaelic:gla Bodo:brx Uzbek:uzb Somali:som Javanese:jav Pushto:pus Swahili:swa Aragonese:arg Assamese:asm Sanskrit:san Chechen:che Kirghiz:kir Luxembourgish:ltz Maltese:mlt Kashmiri:kas Yiddish:yid Burmese:bur Nepali:nep Carib:car Coptic:cop Malay:may Syriac:syr Oriya:ori Samoan:smo Asturian:ast Avestan:ave Awadhi:awa Azerbaijani:aze Balinese:ban Baluchi:bal Basa:bas Bashkir:bak Basque:baq Bhojpuri:bho Chuvash:chv Corsican:cos Croatian:scr Divehi:div Dogri:doi Faroese:fao Fijian:fij Frisian:fry Gondi:gon Indonesian:ind Ingush:inh Kurdish:kur Lao:lao Maori:mao Moldavian:mol Ossetian:oss Rajasthani:raj Sardinian:srd Sindhi:snd Sinhalese:sin Tajik:tgk Latin:latn Konkani:knn Maithili:mai Marathi:mar Punjabi:pun