{
  "openapi": "3.0.1",
  "info": {
    "title": "Zonaprop | Extracción de Propiedades y Datos de Anunciantes",
    "description": "Extracción de avisos de Zonaprop con la ficha completa de cada propiedad: precio, superficies, ubicación, características y fotos. Como opciones, el teléfono y el mail validado del anunciante. Por filtros, avisos específicos o datos de anunciantes.",
    "version": "0.2",
    "x-build-id": "S4RKzLPKyTAh5havc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/hiagencia~zonaprop/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-hiagencia-zonaprop",
        "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/hiagencia~zonaprop/runs": {
      "post": {
        "operationId": "runs-sync-hiagencia-zonaprop",
        "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/hiagencia~zonaprop/run-sync": {
      "post": {
        "operationId": "run-sync-hiagencia-zonaprop",
        "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": {
          "modo": {
            "title": "Qué obtener",
            "enum": [
              "filtros",
              "avisos",
              "anunciantes"
            ],
            "type": "string",
            "description": "Búsqueda por filtros: recorre el portal con los filtros de abajo y entrega todos los avisos que coinciden, completa. Avisos específicos: entrega únicamente los avisos indicados. Datos de anunciantes: entrega los datos de contacto de cada anunciante indicado.",
            "default": "filtros"
          },
          "tipoAnunciante": {
            "title": "Quién publica",
            "uniqueItems": true,
            "type": "array",
            "description": "Si se deja vacío, se incluyen los avisos de dueños directos y de inmobiliarias. Se usa con el modo Búsqueda por filtros.",
            "items": {
              "type": "string",
              "enum": [
                "dueno-directo",
                "inmobiliaria"
              ],
              "enumTitles": [
                "Dueño directo",
                "Inmobiliaria"
              ]
            },
            "default": []
          },
          "tipos": {
            "title": "Tipos de propiedad",
            "uniqueItems": true,
            "type": "array",
            "description": "Si se deja vacío, se incluyen todos los tipos.",
            "items": {
              "type": "string",
              "enum": [
                "departamentos",
                "casas",
                "ph",
                "terrenos",
                "locales-comerciales",
                "campos",
                "quintas-vacacionales",
                "oficinas-comerciales",
                "cocheras",
                "bodegas-galpones",
                "fondos-de-comercio",
                "hoteles",
                "depositos",
                "bovedas-nichos-y-parcelas",
                "cama-nautica",
                "consultorios",
                "edificios"
              ],
              "enumTitles": [
                "Departamento",
                "Casa",
                "PH",
                "Terreno",
                "Local comercial",
                "Campo",
                "Quinta vacacional",
                "Oficina comercial",
                "Garage",
                "Bodega-Galpón",
                "Fondo de comercio",
                "Hotel",
                "Depósito",
                "Bóveda, nicho o parcela",
                "Cama náutica",
                "Consultorio",
                "Edificio"
              ]
            },
            "default": []
          },
          "operaciones": {
            "title": "Operaciones",
            "uniqueItems": true,
            "type": "array",
            "description": "Si se deja vacío, se incluyen todas las operaciones.",
            "items": {
              "type": "string",
              "enum": [
                "venta",
                "alquiler",
                "alquiler-temporal"
              ],
              "enumTitles": [
                "Comprar",
                "Alquilar",
                "Temporal"
              ]
            },
            "default": []
          },
          "ubicaciones": {
            "title": "Ubicación",
            "uniqueItems": true,
            "type": "array",
            "description": "Si se deja vacío, se incluyen todas las ubicaciones. Con varias seleccionadas, se suman.",
            "items": {
              "type": "string",
              "enum": [
                "capital-federal",
                "gba-norte",
                "gba-sur",
                "gba-oeste",
                "buenos-aires-costa-atlantica",
                "buenos-aires-fuera-de-gba",
                "santa-fe",
                "cordoba",
                "mendoza",
                "neuquen",
                "rio-negro",
                "salta",
                "tucuman",
                "entre-rios",
                "chubut",
                "chaco",
                "san-luis",
                "misiones",
                "corrientes",
                "jujuy",
                "san-juan",
                "santiago-del-estero",
                "tierra-del-fuego",
                "la-pampa",
                "catamarca",
                "santa-cruz",
                "la-rioja",
                "formosa",
                "otros-paises"
              ],
              "enumTitles": [
                "Capital Federal",
                "GBA Norte",
                "GBA Sur",
                "GBA Oeste",
                "Buenos Aires Costa Atlántica",
                "Buenos Aires (fuera de GBA)",
                "Santa Fe",
                "Córdoba",
                "Mendoza",
                "Neuquén",
                "Río Negro",
                "Salta",
                "Tucumán",
                "Entre Ríos",
                "Chubut",
                "Chaco",
                "San Luis",
                "Misiones",
                "Corrientes",
                "Jujuy",
                "San Juan",
                "Santiago del Estero",
                "Tierra del Fuego",
                "La Pampa",
                "Catamarca",
                "Santa Cruz",
                "La Rioja",
                "Formosa",
                "Otros países"
              ]
            },
            "default": []
          },
          "ambientesDesde": {
            "title": "Ambientes desde",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5"
            ],
            "type": "string",
            "description": "Cantidad mínima de ambientes. Si se deja vacío, no hay mínimo.",
            "default": ""
          },
          "ambientesHasta": {
            "title": "Ambientes hasta",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5"
            ],
            "type": "string",
            "description": "Cantidad máxima de ambientes. Con un máximo, también se incluyen los avisos sin ambientes declarados, como en el portal.",
            "default": ""
          },
          "moneda": {
            "title": "Moneda del precio",
            "enum": [
              "dolares",
              "pesos"
            ],
            "type": "string",
            "description": "Moneda en la que se expresan los límites de precio. Los avisos publicados en la otra moneda se incluyen convertidos, como en el portal.",
            "default": "dolares"
          },
          "precioDesde": {
            "title": "Precio desde",
            "minimum": 0,
            "type": "integer",
            "description": "Precio mínimo, en la moneda elegida. Si se deja vacío, no hay mínimo."
          },
          "precioHasta": {
            "title": "Precio hasta",
            "minimum": 0,
            "type": "integer",
            "description": "Precio máximo, en la moneda elegida. Con un máximo, también se incluyen los avisos sin precio publicado, como en el portal."
          },
          "superficieTipo": {
            "title": "Superficie",
            "enum": [
              "total",
              "cubierta"
            ],
            "type": "string",
            "description": "Qué superficie se compara con el mínimo y el máximo: la total o la cubierta.",
            "default": "total"
          },
          "superficieDesde": {
            "title": "Superficie desde (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Superficie mínima, en m². Si se deja vacío, no hay mínimo."
          },
          "superficieHasta": {
            "title": "Superficie hasta (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Superficie máxima, en m². Con un máximo, también se incluyen los avisos con superficie 0, como en el portal."
          },
          "antiguedad": {
            "title": "Antigüedad",
            "enum": [
              "",
              "en-construccion",
              "a-estrenar",
              "hasta-5-anos"
            ],
            "type": "string",
            "description": "La antigüedad de la propiedad, según las opciones del portal.",
            "default": ""
          },
          "fecha": {
            "title": "Fecha de publicación",
            "enum": [
              "",
              "publicado-hace-menos-de-1-dia",
              "publicado-hace-menos-de-2-dias",
              "publicado-hace-menos-de-1-semana",
              "publicado-hace-menos-de-15-dias",
              "publicado-hace-menos-de-1-mes",
              "publicado-hace-menos-de-45-dias"
            ],
            "type": "string",
            "description": "Incluye sólo lo publicado dentro de la ventana elegida. Se usa con el modo Búsqueda por filtros.",
            "default": ""
          },
          "avisos": {
            "title": "URLs o números de aviso",
            "type": "array",
            "description": "Links de avisos del portal o sus números, por ejemplo 60312816 o el link completo del aviso. Se entrega únicamente esos avisos. Se usa con el modo «Avisos específicos».",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "anunciantes": {
            "title": "Links o números de anunciante",
            "type": "array",
            "description": "Links de la página del anunciante en el portal o sus números, por ejemplo https://www.zonaprop.com.ar/inmobiliarias/x_17052679-inmuebles.html. Se entregan los datos de contacto de cada anunciante. Se usa con el modo «Datos de anunciantes».",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maximoAvisos": {
            "title": "Máximo de avisos",
            "minimum": 1,
            "type": "integer",
            "description": "Cantidad máxima de avisos a entregar. Si se deja vacío, no hay límite: se entrega la búsqueda completa."
          },
          "antiguedadMaximaHoras": {
            "title": "Antigüedad máxima de los datos (horas)",
            "minimum": 0,
            "maximum": 168,
            "type": "integer",
            "description": "Un aviso cuyos datos se leyeron del portal hace más de estas horas se vuelve a leer en el momento; uno más reciente se entrega con lo ya leído. La columna fechaActualizacion dice cuándo se leyó cada fila. Con 0, todos se leen en el momento. Si se deja vacío, 168 (una semana)."
          },
          "telefonos": {
            "title": "Teléfonos y WhatsApp del anunciante",
            "type": "boolean",
            "description": "Teléfono, celular y WhatsApp de cada anunciante. Se cobra una vez por anunciante y por corrida, solo si se entrega al menos un número.",
            "default": false
          },
          "mail": {
            "title": "Mail del anunciante",
            "type": "boolean",
            "description": "El mail de cada anunciante, solo si está validado. Se cobra una vez por anunciante y por corrida, solo si se entrega. Cuando todavía no está disponible, la fila lo indica y puede volver a pedirse más tarde con el link del aviso.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}