{
  "openapi": "3.0.1",
  "info": {
    "title": "Metrocuadrado Scraper | Colombia Real Estate",
    "description": "Extract public Metrocuadrado property data in Colombia: sale and rental prices, areas, rooms, published contacts and project units. Export structured rows to JSON, CSV or Excel. Pay per delivered row plus a start fee.",
    "version": "0.1",
    "x-build-id": "DK3cSXCbxdThCPxz3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lentic_clockss~metrocuadrado-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lentic_clockss-metrocuadrado-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/lentic_clockss~metrocuadrado-scraper/runs": {
      "post": {
        "operationId": "runs-sync-lentic_clockss-metrocuadrado-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/lentic_clockss~metrocuadrado-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-lentic_clockss-metrocuadrado-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "auto",
              "search",
              "map",
              "detail",
              "project",
              "agency",
              "locations",
              "catalog"
            ],
            "type": "string",
            "description": "Choose auto to select a mode from your target fields, or select search, map, detail, project, agency, locations or catalog. Map returns sparse property rows; the other modes return listings, project units, agencies, locations or filter entries.",
            "default": "auto"
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Enter a Metrocuadrado city slug, such as bogota, medellin or cali; use locations mode to find one. With no target fields, the Actor runs a three-row example search for Bogota apartments for sale."
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Enter Metrocuadrado search, listing (/inmueble/), project (/proyecto/), agency (/inmobiliaria/) or builder (/constructora/) page URLs. For example: https://www.metrocuadrado.com/apartamentos/arriendo/bogota/usaquen/.",
            "items": {
              "type": "string"
            }
          },
          "ids": {
            "title": "Listing ids",
            "type": "array",
            "description": "Enter listing identifiers, such as 512-M4491547. With this target alone, auto mode selects detail.",
            "items": {
              "type": "string"
            }
          },
          "projectCodes": {
            "title": "Project unit ids",
            "type": "array",
            "description": "Enter a unit identifier from each project, such as 21477-C0001-03. Project mode returns available units within that development, up to the row limit.",
            "items": {
              "type": "string"
            }
          },
          "agencyUrls": {
            "title": "Agency / builder URLs",
            "type": "array",
            "description": "Enter Metrocuadrado agency or builder page URLs containing /inmobiliaria/ or /constructora/. Enable includeAgencyListings to add individual listings as separate billed rows.",
            "items": {
              "type": "string"
            }
          },
          "query": {
            "title": "Location query",
            "type": "string",
            "description": "Enter part of a city or neighborhood name, such as chapinero. Locations mode returns matching places and available slug paths."
          },
          "maxResults": {
            "title": "Max results per input",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum billed rows per Start URL, listing id, project code or agency URL; search, map, locations and catalog each have one scalar input, and all row types share its allowance. Default 70, larger requests use parts of 70, the whole run stops at your maximum total charge, and the Free plan allows 200 rows per run and 10 runs.",
            "default": 70
          },
          "operation": {
            "title": "Operation",
            "enum": [
              "venta",
              "arriendo"
            ],
            "type": "string",
            "description": "venta (sale) or arriendo (rent).",
            "default": "venta"
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "",
              "apartamentos",
              "casas",
              "apartaestudios",
              "oficinas",
              "consultorios",
              "locales",
              "bodegas",
              "fincas",
              "lotes",
              "edificio-de-apartamentos",
              "edificio-de-oficinas",
              "proyectos-vivienda"
            ],
            "type": "string",
            "description": "Property type; empty = every type. New-build projects = proyectos-vivienda.",
            "default": "apartamentos"
          },
          "neighborhood": {
            "title": "Neighborhood",
            "type": "string",
            "description": "Neighborhood slug inside the city (e.g. usaquen, el-poblado). Slugs repeat across cities, so the city is always used with it.",
            "default": ""
          },
          "scrapeDetails": {
            "title": "Full details",
            "type": "boolean",
            "description": "Add descriptions, features, areas, estrato, photos and agency or project information to search rows when available. Published phone and WhatsApp fields do not require this option.",
            "default": true
          },
          "includeGeo": {
            "title": "Coordinates",
            "type": "boolean",
            "description": "Add available map coordinates to search rows when full details are off. Full detail rows may include coordinates regardless of this setting.",
            "default": true
          },
          "includeProjects": {
            "title": "Include new-build project units",
            "type": "boolean",
            "description": "Allow new-build units in search when status is empty. When off, search selects used listings unless status explicitly selects new-build listings.",
            "default": false
          },
          "includeSimilar": {
            "title": "Similar listings",
            "type": "boolean",
            "description": "In detail mode, add each suggested listing as a separate row with rowType=similarListing and sourceListingId. These rows are off by default, share the input maxResults limit and cost the same as other rows.",
            "default": false
          },
          "includeAgencyListings": {
            "title": "Agency listings as rows",
            "type": "boolean",
            "description": "In agency mode, add each listing as a separate row with rowType=agencyListing and agencyId. Off by default; enabled rows share the input maxResults limit with the agency row and cost the same as other rows.",
            "default": false
          },
          "catalog": {
            "title": "Catalog",
            "enum": [
              "all",
              "amenities",
              "antiquity",
              "types",
              "propertyTypes"
            ],
            "type": "string",
            "description": "In catalog mode, choose all, amenities, antiquity, types or propertyTypes. Entries with a filter value identify a supported input field; age bands are reference data only.",
            "default": "all"
          },
          "zone": {
            "title": "Zone",
            "enum": [
              "",
              "norte",
              "sur",
              "centro",
              "oriente",
              "occidente"
            ],
            "type": "string",
            "description": "Choose a city zone: north (norte), south (sur), center (centro), east (oriente) or west (occidente). Availability depends on the city.",
            "default": ""
          },
          "bedrooms": {
            "title": "Bedrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Filter search or map rows by the bedroom count requested from the site, from 0 to 20."
          },
          "bathrooms": {
            "title": "Bathrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Filter search or map rows by the bathroom count requested from the site, from 0 to 20."
          },
          "stratum": {
            "title": "Stratum (estrato)",
            "minimum": 1,
            "maximum": 6,
            "type": "integer",
            "description": "Filter search or map rows by Colombian socioeconomic stratum (estrato), from 1 to 6."
          },
          "garages": {
            "title": "Parking spaces",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Filter search or map rows by the parking-space count requested from the site, from 0 to 20."
          },
          "amenities": {
            "title": "Amenities",
            "type": "array",
            "description": "Enter amenity values such as ascensor, conPiscina or conGimnasio. Use catalog mode with catalog=amenities to find available values.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Condition",
            "enum": [
              "",
              "usado",
              "nuevo"
            ],
            "type": "string",
            "description": "Select used (usado) or new-build (nuevo) listings for search or map. An explicit value takes precedence over includeProjects.",
            "default": ""
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Enter a term for the site to match in listings, such as chico."
          },
          "minArea": {
            "title": "Min area m²",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum floor area in square metres for search or map. If both bounds are set, maxArea must be at least minArea."
          },
          "maxArea": {
            "title": "Max area m²",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum floor area in square metres for search or map. If both bounds are set, this must be at least minArea."
          },
          "minPrice": {
            "title": "Min price (COP)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum asking price in COP for search or map rows. If both bounds are set, maxPrice must be at least minPrice."
          },
          "maxPrice": {
            "title": "Max price (COP)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum asking price in COP for search or map rows. If both bounds are set, this must be at least minPrice."
          },
          "workerBaseUrl": {
            "title": "Development URL option",
            "type": "string",
            "description": "Leave empty. Used only by the developer for testing.",
            "default": ""
          },
          "useSeedPool": {
            "title": "Development lookup option",
            "type": "boolean",
            "description": "Leave at its default value. Used only by the developer for testing.",
            "default": true
          },
          "seedPoolMaxAge": {
            "title": "Development lookup age (seconds)",
            "minimum": 60,
            "maximum": 604800,
            "type": "integer",
            "description": "Leave at its default value. Used only by the developer for testing.",
            "default": 86400
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}