{
  "openapi": "3.0.1",
  "info": {
    "title": "Zonaprop.com.ar [Only $1💰] API Scraper",
    "description": "💰$1 per 1,000 results - No limits, no quotas. Scrape ZonaProp (Argentina) from website URLs: list-page rows (counts, parseMeta) plus detail rows with flattened list_* fields, full v3 listSummary & v4 posting JSON, merged prices/location/publisher/media/units, and requestResponses for raw API parity",
    "version": "0.0",
    "x-build-id": "QJMONpabk8zhidMpx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~zonaprop-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-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/memo23~zonaprop-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-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/memo23~zonaprop-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-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": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "ZonaProp listing (SERP) or clasificado (detail) URLs. Optional if you use the Search filters below instead.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "filterOperation": {
            "title": "Operation",
            "enum": [
              "",
              "venta",
              "alquiler",
              "alquiler-temporario"
            ],
            "type": "string",
            "description": "Buy (venta), rent (alquiler), or temporary rent. Setting this triggers a filter-based search.",
            "default": ""
          },
          "filterPropertyType": {
            "title": "Property type",
            "enum": [
              "",
              "departamentos",
              "casas",
              "ph",
              "terrenos",
              "locales-comerciales",
              "oficinas",
              "cocheras",
              "galpones",
              "quintas",
              "campos"
            ],
            "type": "string",
            "description": "Property type to search. Leave as 'All property types' to include every type.",
            "default": ""
          },
          "filterLocation": {
            "title": "Location",
            "type": "string",
            "description": "Free-text location — a barrio, city, or province, e.g. 'Palermo', 'Capital Federal', 'Córdoba'. Resolved to a ZonaProp location id via its suggestions API; if it can't be matched, the search runs nationwide."
          },
          "filterPriceMin": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Lower price bound (in the selected currency)."
          },
          "filterPriceMax": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Upper price bound (in the selected currency)."
          },
          "filterPriceCurrency": {
            "title": "Price currency",
            "enum": [
              "",
              "USD",
              "ARS"
            ],
            "type": "string",
            "description": "Currency for the price bounds. 'Auto' uses USD for sale and ARS for rent (the ZonaProp convention).",
            "default": ""
          },
          "filterBedroomsMin": {
            "title": "Minimum bedrooms (dormitorios)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "filterBathroomsMin": {
            "title": "Minimum bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bathrooms."
          },
          "filterCoveredAreaMin": {
            "title": "Minimum covered area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum covered surface in square metres."
          },
          "filterCoveredAreaMax": {
            "title": "Maximum covered area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum covered surface in square metres."
          },
          "filterAgenciesOnly": {
            "title": "Only real-estate-agency listings",
            "type": "boolean",
            "description": "When enabled, restrict results to listings published by real-estate agencies (inmobiliarias).",
            "default": false
          },
          "filterPublishedWithin": {
            "title": "Published within",
            "enum": [
              "",
              "1",
              "2",
              "3"
            ],
            "type": "string",
            "description": "Only listings published within this recent window.",
            "default": ""
          },
          "maxItems": {
            "title": "Results Limit",
            "type": "integer",
            "description": "Maximum number of listings to scrape per run.",
            "default": 10000
          },
          "maxConcurrency": {
            "title": "Max Concurrency",
            "type": "integer",
            "description": "Maximum concurrent requests.",
            "default": 100
          },
          "minConcurrency": {
            "title": "Min Concurrency",
            "type": "integer",
            "description": "Minimum concurrent requests.",
            "default": 1
          },
          "maxRequestRetries": {
            "title": "Max Request Retries",
            "type": "integer",
            "description": "Retries per failed request.",
            "default": 100
          },
          "enrichContacts": {
            "title": "Enrich with direct phone + agency email (billed per contact)",
            "type": "boolean",
            "description": "When enabled, each listing is enriched via ZonaProp's private mobile contact API with the agent's direct phone, the agency email, and the contact name (adds phone, phones, agencyEmail, agencyEmails, contactName, contactEnriched). Billed per contact successfully fetched.",
            "default": false
          },
          "enrichEmails": {
            "title": "Enrich with contact emails (experimental)",
            "type": "boolean",
            "description": "If enabled, finds a contact email for each result from its own website (or by discovering it from the name). Adds contactEmail + contactWebsite columns plus a detailed emailEnrichment object. Best-effort.",
            "default": false
          },
          "zonapropSearchParametersOverride": {
            "title": "ZonaProp search parameters override",
            "type": "string",
            "description": "Raw `search.parameters` string for ZonaProp's mobile listings API, e.g. `operation_type:1;real_estate_type:2;location:V1-B-6`. When set, it is used verbatim for every ZonaProp search start URL instead of parsing the URL path (a `-pagina-N` suffix in the URL still sets the starting page). Use this when a search URL contains filters the actor cannot map yet — capture the value from the mobile app/API traffic."
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings for the crawler.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}