One API for Europe's insurance-intermediary registers

ORIAS · FSMA · AFM · CBI. One GET request, one normalized JSON record — whatever the country. Auto-detection of the register from the id format, plus monitoring for strike-offs across your intermediary network.

Try it — free verification

Verify an intermediary right here, for free — powered by the same production API you would integrate. Paste any supported identifier: we detect the register, query it, and return the normalized record.

Covered registers:ORIASFSMAAFMCBI
Try:

BrokPass is an independent verification service that queries the official registers — it is not the official register itself.

This tool uses the same public endpoints documented below (free tier: 20 requests per IP per day, standard RateLimit-* headers).

The API in three endpoints

GET/api/verify

Discovery

No parameters → the list of supported countries and their capabilities (register, live vs synced). Use it to enumerate coverage at runtime instead of hardcoding countries.

GET/api/verify?country=<ISO2>&id=<id>

Verify in a specific register

Country-scoped verification. Returns the normalized Intermediary record (schema below), identical across FR, BE, NL and IE. Errors carry machine codes (invalid_id, not_found, unsupported_country, timeout).

GET/api/verify/auto?id=<id>

Smart auto-detect

Resolves the country from the id format alone, queries every candidate register in parallel and returns the first match. If several registers recognise the id, you get a { candidates: [...] } list to disambiguate — exactly what the demo above does.

# Discovery — supported countries and capabilities
curl "https://brokpass.com/api/verify"

# 🇫🇷 France — ORIAS (SIREN / N° ORIAS)
curl "https://brokpass.com/api/verify?country=FR&id=542073580"
# 🇧🇪 Belgium — FSMA (BCE/KBO)
curl "https://brokpass.com/api/verify?country=BE&id=0202239951"
# 🇳🇱 Netherlands — AFM (KvK)
curl "https://brokpass.com/api/verify?country=NL&id=54942454"
# 🇮🇪 Ireland — CBI (C-number)
curl "https://brokpass.com/api/verify?country=IE&id=C10015"

# Auto-detect — resolve the country from the id format alone
curl "https://brokpass.com/api/verify/auto?id=C10015"

One normalized record for every register

Each national register speaks its own dialect — categories, ids, statuses. Connectors translate everything into a single Intermediary shape, so your integration is written once and works for every country we add.

FieldTypeDescription
countrystringISO 3166 alpha-2 country code (e.g. “FR”).
registerstringOfficial register name (ORIAS, FSMA, AFM, CBI).
nationalIdstring | nullRegistration number in that register.
companyIdstring | nullCompany id (SIREN, BCE/KBO, KvK…).
namestring | nullLegal / trading name of the intermediary.
statusenumregistered · struck_off · suspended · not_found · unknown.
categoriesCategory[]Registration categories: raw code + label + normalized group (insurance_broker, insurance_agent, banking_credit…).
addressstring | nullOne-line address, where the register publishes it.
validFromstring | nullRegistration start date (ISO YYYY-MM-DD).
passportCountriesstring[]EEA countries the entity may operate in (freedom of services / establishment).
sourceUrlstring | nullURL of the official register source.
fetchedAtstringISO 8601 timestamp the data was obtained.
GET /api/verify?country=FR&id=542073580
{
  "country": "FR",
  "register": "ORIAS",
  "nationalId": "07022455",
  "companyId": "542073580",
  "name": "MAAF ASSURANCES SA",
  "status": "registered",
  "categories": [
    { "code": "COA", "label": "COA", "group": "insurance_broker", "status": "registered" }
  ],
  "address": null,
  "validFrom": null,
  "passportCountries": [],
  "sourceUrl": "https://www.orias.fr/home/showIntermediaire/542073580",
  "fetchedAt": "2026-07-24T09:12:45.000Z"
}

Full reference — error codes, rate-limit headers, per-country examples, MCP server and legacy ORIAS endpoints — lives in the API documentation (also en français), with a per-register guide for each country: ORIAS · FSMA · AFM · CBI.

Monitoring: know the day an intermediary is struck off

A verification is a snapshot; a network needs surveillance. Every time BrokPass syncs a register, the new snapshot is diffed against the previous one — producing structured change events that power portfolio monitoring for distribution groups and insurers.

Change events

New registrations, strike-offs, renewals and category changes, detected register-wide at every sync.

Portfolio watch

Give us the list of intermediaries you work with; we track their status across all covered registers.

Strike-off alerts

Get notified when a watched intermediary is struck off or suspended — before your next periodic review.

Available on Business and Enterprise plans — set up with our team and delivered via webhooks and reports (not yet a self-serve dashboard).

The monitoring product in detail

Pricing at a glance

Full pricing details & FAQ
PlanPrice (excl. VAT)VerificationsKey features
Sandbox€0100 / month · 20 / day (evaluation)Full REST API + MCP, instant key
Pro€249 / month2,500 / month · overage €0.20 / callREST API + MCP + webhooks, monitoring (up to 100), email support
BusinessPopular€799 / month15,000 / month · overage €0.15 / call+ strike-off alerts, monitoring (up to 1,000), priority support
EnterpriseCustomHigh / unlimited volumeSLA, continuous monitoring (unlimited), SSO, onboarding & integration included

All prices exclude VAT. Plans sell verification, normalization and monitoring as a service — never resale of raw register data: source data remains subject to each official register's licence and attribution terms. Billing details, overage rules and the pricing FAQ live on the dedicated pricing page.

Talk to the team behind the connectors

Verifying a whole intermediary network, need monitoring, higher volumes or an on-site integration? Tell us about your setup — we answer fast.