# Retrieve project consumption metrics

`GET /consumption_history/v2/projects`

Returns consumption metrics for up to `limit` projects per page. If `project_ids` is omitted, projects in the organization are included across pages (use `cursor`). If `project_ids` is provided, the response is limited to those projects (up to 100). Available for accounts on Launch, Scale, Agent, Business, and Enterprise plans.

History starts when the account upgrades to an eligible plan.

The `metrics` query parameter is required. Supported values: `compute_unit_seconds`, `root_branch_bytes_month`, `child_branch_bytes_month`, `instant_restore_bytes_month`, `public_network_transfer_bytes`, `private_network_transfer_bytes`, `extra_branches_month`, `snapshot_storage_bytes_month`.

Consumption metrics within each project are returned in ascending time order (oldest first). This request does not wake project computes.

[Markdown for AI context](/guides/apis-sdks-reference-api-consumption-get-consumption-history-per-project-v2)

```bash title="REST API - curl"
curl "https://console.neon.tech/api/v2/consumption_history/v2/projects?from=$FROM&to=$TO&granularity=$GRANULARITY&org_id=$ORG_ID&metrics=$METRICS" \
  -H "Authorization: Bearer $NEON_API_KEY"
```

Every field below is optional. An empty body works too.

```typescript title="Also available in"
import { createNeonClient, raw } from '@neon/sdk';

const neon = createNeonClient({ apiKey: process.env.NEON_API_KEY });
const { data } = await raw.getConsumptionHistoryPerProjectV2({
  client: neon.client,
  query: {
    from: process.env.FROM,
    to: process.env.TO,
    granularity: process.env.GRANULARITY,
    org_id: process.env.ORG_ID,
    metrics: process.env.METRICS
  }
});
```

## Parameters

Cursor

`cursor`

string

Cursor from the previous response (`pagination.cursor`). Pass it to fetch the next page of projects. Pages are ordered by project creation order (newest first).

Limit

`limit`

integerdefault: 10

Maximum number of projects per page. Allowed range: 1 to 100. Default: 10.

Project IDs

`project_ids`

array

Optional project IDs to filter the response (up to 100). If omitted, projects in the organization are included across pages (use `cursor` and `limit`).

Pass multiple IDs as repeated query parameters or a comma-separated list:

- `project_ids=cold-poetry-09157238&project_ids=quiet-snow-71788278`
- `project_ids=cold-poetry-09157238,quiet-snow-71788278`

From

`from`

string

Specify the start `date-time` for the consumption period. The `date-time` value is rounded according to the specified `granularity`. For example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`. The specified `date-time` value must respect the specified `granularity`:

- For `hourly`, consumption metrics are limited to the last 168 hours.
- For `daily`, consumption metrics are limited to the last 60 days.
- For `monthly`, consumption metrics are limited to the last year.

The earliest allowed `from` value is `March 1, 2024, at 00:00:00 UTC`. Metrics are returned from when the account upgraded to an eligible plan, which may be later than that date.

To

`to`

string

Specify the end `date-time` for the consumption period. The `date-time` value is rounded according to the specified `granularity`. For example, `2024-03-15T15:30:00Z` for `daily` granularity will be rounded to `2024-03-15T00:00:00Z`. The specified `date-time` value must respect the specified `granularity`:

- For `hourly`, consumption metrics are limited to the last 168 hours.
- For `daily`, consumption metrics are limited to the last 60 days.
- For `monthly`, consumption metrics are limited to the last year.

Granularity

`granularity`

string

Specify the granularity of consumption metrics. Hourly, daily, and monthly metrics are available for the last 168 hours, 60 days, and 1 year, respectively.

Organization

`org_id`

string

Organization ID. Metrics are returned for projects in this organization.

Metrics

`metrics`

array

Required. List the metrics to return. Supported values:

- `compute_unit_seconds`
- `root_branch_bytes_month`
- `child_branch_bytes_month`
- `instant_restore_bytes_month`
- `public_network_transfer_bytes`
- `private_network_transfer_bytes`
- `extra_branches_month`
- `snapshot_storage_bytes_month`

Pass multiple values as repeated query parameters or a comma-separated list:

- `metrics=compute_unit_seconds&metrics=extra_branches_month`
- `metrics=compute_unit_seconds,extra_branches_month`

## Response

200

Project consumption metrics for the Neon account.

::::tabs
:::tab{title="schema"}
Depth
:::

:::tab{title="example"}
:::
::::

## Errors

403

Not available for this account. Project consumption history requires a Launch, Scale, Agent, Business, or Enterprise plan.

404

Account is not a member of the organization specified by `org_id`.

406

The `from` and `to` range is not valid for the selected `granularity`. Adjust the range or choose a different granularity.

429

Too many requests

default

General error

This endpoint can return the standard Neon API error response.

Response fields

- `message` Required. Human-readable error message.
- `code` Required. Machine-readable error code.
- `request_id` Optional. Request identifier for debugging. You can provide one with the `X-Request-ID` header.

Retry guidance

If no response is returned, the request may still have reached the server. This is why retry safety depends on the method and status code.

Idempotent methods (`GET`, `HEAD`, `OPTIONS`) are generally safe to retry after a network error or timeout. Non-idempotent methods (`POST`, `PATCH`, `DELETE`, `PUT`) can change state, so avoid automatic retries unless your workflow can tolerate duplicate effects.

Responses with `423 Locked` or `503 Service Unavailable` are safe to retry. `423 Locked` means the resource is temporarily locked, usually because another operation is in progress.

## Related pages

- [Retrieve branch consumption metrics](./apis-sdks-reference-api-consumption-get-consumption-history-per-branch-v2.md)
- [Retrieve project consumption metrics (legacy plans)](./apis-sdks-reference-api-consumption-get-consumption-history-per-project.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
