ORIAS APIorias.fr ↗
Search and retrieve profiles from the official French ORIAS registry. Access registration status, categories, mandates, and services for insurance and finance intermediaries.
What is the ORIAS API?
The ORIAS API provides access to the official French registry of insurance, banking, and financial intermediaries through 2 endpoints. Use search_intermediaries to query the registry by name, SIREN, or ORIAS number and retrieve up to 20 paginated results per call, then use get_intermediary_details to pull a full profile including registration categories, mandate details, authorization status, and legal form for any individual intermediary.
curl -X GET 'https://api.parse.bot/scraper/37a14ba1-e2dd-4b3f-8766-be367f29c78f/search_intermediaries?page=1&step=INTERMEDIAIRE&query=PETIT' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace orias-fr-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""ORIAS Registry API — search French intermediaries and retrieve detailed profiles."""
from parse_apis.orias_registry_api import Orias, Step, IntermediaryNotFound
client = Orias()
# Search for intermediaries by name; limit= caps total items fetched.
for inter in client.intermediaries.search(query="PETIT", step=Step.INTERMEDIAIRE, limit=5):
print(inter.name, inter.orias_number, inter.siren, inter.status)
# Drill down: take one result and fetch its full profile.
first = client.intermediaries.search(query="PETIT", limit=1).first()
if first:
profile = first.details()
print(profile.details.sigle_enseigne_nom_commercial, profile.details.adresse)
for reg in profile.registrations:
print(reg.type_code, reg.type_full, reg.status, reg.status_date)
# Construct an intermediary directly by SIREN and fetch profile.
try:
known = client.intermediary(siren="453348948")
info = known.details()
print(info.details.no_orias, info.details.forme_juridique)
except IntermediaryNotFound as exc:
print(f"Not found: {exc}")
print("exercised: intermediaries.search / intermediary() / .details()")
Full-text search across the ORIAS intermediary registry. Matches by name, SIREN, or ORIAS number. Returns 20 items per page. Requires two internal HTTP round-trips (homepage for session token, then search POST). Use wildcard '%' to browse all entries. Paginates via integer page counter.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| step | string | Type of intermediaries to search. |
| query | string | Search keyword: a name, SIREN number, ORIAS number, or '%' wildcard for all. |
{
"type": "object",
"fields": {
"page": "integer current page number",
"step": "string the step type used in the search",
"items": "array of intermediary summary objects",
"total_results": "integer total number of matching intermediaries"
},
"sample": {
"data": {
"page": 1,
"step": "INTERMEDIAIRE",
"items": [
{
"id": "453348948",
"city": "ANNEVILLE SUR SCIE",
"name": "Fabrice PETIT",
"siren": "453348948",
"status": "INSCRIT",
"country": "France",
"categories": [
{
"name": "COA",
"status": "ACTIF"
}
],
"postal_code": "76590",
"orias_number": "07004126"
}
],
"total_results": 288
},
"status": "success"
}
}About the ORIAS API
Search the Registry
The search_intermediaries endpoint accepts a query parameter that can be a business name, SIREN number, ORIAS registration number, or the wildcard % to browse all entries. Results are paginated at 20 items per page using the integer page parameter (1-based). You can also filter by intermediary type via the step parameter. Each result in the items array includes a summary object, and the total_results field tells you how many records match. The id field from these summary objects is the SIREN number needed for detail lookups.
Full Intermediary Profiles
The get_intermediary_details endpoint takes a SIREN string and returns two top-level objects. The details object contains fields like sigle_enseigne_nom_commercial (trade name), statut, etat_and_inscriptions, no_orias, no_siren, and forme_juridique (legal form). The registrations array lists every registration category held by that intermediary, with fields for activity_type, type_code, type_full, status, status_date, and financial_rights. Where applicable, registration entries also include nested services and mandate-related associations.
Data Coverage
ORIAS (Organisme pour le Registre des Intermédiaires en Assurance) is the official French authority maintaining this registry. The data covers intermediary categories including IAS (insurance), IOBSP (banking and payment services), IFP (participatory financing), and CIF (investment advisors). Every entry reflects the intermediary's current authorization state as recorded by ORIAS, making this the authoritative source for verifying whether a French-regulated intermediary is active and what services they are licensed to offer.
The ORIAS API is a managed, monitored endpoint for orias.fr — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when orias.fr changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official orias.fr API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Verify that a French insurance broker holds a valid ORIAS registration before onboarding them as a partner
- Check the
statusandstatus_datefields inregistrationsto confirm an intermediary's authorization is current - Look up an intermediary's
forme_juridiqueand NAF code for KYB (Know Your Business) due diligence workflows - Build a monitoring service that periodically re-checks the
statutfield for a list of SIRENs to detect deregistration - Search by SIREN to cross-reference ORIAS registration data with other French business databases
- Filter by
type_codewithin theregistrationsarray to identify all IAS or IOBSP intermediaries from a search result set - Enumerate the full registry using the
%wildcard and pagination to build a local compliance reference database
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ORIAS offer an official developer API?+
What does the `registrations` array in `get_intermediary_details` actually contain?+
registrations represents one authorization category held by the intermediary. Fields include activity_type, type_code (e.g. IAS, IOBSP), type_full (the expanded label), status, status_date, and financial_rights. Some entries also include nested services and mandate or association data, which describe the specific products or principals the intermediary is authorized to represent.How does pagination work in `search_intermediaries`?+
page value (starting at 1) to step through results. The total_results field in the response tells you the full match count, so you can calculate how many pages exist. To browse the entire registry without a specific query, pass % as the query value.Does the API return historical registration records or only current status?+
status_date field that indicates when a given status was last set. Historical audit trails or past registration events are not currently exposed. You can fork this API on Parse and revise it to add a change-tracking layer that records status snapshots over time.Can I search for intermediaries by city, region, or address?+
search_intermediaries endpoint filters by name, SIREN, or ORIAS number only. Geographic filtering by city, postal code, or region is not currently supported. You can fork this API on Parse and revise it to add address-based filtering using the address fields returned in intermediary profiles.