French School Directory: Schools, Collèges and Lycées with Address, Contact and Location (Éducation nationale)
dataeducationgouv/school-directory-search
Searches the French Ministry of National Education's directory of schools (écoles, collèges, lycées and others): UAI identifier, name, type, public or private status, address, commune, département, académie, institutional telephone and e-mail, coordinates, opening date and services. Filter with an ODSQL expression, for example code_postal="75005" and type_etablissement="Lycée" or search(nom_etablissement,"Voltaire"), page with limit (up to 20) and offset, and sort with order_by. Returns the total number of matching schools. The service reaches only the first 10,000 matches. Ministry of National Education data under the Licence Ouverte 2.0, passed through unmodified and served by Eden Engine; not an official Ministry product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.
Data source
Ministère de l'Éducation nationale (France)
Source : Ministère de l'Éducation nationale, data.education.gouv.fr, Licence Ouverte 2.0 (Etalab). Name the source and the date of the last update. Served by Eden Engine; not an official Ministry of National Education product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "dataeducationgouv/school-directory-search" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "dataeducationgouv/school-directory-search" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "dataeducationgouv/school-directory-search", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "dataeducationgouv/school-directory-search", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 21, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "How many records to return, 1 to 20. Required."
},
"where": {
"type": "string",
"maxLength": 500,
"description": "Optional Opendatasoft ODSQL filter over the dataset's fields, for example nom_commune=\"Sourzac\", code_postal=\"75005\" and type_etablissement=\"Lycée\", or search(nom_etablissement,\"Voltaire\") and code_departement=\"075\". Useful fields: identifiant_de_l_etablissement, nom_etablissement, type_etablissement, statut_public_prive, code_postal, nom_commune, code_departement, libelle_academie, libelle_region, etat. A field name the dataset does not have is refused. Leave out to read records unfiltered."
},
"offset": {
"type": "integer",
"maximum": 9980,
"minimum": 0,
"description": "Records to skip before the first one returned, for reading the next page, 0 to 9980. Leave out to start at the first record. The service reaches only the first 10,000 matches."
},
"order_by": {
"type": "string",
"pattern": "^[a-z_0-9]+( (asc|desc))?(,[a-z_0-9]+( (asc|desc))?){0,2}$",
"maxLength": 100,
"description": "Optional sort, up to three fields with an optional asc or desc, for example nom_commune or date_ouverture desc. Leave out for the dataset's own order."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"total_count",
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"identifiant_de_l_etablissement"
],
"properties": {
"web": {
"type": [
"string",
"null"
],
"description": "The school's website."
},
"etat": {
"type": [
"string",
"null"
],
"description": "OUVERT or FERME."
},
"mail": {
"type": [
"string",
"null"
],
"description": "The school's institutional e-mail address."
},
"latitude": {
"type": [
"number",
"null"
]
},
"adresse_1": {
"type": [
"string",
"null"
],
"description": "Street address."
},
"adresse_3": {
"type": [
"string",
"null"
],
"description": "Postal code and town."
},
"longitude": {
"type": [
"number",
"null"
]
},
"telephone": {
"type": [
"string",
"null"
],
"description": "The school's telephone number."
},
"code_postal": {
"type": [
"string",
"null"
],
"description": "Postal code."
},
"nom_commune": {
"type": [
"string",
"null"
],
"description": "Town name."
},
"code_commune": {
"type": [
"string",
"null"
],
"description": "INSEE commune code."
},
"date_maj_ligne": {
"type": [
"string",
"null"
],
"description": "The date of the last update of this row."
},
"date_ouverture": {
"type": [
"string",
"null"
],
"description": "Opening date."
},
"libelle_region": {
"type": [
"string",
"null"
],
"description": "The region."
},
"code_departement": {
"type": [
"string",
"null"
],
"description": "Département code, three characters, for example 075."
},
"libelle_academie": {
"type": [
"string",
"null"
],
"description": "The académie."
},
"nom_etablissement": {
"type": [
"string",
"null"
],
"description": "The school's name."
},
"type_etablissement": {
"type": [
"string",
"null"
],
"description": "Ecole, Collège, Lycée or another type."
},
"statut_public_prive": {
"type": [
"string",
"null"
],
"description": "Public or Privé."
},
"identifiant_de_l_etablissement": {
"type": [
"string",
"null"
],
"description": "The UAI, the school's seven digit and one letter identifier."
}
},
"additionalProperties": true
},
"description": "The records returned, at most `limit`. Empty when nothing matches."
},
"total_count": {
"type": "integer",
"description": "The number of records matching the filter, not the number returned."
}
},
"description": "The portal's response: `total_count` is the number of matching schools and `results` the page.",
"additionalProperties": true
}