
Google Ads Scraper
scrape.ly/store/querystone/google-ads-scraperLead generationSEO tools
4 monthly users

Scrape property listings for sale and rent from metrocuadrado.com, Colombia's leading real estate portal. Search by city, neighborhood, department, place or radius with price, area, bedroom, stratum and amenity filters, or paste search URLs. Get prices, price per m², areas, stratum, GPS, photos, phone and WhatsApp, agency names, or one row per agency for lead generation.
Scrape property listings for sale and rent from metrocuadrado.com, one of Colombia's largest real estate portals. Get price, price per m², area, bedrooms, bathrooms, stratum, administration fee, GPS coordinates, photos, the advertiser's phone and WhatsApp, and the agency's name and address, for any city, neighborhood, department or radius. No login, no browser, and $1.00 per 1,000 results.
bogota, Medellín, cali), or paste search URLs from metrocuadrado.com.| Field | What it does |
|---|---|
cities | Cities to search (bogota, Medellín, cartagena...). A department name or colombia works too. |
startUrls | metrocuadrado.com search pages; each keeps its own filters. |
operation | sale or rent. |
propertyTypes | apartamento, casa, oficina, local, lote, finca... |
maxResults | The most results to save (0 = all). |
neighborhoods, regions | Narrow to neighborhoods (barrios) or search whole departments. |
pointOfInterest, centerLat / centerLng, radiusKm | Search around a place or a point. |
minPrice / maxPrice, minAreaM2 / maxAreaM2, rooms, bathrooms, garages, stratum, propertyState, keyword, amenities, tags | Filters. |
mode | listings (default) or agencies. |
includeCompanyInfo | Add the agency's name, address, logo and page (default on). |
{
"cities": ["bogota"],
"operation": "sale",
"propertyTypes": ["apartamento"],
"stratum": ["4", "5"],
"maxPrice": 800000000,
"maxResults": 100
}
One row per listing (or per agency in Agencies mode).
| Field | Description |
|---|---|
listingId, url, title | The listing and its page |
operation, propertyType, propertyState | sale or rent, type, new or used |
price, priceCurrency, salePrice, rentPrice, adminFee, pricePerM2 | Prices in COP |
sizeM2, builtAreaM2, privateAreaM2 | Areas |
rooms, bathrooms, garages, stratum, floor, buildingAge | Layout and building |
amenities, features, tags, description | What the listing offers |
neighborhood, zone, city, latitude, longitude, nearbyPlaces, distanceKm | Location |
thumbnail, photos, numPhotos | Full-size photo links |
contactPhone, whatsappNumber, landlinePhone, contactName, ownerType | Contact |
companyId, companyName, companyAddress, companyLogo, companyUrl | Agency or builder |
projectName, housingType, isPromoted, scrapedAt | Extras |
Example (one listing from a real run, trimmed; the contact person and phone numbers are replaced with fictional ones):
{
"listingId": "16108-M7162167",
"url": "https://www.metrocuadrado.com/inmueble/venta-apartamento-bogota-alejandria-3-habitaciones-5-banos-3-garajes/16108-M7162167",
"title": "Apartamento en Venta, Alejandria, Bogotá D.C.",
"operation": "sale",
"propertyType": "Apartamento",
"propertyState": "Usado",
"price": 1170000000,
"priceCurrency": "COP",
"adminFee": 750000,
"pricePerM2": 8125000,
"sizeM2": 144,
"rooms": 3,
"bathrooms": 5,
"garages": 3,
"stratum": 5,
"floor": 2,
"buildingAge": "Entre 5 y 10 años",
"hasElevator": true,
"gatedCommunity": true,
"amenities": ["ascensor", "conGimnasio", "conPiscina", "porteria", "conZonaBbq"],
"neighborhood": "ALEJANDRIA",
"city": "Bogotá D.C.",
"country": "CO",
"latitude": 4.7423467,
"longitude": -74.0549338,
"thumbnail": "https://multimedia.metrocuadrado.com/16108-M7162167/16108-M7162167_1_p.jpg",
"numPhotos": 20,
"contactPhone": "3000000000",
"whatsappNumber": "573000000000",
"contactName": "Laura Gómez",
"ownerType": "Inmobiliaria",
"companyId": "6692",
"companyName": "READY TO MARKET RTM SAS",
"companyUrl": "https://www.metrocuadrado.com/inmobiliaria/ready-to-market-rtm-sas/6692",
"searchQuery": "Apartment for sale in Bogotá D.C."
}
You pay $1.00 per 1,000 results ($0.001 per listing, or per agency in Agencies mode), plus the small platform usage of the run (compute and datacenter proxy traffic). There is no start fee.
Example: 1,000 apartments in Bogotá cost $1.00 in results plus a fraction of a cent of platform usage. Nothing is charged for listings that are not saved, and a run stops cleanly when it reaches your maximum charge.
Is it legal to scrape metrocuadrado.com? The scraper only reads public listing pages that anyone can open without an account. Check the site's terms and the data-protection rules that apply to you (Colombia's Ley 1581 for personal data such as phone numbers) before using the data.
Do I need a login or my own proxy? No. No account is needed and the default datacenter proxy works. If the site starts refusing requests, the run switches to Colombian residential proxies by itself.
How many results can I get? As many as the search has. The site serves at most 10,050 listings per search, so bigger searches (all of Bogotá, all of Colombia) are split into price ranges automatically. Set Maximum results to 0 for everything.
Why is a field empty?
The advertiser did not fill it in. For example, private owners have no companyName, and only new builds have projectName and housingType.
Can I schedule it or use it from my code? Yes. Schedule runs in the console (for example every morning with "Newest first"), or start them through the API and read the dataset as JSON, CSV or Excel.
I used a similar actor on another platform. Will my input work?
Mostly yes: cities, neighborhoods, regions, startUrls, operation, propertyTypes, maxResults, the price, area and room filters, centerLat / centerLng / radiusKm, pointOfInterest and mode use the same names.
/inmueble/...) are not supported as input; paste search pages instead.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
citiesarrayOptionalCities
Colombian cities to search, one per line, e.g. `bogota`, `Medellín`, `cali`, `barranquilla`, `cartagena`. Accents and spellings like `Bogotá D.C.` are fine. A department (`antioquia`) also works, and `colombia` searches the whole country. Each city is its own search; listings found twice are saved once.
startUrlsarrayOptionalSearch URLs
Optional metrocuadrado.com search result pages, e.g. `https://www.metrocuadrado.com/apartamentos/venta/bogota/chico/` or `https://www.metrocuadrado.com/casas/arriendo/medellin/el-poblado/3-habitaciones-estrato-6/`. Each page keeps its own operation, property type, place and filters; the filters below are added on top.
operationenumOptionaldefault "sale"Sale or rent
Listings for sale or for rent. Applies to cities, neighborhoods, departments and the center point; search URLs keep their own choice.
propertyTypesarrayOptionaldefault ["apartamento"]Property types
Kinds of property to search, together in one search. Clear the list to search every type.
maxResultsintegerOptionaldefault 20Maximum results
The most listings to save in this run, across all searches (in Agencies mode: the most agencies). Set 0 to save every listing the searches return. Searches with more than 10,050 listings (the most the site serves for one search) are split into price ranges automatically, so big cities are covered in full.
More ways to say where to search. Combine with the cities above or use them alone.
neighborhoodsarrayOptionalNeighborhoods
Optional neighborhoods (barrios), e.g. `chapinero`, `usaquen`, `el poblado`. With cities, each city is narrowed to these neighborhoods; without a city, the neighborhood is searched across Colombia.
regionsarrayOptionalDepartments
Optional Colombian departments, e.g. `antioquia`, `cundinamarca`, `valle del cauca`. Searches every city in the department.
pointOfIntereststringOptionalNear a place
Search around a named place: a university, shopping centre, park or hospital, e.g. `Universidad de los Andes` or `Centro Comercial Andino`. Uses 2 km around it unless Radius is set. A city above picks the right place when the name exists in several cities.
centerLatnumberOptionalCenter latitude
Latitude of a center point, e.g. 4.6097 for central Bogotá. Use with Center longitude and Radius.
centerLngnumberOptionalCenter longitude
Longitude of the center point, e.g. -74.0817.
radiusKmnumberOptionalRadius (km)
Keep only listings within this many kilometres of the center point or place (decimals allowed). The site searches circles of up to 4 km, so a larger radius is covered by several overlapping circles automatically. With cities, the cities are searched and listings outside the radius are left out.
Narrow every search. Leave empty for no filter.
minPriceintegerOptionalMinimum price (COP)
Sale price, or monthly rent for rentals, in Colombian pesos.
maxPriceintegerOptionalMaximum price (COP)
Sale price, or monthly rent for rentals, in Colombian pesos.
minAreaM2integerOptionalMinimum area (m²)
maxAreaM2integerOptionalMaximum area (m²)
roomsarrayOptionalBedrooms
Any of these bedroom counts.
bathroomsarrayOptionalBathrooms
Any of these bathroom counts.
garagesarrayOptionalParking spaces
Any of these garage counts.
stratumarrayOptionalStratum (estrato)
Colombian socioeconomic stratum of the property, 1 (lowest) to 6 (highest).
propertyStateenumOptionalNew or used
Only new builds or only used properties. Leave empty for both.
keywordstringOptionalKeyword
Only listings whose text mentions this word or phrase, e.g. `piscina`, `terraza`, `chimenea`.
amenitiesarrayOptionalAmenities
Only listings that have ALL of these amenities, as the site records them. Every result lists its amenities in the `amenities` field.
tagsarrayOptionalTags
Only listings with at least one of these tags.
constructionStatusenumOptionalConstruction stage or age
Only listings at this construction stage (mostly new-build projects) or in this building-age range.
housingTypesarrayOptionalHousing programme
Only new-build projects in these programmes: VIS (social housing), VIP (priority social housing) or NOVIS (not social housing).
companyIdsarrayOptionalAgency or builder ids
Only listings of these agencies or builders: their numeric ids, as found in the `companyId` field of the output or at the end of a company page URL (`/inmobiliaria//12092`). With no place given, all of the company's listings are searched.
modeenumOptionaldefault "listings"Output
Listings saves every property. Agencies reads every listing of the searches and saves one row per agency or builder behind them, with listing count, phones, cities, neighborhoods and price range, ranked by listing count (lead generation). Private owners are not agencies and are left out.
sortByenumOptionaldefault "relevance"Sort by
Order in which listings are collected. Matters when Maximum results is lower than the number of matches.
includeCompanyInfobooleanOptionaldefault trueInclude agency name and address
Add the agency's or builder's name, address, logo and page to each listing. Read once per company (one extra page per company, not per listing); the price per result stays the same.
maxResultsPerSearchintegerOptionalMaximum results per search
Optional cap for each city, neighborhood, department or search URL. Leave empty to share Maximum results fairly between the searches.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work well for metrocuadrado.com. The run switches to Colombian residential proxies by itself if the site starts refusing requests.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| listingId | string | null | Listing id on metrocuadrado.com |
| url | string | null | Listing page |
| title | string | null | Listing title |
| operation | string | null | sale, rent, or 'sale or rent' |
| propertyType | string | null | Apartamento, Casa, Oficina, ... |
| propertyState | string | null | Nuevo (new) or Usado (used) |
| category | string | null | Listing category on the site |
| price | number | null | Sale price, or monthly rent for rent searches, in COP |
| priceCurrency | string | null | COP |
| salePrice | number | null | Sale price in COP |
| rentPrice | number | null | Monthly rent in COP |
| adminFee | number | null | Monthly building administration fee in COP |
| pricePerM2 | number | null | Price per m² in COP |
| sizeM2 | number | null | Area in m² |
| builtAreaM2 | number | null | Built area in m² |
| privateAreaM2 | number | null | Private area in m² |
| rooms | number | null | Bedrooms |
| bathrooms | number | null | Bathrooms |
| garages | number | null | Parking spaces |
| stratum | number | null | Socioeconomic stratum, 1 to 6 |
| floor | number | null | Floor number |
| buildingAge | string | null | Building age or construction stage |
| hasElevator | boolean | null | Has an elevator |
| hasGarage | boolean | null | Has at least one parking space |
| gatedCommunity | boolean | null | In a gated complex (conjunto cerrado) |
| amenities | array | null | Amenities the listing has (site keys such as conPiscina, ascensor) |
| features | array | null | All feature entries as 'key: value' |
| tags | array | null | Tags such as Negociable or Para estrenar |
| description | string | null | Listing description |
| neighborhood | string | null | Neighborhood (barrio) |
| neighborhoodFull | string | null | Neighborhood with common name |
| zone | string | null | Zone of the city |
| city | string | null | City |
| country | string | null | CO |
| latitude | number | null | Latitude |
| longitude | number | null | Longitude |
| locationApproximate | boolean | null | The site shows an approximate location |
| distanceKm | number | null | Distance from the center point in km (radius searches) |
| nearbyPlaces | array | null | Nearby places with name, address and coordinates |
| projectName | string | null | New-build project name |
| housingType | string | null | VIS, VIP or NOVIS (new builds) |
| badge | string | null | Badge shown on the listing |
| thumbnail | string | null | Main photo |
| photos | array | null | Full-size photo URLs |
| numPhotos | number | null | Number of photos |
| contactPhone | string | null | Advertiser phone |
| whatsappNumber | string | null | Advertiser WhatsApp number |
| landlinePhone | string | null | Agency landline |
| contactName | string | null | Contact person or advertiser name |
| contactsCount | number | null | Contacts the listing has received |
| ownerType | string | null | Constructora, Inmobiliaria or Persona natural |
| advertiserType | string | null | Builder, RealEstate or Seller |
| companyId | string | null | Agency or builder id |
| companyName | string | null | Agency or builder name |
| companyAddress | string | null | Agency address |
| companyLogo | string | null | Agency logo |
| companyUrl | string | null | Agency page on metrocuadrado.com |
| isPromoted | boolean | null | A paid promotion is active |
| promotions | array | null | Active promotion packages |
| searchQuery | string | null | The search that found the listing |
| scrapedAt | string | null | When the listing was scraped (UTC) |
| listingCount | number | null | Agencies mode: listings found for the agency |
| promotedListings | number | null | Agencies mode: promoted listings |
| allPhones | array | null | Agencies mode: every phone seen |
| cities | array | null | Agencies mode: cities served |
| neighborhoods | array | null | Agencies mode: neighborhoods served (top 25) |
| propertyTypes | array | null | Agencies mode: property types listed |
| operations | array | null | Agencies mode: sale and/or rent |
| projects | array | null | Agencies mode: new-build projects |
| minPrice | number | null | Agencies mode: lowest price |
| maxPrice | number | null | Agencies mode: highest price |
| medianPrice | number | null | Agencies mode: median price |
| sampleListingUrl | string | null | Agencies mode: one of the agency's listings |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Result | One saved property listing (or one agency in Agencies mode), with agency name and contacts included. | $0.001 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('roamandroof/metrocuadrado-scraper').call({
"cities": [
"bogota"
],
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run roamandroof/metrocuadrado-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=roamandroof/metrocuadrado-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
No examples yet
The developer hasn't published example inputs for this actor.

Scrape Google Maps places for any search term and city, with no code or with one API call. A real run, its output, its log and its exact cost, plus the limits and the legal side.
Read the article
Paste an Amazon search or product URL into a ready-made Actor and get one row per product with price, ASIN, rating and review count. This guide covers the no-code steps, the API, ZIP code pricing, a real run and its cost.
Read the article
Scrape Google search results by query and country and get each results page as JSON: organic results with positions, People Also Ask and related searches. Run it without code or from Python, with a real run, the cost per page and Google's terms.
Read the articleScrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.