Billing

In this article

You can monitor your GitHub Actions and GitHub Packages charges and usage for a user and organization through the Billing API.

You can get billing information for an enterprise. For more information, see the "GitHub Enterprise administration" REST API.

Get GitHub Actions billing for an organization

Gets the summary of the free and paid GitHub Actions minutes used.

Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "Managing billing for GitHub Actions".

Access tokens must have the read:org scope.

get /orgs/{org}/settings/billing/actions

Parameters

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

org string path

Code samples

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/orgs/ORG/settings/billing/actions
JavaScript (@octokit/core.js)
await octokit.request('GET /orgs/{org}/settings/billing/actions', {
  org: 'org'
})

Default response

Status: 200 OK
{
  "total_minutes_used": 305,
  "total_paid_minutes_used": 0,
  "included_minutes": 3000,
  "minutes_used_breakdown": {
    "UBUNTU": 205,
    "MACOS": 10,
    "WINDOWS": 90
  }
}

Get GitHub Packages billing for an organization

Gets the free and paid storage usued for GitHub Packages in gigabytes.

Paid minutes only apply to packages stored for private repositories. For more information, see "Managing billing for GitHub Packages."

Access tokens must have the read:org scope.

get /orgs/{org}/settings/billing/packages

Parameters

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

org string path

Code samples

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/orgs/ORG/settings/billing/packages
JavaScript (@octokit/core.js)
await octokit.request('GET /orgs/{org}/settings/billing/packages', {
  org: 'org'
})

Default response

Status: 200 OK
{
  "total_gigabytes_bandwidth_used": 50,
  "total_paid_gigabytes_bandwidth_used": 40,
  "included_gigabytes_bandwidth": 10
}

Get shared storage billing for an organization

Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.

Paid minutes only apply to packages stored for private repositories. For more information, see "Managing billing for GitHub Packages."

Access tokens must have the read:org scope.

get /orgs/{org}/settings/billing/shared-storage

Parameters

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

org string path

Code samples

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/orgs/ORG/settings/billing/shared-storage
JavaScript (@octokit/core.js)
await octokit.request('GET /orgs/{org}/settings/billing/shared-storage', {
  org: 'org'
})

Default response

Status: 200 OK
{
  "days_left_in_billing_cycle": 20,
  "estimated_paid_storage_for_month": 15,
  "estimated_storage_for_month": 40
}

Get GitHub Actions billing for a user

Gets the summary of the free and paid GitHub Actions minutes used.

Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "Managing billing for GitHub Actions".

Access tokens must have the user scope.

get /users/{username}/settings/billing/actions

Parameters

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

username string path

Code samples

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/users/USERNAME/settings/billing/actions
JavaScript (@octokit/core.js)
await octokit.request('GET /users/{username}/settings/billing/actions', {
  username: 'username'
})

Default response

Status: 200 OK
{
  "total_minutes_used": 305,
  "total_paid_minutes_used": 0,
  "included_minutes": 3000,
  "minutes_used_breakdown": {
    "UBUNTU": 205,
    "MACOS": 10,
    "WINDOWS": 90
  }
}

Get GitHub Packages billing for a user

Gets the free and paid storage used for GitHub Packages in gigabytes.

Paid minutes only apply to packages stored for private repositories. For more information, see "Managing billing for GitHub Packages."

Access tokens must have the user scope.

get /users/{username}/settings/billing/packages

Parameters

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

username string path

Code samples

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/users/USERNAME/settings/billing/packages
JavaScript (@octokit/core.js)
await octokit.request('GET /users/{username}/settings/billing/packages', {
  username: 'username'
})

Default response

Status: 200 OK
{
  "total_gigabytes_bandwidth_used": 50,
  "total_paid_gigabytes_bandwidth_used": 40,
  "included_gigabytes_bandwidth": 10
}

Get shared storage billing for a user

Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.

Paid minutes only apply to packages stored for private repositories. For more information, see "Managing billing for GitHub Packages."

Access tokens must have the user scope.

get /users/{username}/settings/billing/shared-storage

Parameters

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

username string path

Code samples

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/users/USERNAME/settings/billing/shared-storage
JavaScript (@octokit/core.js)
await octokit.request('GET /users/{username}/settings/billing/shared-storage', {
  username: 'username'
})

Default response

Status: 200 OK
{
  "days_left_in_billing_cycle": 20,
  "estimated_paid_storage_for_month": 15,
  "estimated_storage_for_month": 40
}

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Or, learn how to contribute.