Use client.peppol when you need the public list of PEPPOL service providers
registered in KSeF. This is a root-client branch and does not require
authentication.
Query providers
list() returns a Pager: iterate it for every provider, call .pages() for
page-sized lists, or .first_page() to make a single request.
All providers
for provider in client.peppol.list():
print(provider.id, provider.name, provider.date_created)
# PeppolProvider
# {
# "id": "PPL123456",
# "name": "Example PEPPOL Provider",
# "date_created": "2026-06-25T10:00:00Z"
# }python
One page
first = client.peppol.list().first_page()python
Cache provider choices
Provider records are reference data. Query them from KSeF, then cache the id and display name for user selection or validation in your product.
providers_by_id = {
provider.id: provider.name
for provider in client.peppol.list()
}python
Recommended flow
-
Query providers from the root client.
-
Store provider ids and names in your application's reference-data cache.
-
Use provider ids when validating user choices or PEPPOL-related data.
-
Refresh the cache according to your product's data freshness needs.
Next workflows
- Client setup: Create the root client used for public PEPPOL provider queries.
- PEPPOL: Understand where PEPPOL provider data fits in the SDK surface.
