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 Advanced Security active committers for an organization

Gets the GitHub Advanced Security active committers for an organization per repository.

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of advanced_security_committers for each repository.

If this organization defers to an enterprise for billing, the total_advanced_security_committers returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level.

The total number of repositories with committer information is tracked by the total_count field.

Fine-grained access tokens for "Get GitHub Advanced Security active committers 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 Advanced Security active committers 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.

Query parameters
Name, Type, Description
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Default: 1

HTTP response status codes for "Get GitHub Advanced Security active committers for an organization"

Status codeDescription
200

Success

Code samples for "Get GitHub Advanced Security active committers for an organization"

Request example

get/orgs/{org}/settings/billing/advanced-security
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/advanced-security

Success

Status: 200
{ "total_advanced_security_committers": 2, "total_count": 2, "maximum_advanced_security_committers": 4, "purchased_advanced_security_committers": 4, "repositories": [ { "name": "octocat-org/Hello-World", "advanced_security_committers": 2, "advanced_security_committers_breakdown": [ { "user_login": "octocat", "last_pushed_date": "2021-11-03", "last_pushed_email": "octocat@github.com" }, { "user_login": "octokitten", "last_pushed_date": "2021-10-25", "last_pushed_email": "octokitten@github.com" } ] }, { "name": "octocat-org/server", "advanced_security_committers": 1, "advanced_security_committers_breakdown": [ { "user_login": "octokitten", "last_pushed_date": "2021-10-26", "last_pushed_email": "octokitten@github.com" } ] } ] }

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 }