DEV Community


How to: Get Netlify Bandwith Usage Programatically For Free

Christoffer Lybekk
Developer under development. Devving web. Vueing. Reacting. Fluttering.
・1 min read

Using Python


In the script below, replace the following variable's values

Setting Explanation
ACCOUNT_NAME The account name associated with the account.
SITE_NAME The site name can be found in 'Site information' in the project's settings, or at the top in the overview.
EMAIL The email used during account registration.

Full Python script

import requests

# Edit these
ACCOUNT_NAME = 'youraccountname'
SITE_NAME = 'projectsitename'
EMAIL = ''
PERSONAL_ACCESS_TOKEN = "longlonglongstringgeneratedbynetlify"

# Leave the rest
bandwidth_api_url = '{}/bandwidth'.format(ACCOUNT_NAME)

auth_string = "Bearer " + PERSONAL_ACCESS_TOKEN

response = requests.get(bandwidth_api_url, headers = {
    'User-Agent': '{0} ({1})'.format(SITE_NAME, EMAIL),
    "Authorization": auth_string
response = response.json()

# Optional printing to console. Can be removed
print('Raw response: ', response)

def calculate(key):
    return int(response[key]) / 1000000

print_list = {
    "Included in plan": calculate("included"),
    "Used": calculate("used"),
    "Remaining":  calculate("included") - calculate("used"),
print('Human readable:')
for item in print_list.items():
    print(item[0], ': ', round(item[1], 2), ' MB')

Note: The returned usage will be a bit higher than how Netlify calculates it.

Using Javascript

Netlify Bandwidth Checker Tool

If you are comfortable pasting your Personal Access Token in a web form, try this tool, which does the same as the Python script, only in JavaScript.
One way to mitigate risk is to create a token, and revoke it just after using this tool.

Source code

Discussion (0)