{
  "openapi": "3.0.1",
  "info": {
    "title": "French Health Facilities (FINESS): pharmacies, hospitals, EHPAD",
    "description": "Every pharmacy, hospital, clinic, care home (EHPAD), laboratory, health centre and social care facility in France from the official FINESS register, updated daily. Filter by type, department, city, postal code or radius; one clean row per facility with address, phone, GPS and readable labels.",
    "version": "1.1",
    "x-build-id": "ZkfRo0Kp30yZ39dur"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/futurelife~french-health-facilities/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-futurelife-french-health-facilities",
        "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/futurelife~french-health-facilities/runs": {
      "post": {
        "operationId": "runs-sync-futurelife-french-health-facilities",
        "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/futurelife~french-health-facilities/run-sync": {
      "post": {
        "operationId": "run-sync-futurelife-french-health-facilities",
        "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": {
          "facilityTypes": {
            "title": "Facility types",
            "type": "array",
            "description": "One or more types. Leave empty for every type of establishment in the register (hospitals, social care, childcare, schools...).",
            "items": {
              "type": "string",
              "enum": [
                "pharmacies",
                "hospitals",
                "clinics",
                "rehabilitation",
                "care_homes",
                "laboratories",
                "health_centres",
                "medical_homes",
                "mental_health",
                "dialysis_home_hospital",
                "home_care",
                "disability",
                "prevention",
                "addiction_precarity",
                "child_protection",
                "social_housing",
                "childcare",
                "schools",
                "all"
              ],
              "enumTitles": [
                "Pharmacies",
                "Hospitals (public and specialised: CHU, CH, psychiatric, cancer centres)",
                "Private clinics (surgery, medicine, obstetrics)",
                "Rehabilitation and follow-up care (SSR)",
                "Care homes for the elderly (EHPAD, EHPA, residences)",
                "Medical laboratories",
                "Health centres (centres de sante)",
                "Medical homes and walk-in care (maisons de sante)",
                "Mental health centres (CMP, CATTP)",
                "Dialysis and hospital-at-home (HAD)",
                "Home care and support services (SSIAD, SAAD)",
                "Facilities for people with disabilities (IME, ESAT, MAS)",
                "Prevention, screening and sexual health centres",
                "Addiction and precarity care (CSAPA, CAARUD, LHSS)",
                "Child protection (ASE, MECS)",
                "Social reception and housing (CHRS, CADA, residences)",
                "Childcare (creches; historical records, all closed)",
                "Health and social work schools (IFSI...)",
                "Every type"
              ]
            }
          },
          "categoryCodes": {
            "title": "FINESS category codes",
            "type": "array",
            "description": "Exact 3-digit FINESS categories to add to the types above, e.g. 620 (pharmacy), 355 (hospital), 500 (EHPAD), 611 (laboratory), 124 (health centre). The full table is linked in the README.",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Status",
            "enum": [
              "open",
              "closed",
              "all"
            ],
            "type": "string",
            "description": "Open establishments only (default), closed ones only, or both.",
            "default": "open"
          },
          "departments": {
            "title": "Departments",
            "type": "array",
            "description": "French department codes: 75, 69, 13, 31, 2A, 974... Leave empty to ignore.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "City names (Toulouse, Lyon, \"Saint-Denis (93)\") or INSEE commune codes. Paris, Lyon and Marseille cover all their districts.",
            "items": {
              "type": "string"
            }
          },
          "postalCodes": {
            "title": "Postal codes",
            "type": "array",
            "description": "5-digit French postal codes, e.g. 75008, 31000.",
            "items": {
              "type": "string"
            }
          },
          "center": {
            "title": "Around this place",
            "type": "string",
            "description": "An address, a place or a city (e.g. \"Place du Capitole, Toulouse\"), or coordinates written \"lat, lon\". Establishments within the radius below are returned, nearest first."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Distance around the place above, in kilometres (1 to 300).",
            "default": 10
          },
          "sector": {
            "title": "Sector",
            "enum": [
              "all",
              "public",
              "private_non_profit",
              "private_for_profit"
            ],
            "type": "string",
            "description": "Public bodies, private non-profit (associations, foundations, mutuals) or private for-profit (companies, sole traders), from the legal status of the owning entity.",
            "default": "all"
          },
          "nameContains": {
            "title": "Name contains",
            "type": "string",
            "description": "Keep only establishments whose name contains this text (accents and case ignored), e.g. \"CHU\", \"Korian\", \"Pharmacie du Centre\"."
          },
          "geolocatedOnly": {
            "title": "With GPS coordinates only",
            "type": "boolean",
            "description": "Skip establishments the register has not geocoded (on 2026-09-21: 75% of the open establishments have coordinates, 60% of the closed ones).",
            "default": false
          },
          "maxResults": {
            "title": "Maximum number of rows",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops once this many establishments have been exported. The whole register has about 105,000 open establishments, 20,000 of them pharmacies.",
            "default": 500
          },
          "forceRefresh": {
            "title": "Rebuild the cache",
            "type": "boolean",
            "description": "Read the daily file again even if the cache already comes from it (adds a few minutes). Never needed in normal use.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}