Overview
An application programming interface (API) is a software interface built for a specific software platform. This interface allows external software (such as a program you created) or a URL you visit in a browser to interact with the primary software platform.
DreamHost offers an API customers can use to interact with their account information such as Domains, DNS, Mail, Databases, and Users.
DreamHost's API currently offers the following three commands.
Formerly available API commands to manage your account, domain, mail, databases, rewards, and users have been removed.
Connecting to the API
How do I connect to DreamHost's API?
You can connect DreamHost's API in two ways:
- Visiting a URL in your browser
- Writing a script
In both cases, the results are returned in the format of your choice. Valid formats are:
View the following article for instructions on how to connect to the DreamHost API:
Implementation notes
Case sensitivity
All parameter names are case-sensitive and must be in lower case. However, the values you submit to the server are generally case-insensitive.
Rate limiting
In order to ensure DreamHost systems remain stable and responsive, the rate at which certain API commands or groups of API commands can be run by the same user is limited.
These limits are relatively generous and very few users ever run into them. Limits are usually set per hour or per day, although some commands may have limits in shorter periods of time such as 10 minutes.
When API calls fail for any reason (for example if you tried to create a user that already existed), it does not count against your limits (note that this also means that failing because you exceeded the rate limit also does not count).
When you do run into a limit, the error returned is:
error slow_down_bucko (detailed info about type of limit reached after a tab)
If you run into this error, you should consider ways in which you could reduce the frequency that you are calling the API. Most likely you would only run into these limits if you have a script or automated program that loops to repeatedly make API calls. So you can simply slow down the rate at which your script runs, or make sure that it keeps track of how many commands it has issued in the last hour/day.
Test Account
If you wish to test the DreamHost API without having your own account, you may use the following API Key:
6SHU5P2HLDAYECUM
This account only has access to "list" commands. For example:
https://api.dreamhost.com/?key=6SHU5P2HLDAYECUM&cmd=dns-list_records