{
  "openapi": "3.0.1",
  "info": {
    "title": "France Schools Directory – Emails, Phones, Sections",
    "description": "All 68,000 French schools, middle and high schools from the official Ministry directory: email, phone, website, GPS, public or private, sections, canteen, boarding. Filter by area, type and features. Updated daily.",
    "version": "1.0",
    "x-build-id": "ogIrV0TaaAQrHFgj7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/bstandco~france-schools-directory/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-bstandco-france-schools-directory",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/bstandco~france-schools-directory/runs": {
      "post": {
        "operationId": "runs-sync-bstandco-france-schools-directory",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/bstandco~france-schools-directory/run-sync": {
      "post": {
        "operationId": "run-sync-bstandco-france-schools-directory",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "establishmentTypes": {
            "title": "Establishment types",
            "type": "array",
            "description": "Leave empty for primary schools, middle schools (collèges) and high schools (lycées).",
            "items": {
              "type": "string",
              "enum": [
                "Ecole",
                "Collège",
                "Lycée",
                "EREA",
                "Médico-social",
                "Information et orientation",
                "Service Administratif",
                "Autre"
              ],
              "enumTitles": [
                "Primary schools (écoles)",
                "Middle schools (collèges)",
                "High schools (lycées)",
                "Adapted regional schools (EREA)",
                "Medico-social institutes",
                "Guidance centres (CIO)",
                "Administrative offices",
                "Other"
              ]
            }
          },
          "status": {
            "title": "Public or private",
            "enum": [
              "all",
              "public",
              "private"
            ],
            "type": "string",
            "description": "Public establishments, private ones, or both.",
            "default": "all"
          },
          "privateContract": {
            "title": "Private schools: contract with the State",
            "enum": [
              "any",
              "under_contract",
              "outside_contract"
            ],
            "type": "string",
            "description": "For private schools: under contract with the State (most Catholic schools) or outside contract (Montessori, bilingual, alternative schools…).",
            "default": "any"
          },
          "departments": {
            "title": "Department codes",
            "type": "array",
            "description": "Department numbers, e.g. 15, 69, 2A, 974.",
            "items": {
              "type": "string"
            }
          },
          "postalCodes": {
            "title": "Postal codes",
            "type": "array",
            "description": "French postal codes, e.g. 75013.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "City names, e.g. Lyon, Saint-Étienne. Paris, Lyon and Marseille include their arrondissements.",
            "items": {
              "type": "string"
            }
          },
          "latitude": {
            "title": "Latitude (radius search)",
            "type": "string",
            "description": "Centre of a radius search, e.g. 45.7640. Use with longitude and radius. Results are sorted by distance."
          },
          "longitude": {
            "title": "Longitude (radius search)",
            "type": "string",
            "description": "Centre of a radius search, e.g. 4.8357."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Radius around the latitude and longitude, from 1 to 200 km.",
            "default": 5
          },
          "nameKeywords": {
            "title": "Name keywords",
            "type": "array",
            "description": "Words in the establishment name, e.g. Montessori, Saint-Joseph, agricole.",
            "items": {
              "type": "string"
            }
          },
          "features": {
            "title": "Required features",
            "type": "array",
            "description": "Keep only establishments that have all of these.",
            "items": {
              "type": "string",
              "enum": [
                "canteen",
                "boarding",
                "general_track",
                "technological_track",
                "vocational_track",
                "post_bac",
                "apprenticeship",
                "sport_section",
                "international_section",
                "european_section",
                "arts_section",
                "cinema_section",
                "theatre_section",
                "ulis",
                "segpa",
                "greta",
                "agricultural_high_school",
                "trades_high_school"
              ],
              "enumTitles": [
                "Canteen",
                "Boarding",
                "General track (lycée)",
                "Technological track (lycée)",
                "Vocational track (lycée)",
                "Post-bac courses (BTS, prépa…)",
                "Apprenticeship",
                "Sport section",
                "International section",
                "European section",
                "Arts section",
                "Cinema section",
                "Theatre section",
                "ULIS (disability inclusion unit)",
                "SEGPA (adapted teaching)",
                "GRETA (adult training)",
                "Agricultural high school",
                "Trades high school (lycée des métiers)"
              ]
            }
          },
          "priorityEducation": {
            "title": "Priority education",
            "type": "array",
            "description": "Only establishments in priority education networks.",
            "items": {
              "type": "string",
              "enum": [
                "REP",
                "REP+"
              ],
              "enumTitles": [
                "REP",
                "REP+"
              ]
            }
          },
          "onlyWithEmail": {
            "title": "Only with an email",
            "type": "boolean",
            "description": "Skip establishments without a published email.",
            "default": false
          },
          "onlyAcademicEmails": {
            "title": "Only official academic emails",
            "type": "boolean",
            "description": "Keep only official addresses such as ce.0690001a@ac-lyon.fr (drops private addresses like Gmail).",
            "default": false
          },
          "openedAfter": {
            "title": "Opened after (date)",
            "type": "string",
            "description": "Only establishments opened on or after this date, format YYYY-MM-DD, e.g. 2025-09-01."
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of establishments returned.",
            "default": 50
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}