REAL ESTATE · COLOMBIA
Metrocuadrado Colombia Property
Collect Metrocuadrado apartment and house listings for sale or rent in Bogotá, Medellín and Cali.
About this data
Collect Metrocuadrado apartment and house listings for sale or rent in Bogotá, Medellín and Cali. Export COP prices, area, rooms, bathrooms, garages, city/zone context, images, listing links and collection timestamps. Individual listing details depend on availability.
From the actor’s Apify Store listing. The per-call endpoint may return a bounded subset; its own description is below.
Buy per call over x402
One endpoint at api.ssh.autos. Each call is one JSON POST, paid in USDC with no account or API key, and answered in the same HTTP response.
POST /v1/co/metrocuadrado/listings
Live Metrocuadrado property listings for one supported Colombian city, optional zone, and sale/rent search: listing ID, title, price in COP, city, zone where shown, area in m2, rooms, bathrooms, garages where shown, property/listing type, images and listing URL.
First results page only, up to 20 listings, without detail-page enrichment.
Input
Send a JSON body to POST https://api.ssh.autos/v1/co/metrocuadrado/listings.
| Field | Type | Required | Notes |
|---|---|---|---|
city | string | optional | 1–50 characters; default "bogota" |
zone | string | optional | 1–80 characters |
operation | string | optional | one of venta, arriendo; default "venta" |
propertyType | string | optional | one of apartamento, casa; default "apartamento" |
maxResults | integer | optional | 1–20; default 10 |
Returned fields
The answer is JSON: records, a list of up to 20, and summary, the run status and counts. Each record has these 17 fields; a field the source does not publish comes back null.
17 fields per record
| Field | Type | Notes |
|---|---|---|
listing_key | string | Stable composite key (source:id, e.g. metrocuadrado.com:123456789); dedupe on this across runs. |
id | string | Metrocuadrado listing identifier. |
url | string | Public listing page URL on Metrocuadrado. |
price_cop | integer | Advertised price in integer Colombian pesos; null when unavailable. |
currency | string | Currency of the advertised price; COP on this site. |
city | string | City: the listing's own city name when available, else the requested city (bogota/medellin/cali). |
zone | string | Listing neighbourhood or zone when available; otherwise the requested zone. Null when neither is available, including some city-wide results. |
area_m2 | number | Property area in square metres when available; null otherwise. |
rooms | integer | Room count when available; null otherwise. |
bathrooms | integer | Bathroom count (baños) when shown. |
garages | integer | Garage count when the listing states it; null otherwise. |
property_type | string | Listing's own property type (e.g. Apartamento/Casa) when available; null otherwise. |
listing_type | string | Requested operation: 'venta' or 'arriendo'. |
images | array of strings | Listing image URLs when available; an empty list when none are available. |
source | string | Source website hostname (metrocuadrado.com). |
country | string | Site country: CO. |
scraped_at | string | UTC ISO-8601 scrape timestamp. |
Example call
npx agentcash@latest fetch https://api.ssh.autos/v1/co/metrocuadrado/listings -m POST -b '{"city": "bogota", "maxResults": 3}'
The example values come from the API spec or the actor’s own sample input. Running it is a paid call.
What is and isn’t charged
You pay the call price for
- An answer, including a definitive “not found” or an empty result.
- Confirmed no matches returns records: [] (charged: it is an answer).
Free
- Invalid input (422), busy (503), source failure (502), timeout (504) and calls whose client hung up are never charged.
- Invalid input and source failures are not charged.
Prefer a subscription? Run it on Apify
This data source is a public actor on the Apify Store: Metrocuadrado Colombia Property Scraper. Run it with your Apify account and plan for larger, scheduled or exported runs; it may offer more input options than the per-call endpoint.
How x402 payment works
- Your client sends the request. The API answers
402 Payment Requiredwith the price and where to pay. - The client pays from its own wallet: USDC on Base or Solana over x402, or over MPP on Tempo. No account, sign-up or API key.
- The client retries with the payment attached and gets the JSON answer in the same call. You are only charged for answers.
The AgentCash CLI in the example does all three steps for you and pays from your AgentCash wallet. Any x402 or MPP client works the same way.
Machine-readable: openapi.json · llms.txt