Inbox Zero Stats API

The Stats API from Inbox Zero — 2 operation(s) for stats.

GitHub OpenAPI

Operations 2

GET /stats/by-period Get stats by period #
GET /stats/response-time Get stats response time #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/getinboxzero-com:getinboxzero-com-stats-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

getinboxzero-com-stats-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Inbox Zero Stats API
  version: 1.0.0
  description: 'Programmatic access to Inbox Zero inbox stats, automation rules, and sender unsubscribe. Docs: https://docs.getinboxzero.com/api-reference/introduction Machine-readable schema: /openapi.json Authenticate with an account-scoped API key via the API-Key header. Errors return JSON with error.code, error.message, and error.hint.'
servers:
- url: https://www.getinboxzero.com/api/v1
  description: Primary server
security:
- ApiKeyAuth: []
tags:
- name: Stats
paths:
  /stats/by-period:
    get:
      operationId: getStatsByPeriod
      description: Get email statistics grouped by time period. Returns counts of emails by status (all, sent, read, unread, archived, unarchived) for each period.
      security:
      - ApiKeyAuth:
        - STATS_READ
      x-required-scopes:
      - STATS_READ
      parameters:
      - schema:
          type: string
          enum:
          - day
          - week
          - month
          - year
          default: week
        required: false
        name: period
        in: query
      - schema:
          type:
          - number
          - 'null'
        required: false
        name: fromDate
        in: query
      - schema:
          type:
          - number
          - 'null'
        required: false
        name: toDate
        in: query
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: array
                    items:
                      type: object
                      properties:
                        startOfPeriod:
                          type: string
                        All:
                          type: number
                        Sent:
                          type: number
                        Read:
                          type: number
                        Unread:
                          type: number
                        Unarchived:
                          type: number
                        Archived:
                          type: number
                      required:
                      - startOfPeriod
                      - All
                      - Sent
                      - Read
                      - Unread
                      - Unarchived
                      - Archived
                  allCount:
                    type: number
                  inboxCount:
                    type: number
                  readCount:
                    type: number
                  sentCount:
                    type: number
                required:
                - result
                - allCount
                - inboxCount
                - readCount
                - sentCount
        '400':
          description: Invalid query, path, or request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '401':
          description: Missing, invalid, or expired API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '403':
          description: API key lacks a required scope or is not account-scoped
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '405':
          description: HTTP method is not supported for this route
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '429':
          description: Rate limited by the API or email provider
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '500':
          description: Unexpected server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
      tags:
      - Stats
      summary: Get stats by period
      x-summary-source: derived
  /stats/response-time:
    get:
      operationId: getStatsResponseTime
      description: Get email response time statistics. Returns summary stats, distribution, and trend data showing how quickly you respond to emails.
      security:
      - ApiKeyAuth:
        - STATS_READ
      x-required-scopes:
      - STATS_READ
      parameters:
      - schema:
          type:
          - number
          - 'null'
        required: false
        name: fromDate
        in: query
      - schema:
          type:
          - number
          - 'null'
        required: false
        name: toDate
        in: query
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  summary:
                    type: object
                    properties:
                      medianResponseTime:
                        type: number
                      averageResponseTime:
                        type: number
                      within1Hour:
                        type: number
                      previousPeriodComparison:
                        type:
                        - object
                        - 'null'
                        properties:
                          medianResponseTime:
                            type: number
                          percentChange:
                            type: number
                        required:
                        - medianResponseTime
                        - percentChange
                    required:
                    - medianResponseTime
                    - averageResponseTime
                    - within1Hour
                    - previousPeriodComparison
                  distribution:
                    type: object
                    properties:
                      lessThan1Hour:
                        type: number
                      oneToFourHours:
                        type: number
                      fourTo24Hours:
                        type: number
                      oneToThreeDays:
                        type: number
                      threeToSevenDays:
                        type: number
                      moreThan7Days:
                        type: number
                    required:
                    - lessThan1Hour
                    - oneToFourHours
                    - fourTo24Hours
                    - oneToThreeDays
                    - threeToSevenDays
                    - moreThan7Days
                  trend:
                    type: array
                    items:
                      type: object
                      properties:
                        period:
                          type: string
                        periodDate:
                          type:
                          - string
                          - 'null'
                          format: date-time
                        medianResponseTime:
                          type: number
                        count:
                          type: number
                      required:
                      - period
                      - periodDate
                      - medianResponseTime
                      - count
                  emailsAnalyzed:
                    type: number
                  maxEmailsCap:
                    type: number
                required:
                - summary
                - distribution
                - trend
                - emailsAnalyzed
                - maxEmailsCap
        '400':
          description: Invalid query, path, or request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '401':
          description: Missing, invalid, or expired API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '403':
          description: API key lacks a required scope or is not account-scoped
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '405':
          description: HTTP method is not supported for this route
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '429':
          description: Rate limited by the API or email provider
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '500':
          description: Unexpected server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
      tags:
      - Stats
      summary: Get stats response time
      x-summary-source: derived
components:
  schemas:
    PublicApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
              - BAD_REQUEST
              - UNAUTHORIZED
              - FORBIDDEN
              - NOT_FOUND
              - METHOD_NOT_ALLOWED
              - RATE_LIMITED
              - INTERNAL_ERROR
            message:
              type: string
            hint:
              type: string
          required:
          - code
          - message
          - hint
      required:
      - error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: API-Key
      description: 'Account-scoped API key created in Settings.

        Operations declare the scopes they require.

        Available scopes:

        - RULES_READ: List and inspect automation rules for this inbox.

        - RULES_WRITE: Create, update, and delete automation rules for this inbox.

        - STATS_READ: Read aggregated inbox statistics for this inbox.

        - SENDERS_UNSUBSCRIBE: Unsubscribe from senders for this inbox.'
      x-scopes:
        RULES_READ: List and inspect automation rules for this inbox.
        RULES_WRITE: Create, update, and delete automation rules for this inbox.
        STATS_READ: Read aggregated inbox statistics for this inbox.
        SENDERS_UNSUBSCRIBE: Unsubscribe from senders for this inbox.