Ciencuadras Search API lists Colombian property for sale or rent. Filter by place, type, bedrooms, bathrooms, garages, stratum, price and area, then sort and page through the results. Every item satisfies the filters you sent; items that break a filter are never returned and are counted in excluded_by_filters. bedrooms=4 means exactly 4. The area filter matches the built or the private area. Place filters take the slugs from the autocomplete route; an unknown place returns an empty list. A search reaches its first 10,000 results (results_capped tells you); a page past that is rejected with a validation error and no other page is ever returned under the requested number. Prices are in COP. Some listings carry a placeholder price: they are kept and marked price_is_placeholder. Items in highlights are paid placements. Failed requests are not billed.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
1 required parameter needed before sending a request.
19 optional filters available.
string
Required
sale or rent.
example
string
Optional
Department slug from the autocomplete route, for example antioquia.
example
string
Optional
City slug from the autocomplete route, for example medellin.
example
string
Optional
Locality slug from the autocomplete route, for example chapinero.
example
string
Optional
Neighborhood slug from the autocomplete route, for example el-contador.
example
array
Optional
Property types such as apartamento, casa, lote, oficina, bodega or apartaestudio. Repeat the parameter or send a comma list. A type also matches its variants, so casa includes casa campestre.
["example"]
array
Optional
Exact bedroom counts, 1 or more, for example 3 or 2,3. The value 4 means exactly 4, not 4 or more.
["example"]
array
Optional
Exact bathroom counts, 1 or more. Repeat the parameter or send a comma list.
["example"]
array
Optional
Exact garage counts, 1 or more. Repeat the parameter or send a comma list.
["example"]
array
Optional
Socioeconomic strata from 1 to 6. Repeat the parameter or send a comma list.
["example"]
integer
Optional
Minimum price in COP. For rent this is the monthly rent.
10
integer
Optional
Maximum price in COP. Must be at least min_price.
10
number
Optional
Minimum area in square metres. An item matches when its built area or its private area is in range.
10
number
Optional
Maximum area in square metres. Must be at least min_area.
10
boolean
Optional
true to list new-build housing projects only.
true
boolean
Optional
true to add map_points: locations of all results of the search, not only this page.
true
string
Optional
date, area or price.
relevance
string
Optional
asc or desc. Default desc.
example
integer
Optional
One-based page number. A search reaches its first 10,000 results; a page past that returns a validation error.
1
integer
Optional
Listings per page, 1 to 100. Default 20.
10
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"items": [
{
"id": 3912262,
"url": "/inmueble/apartamento-en-arriendo-en-san-german-medellin-3912262",
"code": "880263-1379164",
"image": "https://www-img-cc.s3.amazonaws.com/inmuebles/images/3912262/adfaf__179234796212_plana.jpeg",
"price": 3500000,
"address": "CALLE 63 77- 41",
"advisor": {
"id": 880263,
"name": "G6 INMOBILIARIA SAS",
"type": "Persona Natural",
"email": "advisor@example.com",
"phone": "3000000000",
"whatsapp": "3000000000"
},
"garages": 1,
"has_360": false,
"project": null,
"stratum": 4,
"bedrooms": 3,
"currency": "COP",
"is_offer": false,
"location": {
"city": "Medell\u00edn",
"latitude": 6.270565,
"locality": "Robledo",
"longitude": -75.5912,
"department": "Antioquia",
"neighborhood": "SAN GERMAN",
"locality_group": "Robledo",
"neighborhood_group": "SAN GERMAN"
},
"amenities": {
"gym": false,
"elevator": true,
"private_pool": true,
"communal_pool": false
},
"antiquity": "6",
"area_card": 90,
"bathrooms": 2,
"area_built": 90,
"created_at": "2026-10-14T22:17:11.000Z",
"offer_type": "rent",
"rent_price": 3500000,
"sale_price": null,
"admin_value": null,
"area_private": 85,
"fair_housing": false,
"canonical_url": "https://www.ciencuadras.com/inmueble/apartamento-en-arriendo-en-san-german-medellin-3912262",
"property_type": "Apartamento",
"rental_policy": true,
"has_matterport": false,
"price_is_placeholder": false,
"market_reference_price": null
}
],
"highlights": [],
"pagination": {
"page": 1,
"total": 5257,
"has_next": true,
"per_page": 20,
"total_pages": 263,
"results_capped": false
},
"applied_filters": {
"city": "medellin",
"bedrooms": [
3
],
"max_price": 5000000,
"min_price": 1500000,
"department": "antioquia",
"transaction": "rent"
},
"excluded_by_filters": 0
},
"meta": {
"billable": true,
"endpoint_family": "search"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
A parameter is missing or invalid. This response is not billable.
{
"errors": {
"transaction": [
"The transaction field is required."
]
},
"message": "The request validation failed"
}Upstream Unavailable
Ciencuadras could not be reached or returned data that does not match the request. This response is not billable and is retryable.
{
"meta": {
"billable": false,
"retryable": true,
"endpoint_family": "search"
},
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "Ciencuadras could not be reached. Please retry shortly."
},
"success": false
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.