API

The DigitalOcean API lets you programmatically manage your Droplets and other resources using conventional HTTP requests. Any action that you can perform through the DigitalOcean Control Panel (except for creating personal access tokens) can also be performed with the API.

Getting Started

Get familiar with the structure and behavior of the DigitalOcean API.
See examples of how to format requests to interact with the DigitalOcean API.
Create a personal access token for use with the DigitalOcean API.

API Reference Documentation

Programmatically manage Droplets and other DigitalOcean resources using conventional HTTP requests. All of the functionality in the DigitalOcean Control Panel is also available through the API.
Programmatically manage your data with Spaces’ AWS S3-compatible object storage API
The metadata API allows a Droplet to access information about itself including user data, Droplet ID, datacenter region, and IP addresses.
The OAuth API is a secure method for authenticating users and allowing third-party applications limited access to your servers or DigitalOcean user accounts.

API Clients

The official DigitalOcean API client for Go.
github.com
The official DigitalOcean API client for Ruby.
github.com
Official and community-created client libraries that let you use the DigitalOcean API in a variety of programming languages.

More Information

Keep up to date with changes to our APIs using the API filter in our release notes section.

You can also subscribe to the release notes RSS feed.

Latest Updates

12 July 2022

  • The DigitalOcean API now supports listing Droplets by name by using the name query parameter, as in GET /v2/droplets?name="your_droplet_name". Learn more in the API documentation.

7 July 2022

  • Fedora 34 has reached its end of life. Per our image deprecation policy, you can now only deploy the Fedora 34 image via the API. We will remove the Fedora 34 image from the platform on 7 August 2022.

30 June 2022

  • Released v1.78.0 of doctl, the official DigitalOcean CLI. This release renames the sandbox commands to serverless. Aliases are provided for backwards compatibility. Additionally, the output of the account get command now includes the name of the active team.

For more information, see the full release notes.