> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Export node usage to CSV with the Chainstack Platform API v2

> Download the full node usage report for your organization as a CSV file using the Platform API v2. Send a GET request to /v2/reporting/node-usage/export/.



## OpenAPI

````yaml get /v2/reporting/node-usage/export/
openapi: 3.0.3
info:
  x-logo:
    url: https://chainstack.com/assets/docs/api-docs-logo.svg
    backgroundColor: '#F5F8FC'
    altText: Chainstack
  title: 💙 CHAINSTACK PLATFORM API
  version: v2
  contact:
    name: API Support
    email: support@chainstack.com
  description: >
    A set of API endpoints to operate and manage the platform resources.<br>

    See also a [quick API
    tutorial](https://docs.chainstack.com/reference/quick-tutorial).
servers:
  - url: https://api.chainstack.com
    description: API endpoint
security: []
paths:
  /v2/reporting/node-usage/export/:
    get:
      tags:
        - Node usage V2
      summary: Export node usage to CSV
      description: >
        Download the full node usage report for your organization as a CSV file.
        Accepts the same filters as the list endpoint and returns every matching
        row without pagination.

        <br> When `date_from` and `date_to` are omitted, the report covers your
        organization's current metered billing period. Usage data is retained
        for 2 months — `date_from` cannot be earlier than the first day of the
        previous calendar month.

        <br> The `Date` column renders as `YYYY-MM-DD` with `granularity=day`
        and as `YYYY-MM-DDTHH:00:00Z` with `granularity=hour`. Metrics that
        don't apply to a node are empty cells.

        <br> Rate limit: 5 requests per minute per organization.
      operationId: exportNodeUsageV2
      parameters:
        - $ref: '#/components/parameters/NodeUsageDateFrom'
        - $ref: '#/components/parameters/NodeUsageDateTo'
        - $ref: '#/components/parameters/NodeUsageNodeId'
        - $ref: '#/components/parameters/NodeUsageProtocol'
        - $ref: '#/components/parameters/NodeUsageNetwork'
        - $ref: '#/components/parameters/NodeUsageNodeType'
        - $ref: '#/components/parameters/NodeUsageGranularity'
        - $ref: '#/components/parameters/NodeUsageOrdering'
      responses:
        '200':
          content:
            text/csv:
              schema:
                type: string
              examples:
                export:
                  value: >
                    Node ID,Node name,Date,Node type,Protocol,Network,Compute
                    hours,GB-hour,Request units,bloXroute requests

                    ND-123-456-789,My Ethereum
                    node,2026-07-16,dedicated,ethereum,ethereum-mainnet,24,2064,,

                    ND-987-654-321,My Solana
                    node,2026-07-16,elastic,solana,solana-mainnet,,,184023,0
          description: The report as a CSV attachment named `node-usage-report.csv`.
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '429':
          description: >-
            Request was throttled. The node usage export endpoint allows 5
            requests per minute per organization.
      security:
        - APIKeyAuthentication: []
components:
  parameters:
    NodeUsageDateFrom:
      name: date_from
      required: false
      in: query
      description: >
        Start of the reporting period, inclusive, as an ISO 8601 datetime.

        <br> Defaults to the start of your organization's current metered
        billing period.

        <br> Cannot be earlier than the first day of the previous calendar month
        — usage data is retained for 2 months.
      schema:
        type: string
        format: date-time
        example: '2026-07-01T00:00:00Z'
    NodeUsageDateTo:
      name: date_to
      required: false
      in: query
      description: >
        End of the reporting period as an ISO 8601 datetime. Must be later than
        `date_from`.

        <br> Defaults to the end of your organization's current metered billing
        period.
      schema:
        type: string
        format: date-time
        example: '2026-07-17T00:00:00Z'
    NodeUsageNodeId:
      name: node_id
      required: false
      in: query
      description: >-
        Filter by node ID. Accepts a comma-separated list
        (`ND-123-456-789,ND-987-654-321`).
      schema:
        type: string
    NodeUsageProtocol:
      name: protocol
      required: false
      in: query
      description: Filter by protocol. Accepts a comma-separated list (`ethereum,solana`).
      schema:
        type: string
    NodeUsageNetwork:
      name: network
      required: false
      in: query
      description: >
        Filter by the network's public internal name, prefixed by protocol
        (`ethereum-mainnet`, `ethereum-sepolia-testnet`). Accepts a
        comma-separated list.
      schema:
        type: string
    NodeUsageNodeType:
      name: node_type
      required: false
      in: query
      description: Filter by node type. Omit to include both types.
      schema:
        type: string
        enum:
          - elastic
          - dedicated
    NodeUsageGranularity:
      name: granularity
      required: false
      in: query
      description: Size of the time bucket the usage is aggregated into.
      schema:
        type: string
        enum:
          - day
          - hour
        default: day
    NodeUsageOrdering:
      name: ordering
      required: false
      in: query
      description: >
        Which fields to use when ordering the results — a comma-separated list
        of `datetime` and `node_id`.

        <br> Use the `-` prefix to perform descending ordering (`-datetime`).
      schema:
        type: string
        default: '-datetime,node_id'
  responses:
    ValidationError:
      description: Validation error.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  code:
                    type: string
                    description: A string indicating the kind of error.
                  message:
                    type: string
                    description: A human-readable description of the error.
                  fields:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                    description: Optional. Field-level validation errors.
    UnauthorizedError:
      description: Authentication credentials were missing or incorrect.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  code:
                    type: string
                    description: A string indicating the kind of error.
                  message:
                    type: string
                    description: A human-readable description of the error.
    ForbiddenError:
      description: The request is not allowed with the current permissions.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  code:
                    type: string
                    description: A string indicating the kind of error.
                  message:
                    type: string
                    description: A human-readable description of the error.
  securitySchemes:
    APIKeyAuthentication:
      type: http
      scheme: bearer
      description: >
        Chainstack API uses [API
        keys](https://docs.chainstack.com/reference/platform-api-getting-started)
        to authenticate requests. You can view and manage your API keys in the
        platform UI.

        Your API keys carry many privileges, so be sure to keep them secure!

        Provide your API key as the `Authorization` header. The value of the
        header consists of `Bearer` prefix and secret key generated through the
        platform UI.


        ```bash

        curl -X GET 'https://api.chainstack.com/v1/organization/' \

        --header 'Authorization: Bearer
        FX7CWlLg.FMpAO8cgCX2N7s41EncRru2nb5CmTZUt'

        ```


        All API requests must be made over HTTPS.

````