How to access droplet-specific bandwidth usage via API?

Posted November 17, 2021 100 views
DigitalOcean API and CLI (doctl)DigitalOcean Droplets

I am planning to create a managed hosting solution for my clients using DigitalOcean droplets. I could successfully go through all the operation/billing options using digitalocean API, except the overuse of bandwidth.

The digitalocean api does not provide metric tracking such as cpu usage, memory usage, and transfer.

I went through the following options options:

  1. Install DigitalOcean agent (, which may lead us to revoke the root access as the malicious customer might mess up the metric tracking. This might be the case of cloudways.

  2. Manually tracking metrics based on billing, which seems counterproductive.

I’m not sure about how Laravel Forge and ServerPilot tracks the bandwidth usage. Is there any other way to track them seamlessly while also granting root access to the user?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer

Hey @sdriyaz712!

You should be able to access droplet specific, bandwidth, CPU and RAM usage through the api. It is available under the monitoring section here: Droplet Bandwidth API

That data should be able to be queried directly through the api without the need of the agent.

Hope it helps!

  • Hi, I apologise for the confusion. The question was somewhat misleading, I had more emphasis on network transfer limit, which incurs charge if it exceeds monthly quota.

    I found that vnstat does the same job, but I was looking for a better approach to monitor for my clients, without revoking root access.