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": [] } ] } ] }

Documentation Index

Fetch the complete documentation index at: https://docs.vast.ai/llms.txt

Use this file to discover all available pages before exploring further.

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.