---
title: "Participant facet stats"
method: GET
path: "/v1/stats/participants"
tags: ["Participants"]
---

# Participant facet stats

`GET /v1/stats/participants`

## Request

- Base URL: `https://api.peppolstatus.com`
- URL: `https://api.peppolstatus.com/v1/stats/participants`
- Auth: none required

Global participant facet counts (per country/scheme/smp/ap/doctype/transport_profile, registered share, provenance split) plus an estimated total, from the hourly rollup. `total_count` counts every ID ever registered; `registered_count` and the `country_registered` facet scope the same data to the LIVE (registered) IDs (issue #818). Keyless-cacheable — safe for the marketing site to hit directly.

## Response `200`

The participant facet rollup.

- ParticipantStats
  - `total_count` integer, required: Every participant ID the directory carries, de-registered leavers included. Use registered_count for the live-ID population (issue #818).
  - `registered_count` integer: Participant IDs that are currently REGISTERED (live IDs only) — the figure a country or provider breakdown should add up to. Absent until the rollup has computed it (issue #818).
  - `unique_organizations` integer: Distinct organizations behind the participant IDs (count of the derived country-scoped company_key), shown next to total_count. Absent until the rollup has computed it (issue #451).
  - `refreshed_at` string, date-time, required
  - `facets` object, required
    - `country` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `country_registered` FacetBucket[]: The same country buckets counted over REGISTERED participants only, so the mix adds up to registered_count instead of the leaver-inflated total_count. Absent until the rollup has computed it (issue #818).
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `scheme` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `registered` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `provenance` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `smp` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `ap` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `doctype` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `transport_profile` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `entity_type` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `sector` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `size` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `region` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.
    - `vat_liable` FacetBucket[], required
      - `value` string, required
      - `count` integer, required
      - `label` string: Human-facing label when `value` is an opaque key: the `ap` facet's value is a SeatID and the label the curated provider name; the `size` and `region` facets carry the size band label and the local-language region name of their code (the code itself when it is unknown). Filter on `value`.

---

[API](https://skmtc.dev/peppolstatus/apis/peppolstatus-api.md) · [All operations](https://skmtc.dev/peppolstatus/apis/peppolstatus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/peppolstatus/apis/peppolstatus-api/revisions/7e74fb32f23c?raw)
