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

# Volume metrics

> Learn how to track overall sending volume and dropped messages for your MailChannels Email API account.

## What volume metrics measure

Volume metrics give you a high-level view of throughput. They report three counts:

* `processed`: messages accepted by MailChannels for delivery.
* `delivered`: messages successfully handed off to the recipient's mail server.
* `dropped`: messages that MailChannels could not process for delivery.

Use these metrics to track sending volume over time, detect spikes or drop-offs, and surface configuration issues
that are causing messages to be dropped before they reach the recipient.

## Example query

The example below requests daily processing and delivery counts for the first week of January 2026.

<CodeGroup>
  ```bash cURL theme={null}
  #!/usr/bin/env bash
  # Retrieve processed, delivered, and dropped counts for the first week of January 2026.
    set -u
    : "${MAILCHANNELS_API_KEY:?Set MAILCHANNELS_API_KEY before running}"

  curl -G "https://api.mailchannels.net/tx/v1/metrics/volume" \
    -H "X-Api-Key: $MAILCHANNELS_API_KEY" \
    --data-urlencode "start_time=2026-01-01T00:00:00Z" \
    --data-urlencode "end_time=2026-01-07T23:59:59Z"
  ```

  ```javascript Node.js theme={null}
  import { MailChannels } from "mailchannels-sdk";

  const { MAILCHANNELS_API_KEY } = process.env;
  if (!MAILCHANNELS_API_KEY) throw new Error("Set MAILCHANNELS_API_KEY before running");

  const mailchannels = new MailChannels(MAILCHANNELS_API_KEY);

  const { data, error } = await mailchannels.metrics.volume({
    startTime: "2026-01-01T00:00:00Z",
    endTime: "2026-01-07T23:59:59Z",
  });

  if (error) {
    console.error("Get volume metrics failed:", error);
    process.exit(1);
  }
  console.log(data);
  ```

  ```python Python theme={null}
  import os
  import sys

  import mailchannels

  if not os.environ.get("MAILCHANNELS_API_KEY"):
      sys.exit("Set MAILCHANNELS_API_KEY before running")

  # Retrieve processed, delivered, and dropped counts for the first week of January 2026.
  response = mailchannels.Metrics.volume(
      start_time="2026-01-01T00:00:00Z",
      end_time="2026-01-07T23:59:59Z",
  )

  print(response)
  ```

  ```php PHP theme={null}
  <?php

  require_once __DIR__ . '/vendor/autoload.php';

  use MailChannels\Client;

  $api_key = getenv('MAILCHANNELS_API_KEY') or exit("Error: MAILCHANNELS_API_KEY is not set\n");

  $client = new Client(apiKey: $api_key);

  // Retrieve processed, delivered, and dropped counts for the first week of January 2026.
  $response = $client->metrics->volume(
      startTime: '2026-01-01T00:00:00Z',
      endTime:   '2026-01-07T23:59:59Z',
  );

  print_r($response->toArray());
  ```
</CodeGroup>

<Tip>
  For a similar view that reports messages bounced by the recipient's mail server instead, see
  [performance metrics](/email-api/metrics-performance).
</Tip>
