---
title: "Get All Projects Monthly Usage"
method: GET
path: "/v1/usage/projects/monthly/"
tags: ["Usage"]
---

# Get All Projects Monthly Usage

`GET /v1/usage/projects/monthly/`

## Request

- Base URL: `https://logfire-api.pydantic.dev/api`
- URL: `https://logfire-api.pydantic.dev/api/v1/usage/projects/monthly/`
- Auth: OAuth 2
  - Authorization code: `api/oauth/authorize`
  - Token URL: `/api/oauth/token` scopes: `organization:payment`
- TypeScript: <https://skmtc.dev/pydantic/apis/pydantic-logfire-api/docs/v1/usage/projects/monthly/get.ts> (a function with typed inputs; its response is checked against the schema)

Get monthly usage for all projects in the organization.

Returns monthly usage broken down by project. Each row is one `(month, project)` pair.
Read from `token_usage_monthly`.

## Query parameters

- `start_date` string, date, required
- `end_date` string, date, required

## Response `200`

Successful Response

- ProjectsUsageResponseV1
  - `start_date` string, date, required
  - `end_date` string, date, required
  - `total_records_count` integer, required
  - `total_metrics_count` integer, required
  - `total_observations` integer, required
  - `usage` ProjectUsageRowV1[], required
    - `date` string, date, required
    - `project_id` string, uuid, required
    - `project_name` string, required
    - `records_count` integer, required
    - `metrics_count` integer, required
    - `total_observations` integer, required

## Other responses

- `422`: Validation Error
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/pydantic/apis/pydantic-logfire-api.md) - [All operations](https://skmtc.dev/pydantic/apis/pydantic-logfire-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pydantic/apis/pydantic-logfire-api/revisions/7996e45256f4?raw)
