{
  "openapi": "3.0.1",
  "info": {
    "title": "Era Immobilier Scraper",
    "description": "Extract comprehensive data from ERA Immobilier agencies including agency information and agent details. Scrapes all agencies from the sitemap and extracts agent data (names, functions, emails, phones) from embedded text. Optimized for fast extraction with retry mechanism and batch processing.",
    "version": "1.0",
    "x-build-id": "mzogIsQjK2bJewKyd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/corent1robert~era-immobilier-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-corent1robert-era-immobilier-scraper",
        "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/corent1robert~era-immobilier-scraper/runs": {
      "post": {
        "operationId": "runs-sync-corent1robert-era-immobilier-scraper",
        "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/corent1robert~era-immobilier-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-corent1robert-era-immobilier-scraper",
        "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": {
          "filterRegion": {
            "title": "Region",
            "type": "string",
            "description": "Filter by region name (e.g., 'Île-de-France', 'Provence-Alpes-Côte d'Azur'). Leave empty for all regions."
          },
          "filterDepartment": {
            "title": "Department",
            "type": "string",
            "description": "Filter by department name (e.g., 'Paris', 'Hauts-de-Seine', 'Bouches-du-Rhône'). Leave empty for all departments."
          },
          "filterCity": {
            "title": "City",
            "type": "string",
            "description": "Filter by city name (e.g., 'Paris', 'Lyon', 'Marseille'). Leave empty for all cities."
          },
          "filterPostalCode": {
            "title": "Postal Code",
            "type": "string",
            "description": "Filter by postal code (e.g., '75001', '69001'). Leave empty for all postal codes."
          },
          "filterMinAgentsCount": {
            "title": "Minimum Number of Agents",
            "minimum": 0,
            "type": "integer",
            "description": "Include only agencies with at least this number of agents (e.g., 3 for agencies with 3+ agents). Set to 0 for no limit.",
            "default": 0
          },
          "filterMaxAgentsCount": {
            "title": "Maximum Number of Agents",
            "minimum": 0,
            "type": "integer",
            "description": "Include only agencies with at most this number of agents (e.g., 10 for agencies with 10 agents or less). Set to 0 for no limit.",
            "default": 0
          },
          "filterIncludeAgenciesWithoutAgents": {
            "title": "Include Agencies Without Agents",
            "type": "boolean",
            "description": "If enabled, includes agencies that have no agents listed. If disabled, only agencies with at least one agent are included.",
            "default": false
          },
          "filterAgencyNameContains": {
            "title": "Agency Name Contains",
            "type": "string",
            "description": "Filter by agency name containing this text (e.g., 'ERA Paris'). Leave empty for all names."
          },
          "filterAgentFunction": {
            "title": "Function (List)",
            "type": "array",
            "description": "Include only agents with these functions (e.g., 'Directeur', 'Conseiller'). Leave empty for all functions.",
            "items": {
              "type": "string",
              "enum": [
                "Directeur",
                "Directrice",
                "Conseiller",
                "Conseillère",
                "Gérant",
                "Gérante",
                "Associé",
                "Associée",
                "Responsable",
                "Chargé",
                "Chargée"
              ],
              "enumTitles": [
                "Director (M)",
                "Director (F)",
                "Advisor (M)",
                "Advisor (F)",
                "Manager (M)",
                "Manager (F)",
                "Associate (M)",
                "Associate (F)",
                "Manager",
                "Officer (M)",
                "Officer (F)"
              ]
            }
          },
          "filterAgentFunctionContains": {
            "title": "Function Contains (Free Text)",
            "type": "string",
            "description": "Include only agents whose function contains this text (e.g., 'Directeur'). Leave empty for all functions."
          },
          "filterAgentHasEmail": {
            "title": "Agent With Email",
            "type": "boolean",
            "description": "If enabled, includes only agents with an email address. If disabled, includes all agents.",
            "default": false
          },
          "filterAgentHasPhone": {
            "title": "Agent With Phone",
            "type": "boolean",
            "description": "If enabled, includes only agents with a phone number. If disabled, includes all agents.",
            "default": false
          },
          "filterAgentHasRSAC": {
            "title": "Agent With RSAC",
            "type": "boolean",
            "description": "If enabled, includes only agents with an RSAC number. If disabled, includes all agents.",
            "default": false
          },
          "filterAgentLanguages": {
            "title": "Languages Spoken",
            "type": "array",
            "description": "Include only agents speaking these languages (e.g., 'Anglais', 'Espagnol'). Leave empty for all languages.",
            "items": {
              "type": "string",
              "enum": [
                "Anglais",
                "Espagnol",
                "Allemand",
                "Italien",
                "Portugais",
                "Arabe",
                "Chinois",
                "Japonais",
                "Russe",
                "Néerlandais"
              ],
              "enumTitles": [
                "English",
                "Spanish",
                "German",
                "Italian",
                "Portuguese",
                "Arabic",
                "Chinese",
                "Japanese",
                "Russian",
                "Dutch"
              ]
            }
          },
          "maxConcurrency": {
            "title": "Max Concurrency",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum number of concurrent requests (default: 20). Increase for more speed, decrease to reduce server load.",
            "default": 20
          },
          "requestTimeout": {
            "title": "Request Timeout (ms)",
            "minimum": 5000,
            "maximum": 60000,
            "type": "integer",
            "description": "Maximum timeout for each request in milliseconds (default: 25000 = 25 seconds).",
            "default": 25000
          },
          "maxAgencies": {
            "title": "Max Agencies to Process",
            "minimum": 0,
            "type": "integer",
            "description": "Limit the number of agencies to process (useful for testing). Set to 0 to process all agencies from the sitemap.",
            "default": 0
          },
          "outputIncludeFields": {
            "title": "Fields to Include",
            "type": "array",
            "description": "Select fields to include in the output. Leave empty to include all fields.",
            "items": {
              "type": "string",
              "enum": [
                "agencyName",
                "agencySlug",
                "agencyAddress",
                "agencyPostalCode",
                "agencyCity",
                "agencyPhone",
                "agencyEmail",
                "agencyWebsite",
                "agencyLatitude",
                "agencyLongitude",
                "agencyPhoto",
                "agencyRegion",
                "agencyDepartment",
                "agencyAgentsCount",
                "agentName",
                "agentFirstName",
                "agentLastName",
                "agentFunction",
                "agentPhone",
                "agentRsac",
                "agentEmail",
                "agentLanguages",
                "agentPhoto"
              ],
              "enumTitles": [
                "Agency Name",
                "Agency Slug",
                "Agency Address",
                "Agency Postal Code",
                "Agency City",
                "Agency Phone",
                "Agency Email",
                "Agency Website",
                "Agency Latitude",
                "Agency Longitude",
                "Agency Photo",
                "Agency Region",
                "Agency Department",
                "Agency Agents Count",
                "Agent Name",
                "Agent First Name",
                "Agent Last Name",
                "Agent Function",
                "Agent Phone",
                "Agent RSAC",
                "Agent Email",
                "Agent Languages",
                "Agent Photo"
              ]
            },
            "default": []
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}