---
title: "Get analytics"
method: GET
path: "/v1/analytics"
tags: ["Analytics"]
---

# Get analytics

`GET /v1/analytics`

## Request

- Base URL: `https://smtpfa.st/api`
- URL: `https://smtpfa.st/api/v1/analytics`
- Auth: HTTP bearer

Sending and deliverability totals for the account, plus a 30-day daily series. Pass days and/or domain to add a `window` object holding exact counts for that window and sending domain, aggregated in the database rather than sampled from the event log.

## Query parameters

- `days` integer
- `domain` string

## Response `200`

Analytics data

- Analytics
  - `total` integer: Every email on the account, whatever its status
  - `sent` integer: Emails that went out (sent, delivered, opened, clicked, bounced or complained). The rates are worked out against this.
  - `today` integer: Emails sent in the last 24 hours
  - `thisWeek` integer: Emails sent in the last 7 days
  - `delivered` integer: Accepted by the receiving server, including those later opened or clicked
  - `bounced` integer
  - `complained` integer
  - `failed` integer: Never sent because of an error
  - `pending` integer: Scheduled, queued or sending; not counted in any rate yet
  - `canceled` integer
  - `awaitingReport` integer: Sent, with no delivery or bounce report yet; not counted in the rates
  - `deliveryRate` number, float: (delivered + complained) / (sent - awaitingReport), as a percentage
  - `bounceRate` number, float: bounced / (sent - awaitingReport), as a percentage
  - `daily` object[]: Last 30 days, bucketed by the UTC day each email was sent
    - `date` string
    - `sent` integer
    - `delivered` integer
    - `bounced` integer
  - `usage` object
    - `period` string
    - `sent` integer
    - `delivered` integer
    - `bounced` integer
    - `limit` integer
    - `tier` string
  - `window` object: Present when days or domain is passed
    - `days` integer
    - `from` string, date-time
    - `to` string, date-time
    - `domain` string, nullable
    - `counts` object
      - `sent` integer
      - `delivered` integer
      - `hard_bounced` integer
      - `soft_bounced` integer
      - `complained` integer
      - `failed` integer
    - `rates_percent` object
      - `delivered` number
      - `hard_bounced` number
      - `soft_bounced` number
      - `complained` number
    - `complete` boolean

## Other responses

- `400`: Bad request - check your payload
- `401`: Invalid or missing API key
- `429`: Rate limit exceeded - retry after the period indicated in the Retry-After header
- `500`: Internal server error

---

[API](https://skmtc.dev/smtpfa/apis/smtpfast-api.md) · [All operations](https://skmtc.dev/smtpfa/apis/smtpfast-api/llms.txt) · [OpenAPI document](https://skmtc.dev/smtpfa/apis/smtpfast-api/revisions/79dda742f53e?raw)
