Skip to main content
The REST API is now versioned. For more information, see "About API versioning."

REST API endpoints for billing

Use the REST API to get billing information for an enterprise.

About billing

You can get billing information for an enterprise. For more information, see "REST API endpoints for enterprise billing."

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 returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "Managing billing for GitHub Actions".

OAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.

Fine-grained access tokens for "Get GitHub Actions billing for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Administration" organization permissions (read)

Parameters for "Get GitHub Actions billing for an organization"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

HTTP response status codes for "Get GitHub Actions billing for an organization"

Status codeDescription
200

OK

Code samples for "Get GitHub Actions billing for an organization"

Request example

get/orgs/{org}/settings/billing/actions
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/settings/billing/actions

Response

Status: 200
{ "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 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."

OAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.

Fine-grained access tokens for "Get GitHub Packages billing for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Administration" organization permissions (read)

Parameters for "Get GitHub Packages billing for an organization"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

HTTP response status codes for "Get GitHub Packages billing for an organization"

Status codeDescription
200

OK

Code samples for "Get GitHub Packages billing for an organization"

Request example

get/orgs/{org}/settings/billing/packages
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/settings/billing/packages

Response

Status: 200
{ "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."

OAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.

Fine-grained access tokens for "Get shared storage billing for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Administration" organization permissions (read)

Parameters for "Get shared storage billing for an organization"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

HTTP response status codes for "Get shared storage billing for an organization"

Status codeDescription
200

OK

Code samples for "Get shared storage billing for an organization"

Request example

get/orgs/{org}/settings/billing/shared-storage
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/settings/billing/shared-storage

Response

Status: 200
{ "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 returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "Managing billing for GitHub Actions".

OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.

Fine-grained access tokens for "Get GitHub Actions billing for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Plan" user permissions (read)

Parameters for "Get GitHub Actions billing for a user"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
username string Required

The handle for the GitHub user account.

HTTP response status codes for "Get GitHub Actions billing for a user"

Status codeDescription
200

OK

Code samples for "Get GitHub Actions billing for a user"

Request example

get/users/{username}/settings/billing/actions
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/users/USERNAME/settings/billing/actions

Response

Status: 200
{ "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."

OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.

Fine-grained access tokens for "Get GitHub Packages billing for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Plan" user permissions (read)

Parameters for "Get GitHub Packages billing for a user"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
username string Required

The handle for the GitHub user account.

HTTP response status codes for "Get GitHub Packages billing for a user"

Status codeDescription
200

OK

Code samples for "Get GitHub Packages billing for a user"

Request example

get/users/{username}/settings/billing/packages
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/users/USERNAME/settings/billing/packages

Response

Status: 200
{ "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."

OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.

Fine-grained access tokens for "Get shared storage billing for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Plan" user permissions (read)

Parameters for "Get shared storage billing for a user"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
username string Required

The handle for the GitHub user account.

HTTP response status codes for "Get shared storage billing for a user"

Status codeDescription
200

OK

Code samples for "Get shared storage billing for a user"

Request example

get/users/{username}/settings/billing/shared-storage
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/users/USERNAME/settings/billing/shared-storage

Response

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