{
  "openapi": "3.0.1",
  "info": {
    "title": "Zonaprop Argentina Real Estate Scraper & Monitor",
    "description": "Extract Zonaprop listings in Argentina for rent and sale with price in pesos and dollars at the blue, MEP or official rate, expensas, monthly cost, price per m², GPS, WhatsApp and photos. Filter by barrio, amenities, pets or owner listings, and track new listings and price drops.",
    "version": "1.0",
    "x-build-id": "LAjlxdeaEIQPEOaM3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datamole~zonaprop-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datamole-zonaprop-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/datamole~zonaprop-scraper/runs": {
      "post": {
        "operationId": "runs-sync-datamole-zonaprop-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/datamole~zonaprop-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-datamole-zonaprop-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": {
          "locations": {
            "title": "Ubicaciones",
            "type": "array",
            "description": "Barrios, ciudades o provincias tal como aparecen en Zonaprop, por ejemplo Palermo, Belgrano, Nordelta, Córdoba o Mendoza. Cada una se busca por separado.",
            "items": {
              "type": "string"
            }
          },
          "operation": {
            "title": "Operación",
            "enum": [
              "alquiler",
              "venta",
              "alquiler-temporal"
            ],
            "type": "string",
            "description": "Alquiler, venta o alquiler temporario.",
            "default": "alquiler"
          },
          "propertyTypes": {
            "title": "Tipo de propiedad",
            "type": "array",
            "description": "Uno o varios tipos. Si lo dejás vacío se buscan departamentos.",
            "items": {
              "type": "string",
              "enum": [
                "departamento",
                "casa",
                "ph",
                "local-comercial",
                "oficina-comercial",
                "bodega-galpon",
                "cochera",
                "deposito",
                "terreno",
                "edificio",
                "quinta-vacacional",
                "campo",
                "fondo-de-comercio",
                "hotel",
                "consultorio"
              ],
              "enumTitles": [
                "Departamento",
                "Casa",
                "PH",
                "Local comercial",
                "Oficina comercial",
                "Bodega o galpón",
                "Cochera",
                "Deposito",
                "Terreno",
                "Edificio",
                "Quinta vacacional",
                "Campo",
                "Fondo de comercio",
                "Hotel",
                "Consultorio"
              ]
            },
            "default": [
              "departamento"
            ]
          },
          "searchUrls": {
            "title": "URLs de búsqueda de Zonaprop",
            "type": "array",
            "description": "Opcional. Pegá cualquier búsqueda de zonaprop.com.ar con tus filtros ya aplicados. Se recorren todas sus páginas.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Máximo de avisos",
            "minimum": 1,
            "type": "integer",
            "description": "Tope para toda la corrida. Vacío = sin tope."
          },
          "maxPagesPerSearch": {
            "title": "Máximo de páginas por búsqueda",
            "minimum": 1,
            "type": "integer",
            "description": "Cada página trae 30 avisos. Vacío = todas."
          },
          "minPrice": {
            "title": "Precio mínimo",
            "minimum": 0,
            "type": "integer",
            "description": "Precio mínimo en la moneda elegida."
          },
          "maxPrice": {
            "title": "Precio máximo",
            "minimum": 0,
            "type": "integer",
            "description": "Precio máximo en la moneda elegida."
          },
          "priceCurrency": {
            "title": "Moneda del filtro de precio",
            "enum": [
              "USD",
              "ARS"
            ],
            "type": "string",
            "description": "Moneda en la que aplicás el precio mínimo y máximo.",
            "default": "USD"
          },
          "includeExpensesInPrice": {
            "title": "Incluir expensas en el precio",
            "type": "boolean",
            "description": "El filtro de precio considera alquiler + expensas, como en la web de Zonaprop.",
            "default": false
          },
          "minExpenses": {
            "title": "Expensas mínimas (ARS)",
            "minimum": 0,
            "type": "integer",
            "description": "Expensas mínimas en pesos."
          },
          "maxExpenses": {
            "title": "Expensas máximas (ARS)",
            "minimum": 0,
            "type": "integer",
            "description": "Expensas máximas en pesos."
          },
          "minRooms": {
            "title": "Ambientes (mínimo)",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Cantidad mínima de ambientes, como se cuentan en Argentina."
          },
          "minBedrooms": {
            "title": "Dormitorios (mínimo)",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Cantidad mínima de dormitorios."
          },
          "minBathrooms": {
            "title": "Baños (mínimo)",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Cantidad mínima de baños."
          },
          "minParking": {
            "title": "Cocheras (mínimo)",
            "minimum": 0,
            "maximum": 4,
            "type": "integer",
            "description": "Cantidad mínima de cocheras."
          },
          "minArea": {
            "title": "Superficie mínima (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Superficie cubierta mínima en metros cuadrados."
          },
          "maxArea": {
            "title": "Superficie máxima (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Superficie cubierta máxima en metros cuadrados."
          },
          "antiquity": {
            "title": "Antigüedad",
            "enum": [
              "en-construccion",
              "a-estrenar",
              "hasta-5",
              "hasta-10",
              "hasta-20",
              "hasta-50",
              "mas-de-50"
            ],
            "type": "string",
            "description": "Antigüedad máxima del inmueble."
          },
          "propertySubtypes": {
            "title": "Subtipo",
            "type": "array",
            "description": "Por ejemplo monoambiente, dúplex o penthouse.",
            "items": {
              "type": "string",
              "enum": [
                "estandar",
                "monoambiente",
                "semipiso",
                "piso",
                "duplex",
                "triplex",
                "loft",
                "penthouse",
                "apartaestudio"
              ],
              "enumTitles": [
                "Estándar",
                "Monoambiente",
                "Semipiso",
                "Piso",
                "Dúplex",
                "Tríplex",
                "Loft",
                "Penthouse",
                "Apartaestudio"
              ]
            }
          },
          "disposition": {
            "title": "Disposición",
            "enum": [
              "frente",
              "contrafrente",
              "interior",
              "lateral"
            ],
            "type": "string",
            "description": "Frente, contrafrente, interior o lateral."
          },
          "amenities": {
            "title": "Comodidades del edificio",
            "type": "array",
            "description": "Pileta, parrilla, gimnasio, seguridad y más. Se exigen todas las elegidas.",
            "items": {
              "type": "string",
              "enum": [
                "pileta",
                "parrilla",
                "encargado",
                "vigilancia",
                "ascensor",
                "aire-acondicionado",
                "cancha-de-deportes",
                "gimnasio",
                "laundry",
                "quincho",
                "sala-de-juegos",
                "sauna"
              ],
              "enumTitles": [
                "Pileta",
                "Parrilla",
                "Encargado",
                "Vigilancia",
                "Ascensor",
                "Aire acondicionado",
                "Cancha de deportes",
                "Gimnasio",
                "Laundry",
                "Quincho",
                "Sala de juegos",
                "Sauna"
              ]
            }
          },
          "propertyFeatures": {
            "title": "Características y requisitos",
            "type": "array",
            "description": "Permite mascotas, apto profesional, acepta seguro de caución o recibo de sueldo como garantía, amoblado y más.",
            "items": {
              "type": "string",
              "enum": [
                "apto-profesional",
                "permite-mascotas",
                "acepta-seguro-de-caucion",
                "acepta-recibo-de-sueldo-como-garantia",
                "amoblado",
                "cocina-equipada",
                "luminoso",
                "uso-comercial",
                "acceso-movilidad-reducida"
              ],
              "enumTitles": [
                "Apto profesional",
                "Permite mascotas",
                "Acepta seguro de caución",
                "Acepta recibo de sueldo como garantía",
                "Amoblado",
                "Cocina equipada",
                "Luminoso",
                "Uso comercial",
                "Acceso para movilidad reducida"
              ]
            }
          },
          "roomTypes": {
            "title": "Ambientes especiales",
            "type": "array",
            "description": "Balcón, terraza, jardín, dormitorio en suite y más.",
            "items": {
              "type": "string",
              "enum": [
                "balcon",
                "terraza",
                "jardin",
                "patio",
                "dormitorio-en-suite",
                "dependencia-de-servicio",
                "toilette",
                "lavadero",
                "living-comedor",
                "cocina"
              ],
              "enumTitles": [
                "Balcón",
                "Terraza",
                "Jardín",
                "Patio",
                "Dormitorio en suite",
                "Dependencia de servicio",
                "Toilette",
                "Lavadero",
                "Living comedor",
                "Cocina"
              ]
            }
          },
          "publisherType": {
            "title": "Anunciante",
            "enum": [
              "todos",
              "inmobiliaria",
              "dueno-directo"
            ],
            "type": "string",
            "description": "Todos, solo inmobiliarias o solo dueño directo.",
            "default": "todos"
          },
          "publishedWithin": {
            "title": "Publicado",
            "enum": [
              "hoy",
              "desde-ayer",
              "ultima-semana",
              "ultimos-15-dias",
              "ultimos-30-dias",
              "ultimos-45-dias"
            ],
            "type": "string",
            "description": "Solo avisos publicados en este período."
          },
          "keyword": {
            "title": "Palabra clave",
            "type": "string",
            "description": "Buscador de palabras de Zonaprop. Es estricto y devuelve pocos avisos: para comodidades como pileta o quincho usá el filtro de comodidades."
          },
          "sort": {
            "title": "Orden",
            "enum": [
              "more_recent",
              "relevance",
              "low_price",
              "high_price",
              "most_lowered_price"
            ],
            "type": "string",
            "description": "Más recientes recorre la búsqueda completa sin repetidos. Bajaron de precio muestra primero las rebajas.",
            "default": "more_recent"
          },
          "includeDetails": {
            "title": "Detalle completo (con costo extra)",
            "type": "boolean",
            "description": "Abre cada aviso para sumar todas las comodidades, antigüedad, teléfono del anunciante, dirección exacta, descripción completa y fecha de publicación. Es más lento y tiene un costo adicional por aviso.",
            "default": false
          },
          "exchangeRateType": {
            "title": "Dólar para convertir precios",
            "enum": [
              "blue",
              "mep",
              "oficial"
            ],
            "type": "string",
            "description": "Cotización de venta del día (DolarApi) para calcular priceUSD, priceARS, costo mensual y precio por m² en USD.",
            "default": "blue"
          },
          "monitorMode": {
            "title": "Modo monitoreo",
            "type": "boolean",
            "description": "Recuerda los avisos entre corridas y devuelve solo los nuevos y los que cambiaron de precio, con el precio anterior y el % de cambio. La primera corrida devuelve todo.",
            "default": false
          },
          "monitorName": {
            "title": "Nombre del monitoreo",
            "type": "string",
            "description": "Opcional. Usá el mismo nombre para que distintas configuraciones compartan la memoria. Vacío = se identifica por los filtros."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Zonaprop exige IP residencial de Argentina. Dejalo como está.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "AR"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}