Skip to main content
GET
/
api
/
v0
/
charges
show charges
curl --request GET \
  --url https://console.vast.ai/api/v0/charges/ \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "count": 2,
  "total": 14,
  "next_token": "eyJ2YWx1ZXMiOiB7ImlkIjogMTIzNDU2Nzh9fQ==",
  "results": [
    {
      "start": 1730419200,
      "end": 1730678400,
      "type": "instance",
      "source": "instance-12345678",
      "description": "Instance 12345678 Charges - 4 days",
      "amount": 38.421,
      "metadata": {
        "template_id": 101,
        "label": "my-training-job",
        "endpoint_id": 19392,
        "workergroup_id": 25355
      },
      "items": [
        {
          "start": 1730419200,
          "end": 1730678400,
          "type": "gpu",
          "source": null,
          "description": "96.000 hours at $0.389/hour",
          "amount": 37.344,
          "metadata": {},
          "items": []
        }
      ]
    }
  ]
}

Authorizations

Authorization
string
header
required

API key must be provided in the Authorization header

Query Parameters

select_filters
string
required

day (required). Date range in unix seconds (UTC). Operators: gte, lte.

type (optional). Filter by contract type: instance, volume, serverless. Operator: in.

Examples:

// All charges in January 2026
{"day":{"gte":1767225600,"lte":1769903999}}

// Only instance charges
{"day":{"gte":1767225600,"lte":1769903999},"type":{"in":["instance"]}}

// Volumes and serverless only
{"day":{"gte":1767225600,"lte":1769903999},"type":{"in":["volume","serverless"]}}
format
enum<string>
default:table
  • table (default) flat list of per-contract rows with type: "instance" or "volume".
  • tree serverless contracts are collapsed under endpoint/workergroup wrappers with type: "serverless" and source: "endpoint-<id>" / "workergroup-<id>". Regular instances and volumes are unchanged.
Available options:
table,
tree
Example:

"table"

latest_first
boolean
default:true

Sort by most recent charges first.

Example:

true

limit
integer
default:100

Max results per page. Server maximum 500.

Required range: x >= 1
Example:

20

after_token
string

Pass the next_token value from the previous response to fetch the next page of results. When the response returns next_token: null, there are no more pages.

Example:

"eyJ2YWx1ZXMiOiB7ImlkIjogMTIzNDU2Nzh9fQ=="

Response

Paginated per-instance charge results

success
boolean
Example:

true

count
integer

Number of contracts returned in this page.

Example:

2

total
integer

Total number of contracts matching the filters.

Example:

14

next_token
string | null

Pagination cursor for the next page. null when no more pages.

Example:

"eyJ2YWx1ZXMiOiB7ImlkIjogMTIzNDU2Nzh9fQ=="

results
object[]

List of per-contract charge entries.