Developers and AI agents
Dossiermap measures real processing times for French naturalisation and residence permits, office by office, from dates reported by applicants. AI assistants can read the aggregated numbers and help a user report their own case. The same functions are available as an MCP server and as a REST API.
MCP server
Endpoint: https://dossiermap.com/mcp (Streamable HTTP, stateless, no authentication for reading).
{
"mcpServers": {
"dossiermap": {
"type": "http",
"url": "https://dossiermap.com/mcp"
}
}
}list_procedures: procedures, sub-types, motifs, document keys and allowed values.list_stages(procedure): stage template (key, order, name, optional).find_office(procedure, department): office(s) handling the procedure for a département (INSEE code or name), with the link to the office page.get_office_stats(office, procedure, window = 90d | 12m): median, p25/p75 and number of cases per segment, cases still waiting, a "low data" flag, Services Publics+ review count, update date.submit_report: leaves a draft of the user's own case (see below).
REST API
GET /api/v1/proceduresGET /api/v1/procedures/{key}/stagesGET /api/v1/offices?procedure=fr_naturalisation&department=69GET /api/v1/offices/{slug}/stats?procedure=fr_naturalisation&window=12mPOST /api/v1/report-drafts(JSON body, same fields assubmit_report)
All read endpoints accept lang=fr|en. Errors are JSON: {"error": "code", "message": "…"}.
Reporting a case: drafts only
An agent can never publish data on a user's behalf. submit_report stores a draft and emails the user a link. The user reviews the dates on dossiermap.com, corrects them if needed, gives consent there, and confirms. Only then is the case counted; confirming also signs the user in to "My dossier", where they can track the case. Unconfirmed drafts are deleted with the email address after 7 days.
{
"procedure": "fr_naturalisation_decret",
"department": "69",
"events": [
{
"stage": "depot",
"date": "2025-03-10"
},
{
"stage": "recepisse_completude",
"date": "2025-05"
},
{
"stage": "entretien",
"date": "2025-11-20"
}
],
"outcome": "open",
"channel": "anef",
"email": "user@example.org",
"lang": "fr"
}- Only
depot(application date) is required. Dates:YYYY-MM-DD, orYYYY-MMwhen only the month is known; they must follow the stage order and cannot be in the future. - Ask the user for their dates; never guess them.
- No names, case numbers, addresses or free-text notes. Region of origin is optional and is a region, never a country.
Rules
- Attribution is required. Numbers are published under CC BY 4.0: cite "Dossiermap" with the
urlreturned in every response. Services Publics+ counts are under Licence Ouverte 2.0 (DITP). - Only aggregated numbers are available. Segments with fewer than 3 cases show the count but no duration; under 10 cases they are flagged
low_data. - Limits: 60 requests per minute per IP address; 3 drafts per day per email address and 10 per IP address. Disposable email addresses are refused.
- Detailed, historical or bulk data is not part of this free API. For licensing, write to info@dossiermap.com.