{
  "openapi": "3.0.1",
  "info": {
    "title": "FincaRaíz, Metrocuadrado & Ciencuadras Scraper",
    "description": "Scrape FincaRaíz, Metrocuadrado and Ciencuadras in one run: Colombian rentals and sales by city with price, admin fee, price/m², area, stratum and photos. Cross-portal duplicates merged, below-market signal, and incremental mode for new listings and price drops. $2.50 per 1,000.",
    "version": "1.0",
    "x-build-id": "yZgXERBQpngHt2nw7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/radar-scraper~colombia-real-estate-aggregator/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-radar-scraper-colombia-real-estate-aggregator",
        "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/radar-scraper~colombia-real-estate-aggregator/runs": {
      "post": {
        "operationId": "runs-sync-radar-scraper-colombia-real-estate-aggregator",
        "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/radar-scraper~colombia-real-estate-aggregator/run-sync": {
      "post": {
        "operationId": "run-sync-radar-scraper-colombia-real-estate-aggregator",
        "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",
        "required": [
          "city",
          "operationType"
        ],
        "properties": {
          "city": {
            "title": "City",
            "enum": [
              "bogota",
              "medellin",
              "cali",
              "barranquilla",
              "cartagena",
              "bucaramanga",
              "pereira",
              "santa-marta",
              "manizales",
              "villavicencio",
              "ibague",
              "cucuta"
            ],
            "type": "string",
            "description": "Colombian city. The list contains the cities verified on all three portals; only listings that the portal itself places in this city are returned.",
            "default": "bogota"
          },
          "operationType": {
            "title": "Operation Type",
            "enum": [
              "RENT",
              "SALE"
            ],
            "type": "string",
            "description": "Rental (arriendo) or Sale (venta).",
            "default": "RENT"
          },
          "propertyType": {
            "title": "Property Type",
            "enum": [
              "APARTMENT",
              "HOUSE",
              "COMMERCIAL"
            ],
            "type": "string",
            "description": "Type of real estate property.",
            "default": "APARTMENT"
          },
          "portals": {
            "title": "Portals to Query",
            "type": "array",
            "description": "Select which portals to aggregate (FINCARAIZ, METROCUADRADO, CIENCUADRAS).",
            "items": {
              "type": "string"
            },
            "default": [
              "FINCARAIZ",
              "METROCUADRADO",
              "CIENCUADRAS"
            ]
          },
          "deduplicateAcrossPortals": {
            "title": "Cross-Portal Deduplication",
            "type": "boolean",
            "description": "Identify identical properties listed across multiple portals and merge them with arbitrage insights.",
            "default": true
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum total properties to scrape and output.",
            "default": 40
          },
          "includeContactInfo": {
            "title": "Include advertiser contact (companies only)",
            "type": "boolean",
            "description": "Off by default. When enabled, contact data (company name, phone, WhatsApp, as published by the portal) is returned only for listings published by real-estate agencies or builders. Listings by private individuals never include contact data. Every listing always carries advertiserType (AGENCY, BUILDER, INDIVIDUAL or UNKNOWN). Advertiser contacts may be personal data under Colombia's Law 1581 of 2012: enable it only if you have a lawful basis to process it. You are responsible for how you use it.",
            "default": false
          },
          "incrementalMode": {
            "title": "Incremental mode (new properties and price drops)",
            "type": "boolean",
            "description": "When enabled, properties delivered by a previous run of the same search are skipped: not returned and not charged, unless their price dropped. Price drops are delivered (and charged) again with changeType PRICE_DROP and previousPriceCOP; new properties carry changeType NEW. The history is kept in a named key-value store in your Apify account. The search is identified by City, Operation Type and Property Type; changing Max Items or the proxy keeps the history. Two runs of the same search at the same time may re-deliver a few items on the next run.",
            "default": false
          },
          "stateKey": {
            "title": "Incremental history key (optional)",
            "type": "string",
            "description": "Optional name for the incremental history (letters, digits and ! - _ . ' ( ) only). Leave empty to derive it from the search. Set it to keep one history across searches."
          },
          "resetIncrementalState": {
            "title": "Reset incremental history",
            "type": "boolean",
            "description": "Deletes the incremental history of this search before running, so every item is delivered as new.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Apify Proxy configuration. By default uses standard Datacenter proxies to safeguard PPE margins."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}