{
  "openapi": "3.0.1",
  "info": {
    "title": "QuintoAndar Scraper [$1/1K 💰] Brazil Rentals & Sales",
    "description": "QuintoAndar scraper for Brazil rentals and sales. Type a city or neighbourhood or paste any search or listing URL. Rent, sale price, condo fee, IPTU, total cost, area, rooms, floor, CEP, coordinates, amenities and photos. Price and bedroom filters. Past the 1,000-result cap. $1/1K.",
    "version": "0.0",
    "x-build-id": "LP2vU2YSOi2rkXTVm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~quintoandar-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-quintoandar-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~quintoandar-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-quintoandar-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~quintoandar-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-quintoandar-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": "QuintoAndar URLs",
            "type": "array",
            "description": "QuintoAndar pages to scrape, any mix. Leave empty if you use Locations below.<br><br>🔍 <b>Search</b>: open quintoandar.com.br, pick a city or neighbourhood and filters, then copy the address bar. Examples: <code>https://www.quintoandar.com.br/alugar/imovel/sao-paulo-sp-brasil</code>, <code>https://www.quintoandar.com.br/comprar/imovel/pinheiros-sao-paulo-sp-brasil/apartamento/2-quartos</code>. Price, type, bedrooms, area, furnished, pets and other filters in the URL are applied.<br>🏠 <b>Listing</b>: <code>https://www.quintoandar.com.br/imovel/893021603</code><br><br>Each listing becomes one row.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations (no URL needed)",
            "type": "array",
            "description": "Cities or neighbourhoods to search, one per line, written as on QuintoAndar: <code>São Paulo, SP</code>, <code>Cambuí, Campinas, SP</code>, <code>Copacabana, Rio de Janeiro, RJ</code>. For the cities QuintoAndar serves the state code can be left out (<code>Campinas</code>). Each location runs as its own search, combined with any URLs above.",
            "items": {
              "type": "string"
            }
          },
          "dealType": {
            "title": "Rent or buy (for Locations)",
            "enum": [
              "rent",
              "sale"
            ],
            "type": "string",
            "description": "Whether Locations search rentals or homes for sale. Search URLs already say which.",
            "default": "rent"
          },
          "minPrice": {
            "title": "Minimum price (R$)",
            "minimum": 0,
            "type": "integer",
            "description": "Monthly rent for rentals, asking price for sales. Example: 1500."
          },
          "maxPrice": {
            "title": "Maximum price (R$)",
            "minimum": 0,
            "type": "integer",
            "description": "Monthly rent for rentals, asking price for sales. Example: 4000."
          },
          "minBedrooms": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Example: 2 returns listings with 2 or more bedrooms."
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Leave empty for every type.",
            "items": {
              "type": "string",
              "enum": [
                "apartment",
                "house",
                "house_condo",
                "studio"
              ],
              "enumTitles": [
                "Apartment",
                "House",
                "House in a gated condominium",
                "Studio or kitchenette"
              ]
            }
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum listings for the whole run, across all searches. Example: 500. Default 100. Set 0 for every listing the searches return (large cities hold tens of thousands; the actor splits them by price to get past the website's 1,000-result limit). Free Apify plans are capped at 60 listings and the first search (URL or location) per run.",
            "default": 100
          },
          "fetchDetails": {
            "title": "Open each listing page for full details",
            "type": "boolean",
            "description": "When on (default), each QuintoAndar listing page is opened to add the description, condo fee and IPTU separately, home insurance, service fee, floor range, CEP (zip code), exact coordinates, condominium name, full amenity list, nearby places and first publication date. Turn off for a faster run with the search fields only (prices, total cost, area, rooms, address, photos). Partner classified listings always keep the search fields.",
            "default": true
          },
          "includeClassifieds": {
            "title": "Include partner classified listings",
            "type": "boolean",
            "description": "QuintoAndar search results mix its own listings with partner classifieds (row field source = classified). Default on, matching what the website shows. Turn off for QuintoAndar's own listings only.",
            "default": true
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "url",
              "relevance",
              "newest",
              "lowest_price",
              "highest_price"
            ],
            "type": "string",
            "description": "Order of results, which decides the set you get when Max listings is lower than the search total. 'url' keeps the order in the pasted URL (relevance when none). Default url.",
            "default": "url"
          },
          "maxConcurrency": {
            "title": "Listing pages in parallel",
            "minimum": 1,
            "maximum": 32,
            "type": "integer",
            "description": "How many listing pages are opened at the same time when 'Open each listing page' is on. Example: 8. Default 8.",
            "default": 8
          },
          "proxy": {
            "title": "Proxy configuration (optional)",
            "type": "object",
            "description": "Leave empty: QuintoAndar answers without a proxy. To route requests through your own proxies, add their URLs here. Apify Proxy is not used by this actor."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}