---
title: "List providers"
method: GET
path: "/v1/providers"
tags: ["Providers"]
---

# List providers

`GET /v1/providers`

## Request

- Base URL: `https://api.peppolstatus.com`
- URL: `https://api.peppolstatus.com/v1/providers`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

The OpenPeppol member registry with role flags, country, mapped hostnames and per-provider participant counts (market share), busiest first. Not paginated (the envelope's `next_cursor` is always null).

## Response `200`

The provider registry.

- ProviderPage: The provider registry (never paginated; next_cursor null).
  - `items` ProviderView[], required
    - `key` string, required
    - `trade_name` string, required
    - `legal_name` string, nullable, required
    - `country` string, nullable, required
    - `url` string, nullable, required
    - `flags` object, required
      - `peppol_authority` boolean, required
      - `ap` boolean, required
      - `smp` boolean, required
      - `end_user` boolean, required
      - `observer` boolean, required
    - `hostnames` string[], required
    - `participant_count` integer, required: SMP-hosting footprint: participants whose current SMP binding resolves to one of this provider's hosts. For a multi-tenant SMP operator this counts every hosted participant, including those whose Access Point cert identity belongs to another provider — so it can far exceed ap_roster_count.
    - `slug` string, nullable, required
    - `ap_roster_count` integer, nullable: AP-cert roster: the participant count of this provider's curated Access Point directory entry (the /v1/aps/{key} count), attributing participants by signing-cert identity rather than SMP hosting. The counterpart to participant_count; the two diverge for multi-tenant SMP operators. null/absent when the provider has no curated slug or no ap_directory row. Additive.
    - `smp_hostnames` string[], nullable: The provider's mapped SMP hostnames backing participant_count (from provider_host), capped at 10. These are the participant_smp.smp values the /v1/participants `smp=` filter matches, so a client can deep-link the hosted footprint to the pre-filtered participants list. null/absent when unmapped. Additive.
  - `next_cursor` string, nullable, required: Opaque cursor for the next page, or null on the last page.

---

[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)
