Fincaraiz Colombia Real Estate Listings Scraper avatar

Fincaraiz Colombia Real Estate Listings Scraper

Pricing

from $6.15 / 1,000 results

Go to Apify Store
Fincaraiz Colombia Real Estate Listings Scraper

Fincaraiz Colombia Real Estate Listings Scraper

Scrape Fincaraiz Colombia real estate listings with price in COP and USD, operation, property type, bedrooms, bathrooms, area, neighborhood, city, department, amenities and advertiser WhatsApp. Covers Bogota, Medellin, Cali and Cartagena. Export to JSON, CSV or Excel.

Pricing

from $6.15 / 1,000 results

Rating

5.0

(1)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

3

Monthly active users

20 hours ago

Last modified

Share

Fincaraiz Colombia Real Estate Listings Scraper

Fincaraiz Colombia Real Estate Listings Scraper

Here is one real result, with the fields the actor returns (image and amenity arrays trimmed for length, values real):

{
"title": "Apartamento en Venta en Chico norte, Bogotá",
"price": 1100000000,
"currency": "COP",
"priceUsd": 341354,
"priceWithAdmin": 1101414000,
"pricePerM2": 8943089,
"adminFee": 1414000,
"operationType": "Venta",
"propertyType": "Apartamento",
"bedrooms": 2,
"bathrooms": 3,
"parkingSpaces": 2,
"areaM2": 123,
"builtAreaM2": 123,
"totalAreaM2": 123,
"stratum": 6,
"floor": 3,
"antiquity": 4,
"constructionYear": null,
"address": "Carrera 17 #93a, Bogotá, Colombia",
"neighborhood": "Chico norte",
"city": "Bogotá",
"department": "Bogotá, d.c.",
"coordinates": { "lat": 4.678526, "lng": -74.052898 },
"advertiser": {
"name": "Ronald Morales",
"type": "inmobiliaria",
"phone": "+5731",
"whatsapp": null,
"maskedPhone": "+5731",
"hasWhatsapp": true,
"address": "Carrera 9bis 97-45",
"profileUrl": "https://www.fincaraiz.com.co/inmobiliarias/177095690-ronald morales/propiedades",
"logo": null
},
"referenceCode": "194024116",
"imageCount": 30,
"hasVideo": true,
"videoUrl": "https://www.youtube.com/embed/LxEb85znWKQ",
"createdAt": "2026-07-23",
"updatedAt": "2026-07-23",
"url": "https://www.fincaraiz.com.co/apartamento-en-venta-en-chico-norte-bogota/194024116",
"listingId": "194024116",
"description": "Apartamento en venta | Chicó Norte, Bogotá | 123 m². Vive a pasos del Parque de la 93 en este moderno apartamento de 123 m² ubicado en el tercer piso ... (full text returned)",
"amenities": ["Ascensor", "Chimenea", "Gimnasio", "Portería / Recepción", "Terraza", "Vigilancia", "Vista panorámica"],
"images": ["https://cdn2.infocasas.com.uy/repo/img/6a6229244c8fd_infocdn__...jpg", "..."],
"imageUrl": "https://cdn2.infocasas.com.uy/repo/img/6a6229244c8fd_infocdn__...jpg",
"administracionFee": 1414000,
"aiListingSummary": null,
"aiFeatures": null,
"aiTitleEn": null,
"aiTranslation": null,
"observedAt": "2026-07-28T17:07:52.133Z",
"error": null
}

The most complete Fincaraiz scraper available. It returns every field a Fincaraiz listing exposes, including advertiser contact, coordinates, stratum, administration fee, the full image gallery and amenities, plus derived fields like USD price and price per m2, and lets you scrape any Fincaraiz search URL you build.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor takes a Fincaraiz search results URL, paginates through the matching property listings, and writes one normalized record per listing to the run's dataset. With withDetails enabled (default) it also opens each listing detail page to collect the description, full amenities list, complete image gallery, advertiser contact, coordinates, and the administration fee.

Derived fields are computed on top of the raw listing: priceUsd, priceWithAdmin, pricePerM2, and a normalized adminFee. Three optional AI add-ons can attach a plain-English summary, normalized English feature tags, and an English translation of the title and description.

Coverage is Colombia (fincaraiz.com.co): apartments, houses, offices, lots, and other property types, for sale (venta) or rent (arriendo).

Quickstart

Open the actor, paste this into the input, and press Run. It returns 10 apartments for sale in Bogotá with full details.

{
"startUrl": "https://www.fincaraiz.com.co/venta/apartamentos/bogota-dc",
"maxListings": 10,
"withDetails": true
}

Build the startUrl on fincaraiz.com.co: apply your filters (operation, property type, city, price) and paste the resulting URL. startUrl is required; every other field is optional.

Input reference

FieldTypeRequiredDefaultDescription
startUrlstringyes(example Bogotá URL)A Fincaraiz search results URL to scrape. Apply filters on fincaraiz.com.co and paste the resulting URL, for example https://www.fincaraiz.com.co/venta/apartamentos/bogota-dc.
maxListingsintegerno10Maximum number of listings to collect. Range 1 to 1000000.
withDetailsbooleannotrueVisit each listing detail page to also collect description, amenities, full image gallery, advertiser, coordinates, and administration fee. Slower but richer.
maxConcurrencyintegerno(auto)How many detail pages to fetch in parallel, 1 to 8. Higher is faster.
maxRequestRetriesintegerno(auto)How many times to retry a failed request (with IP rotation) before giving up, 0 to 6.
withAiSummarybooleannofalseAdd a plain-English AI summary of each listing (paid add-on, requires a paid Apify plan).
withAiFeaturesbooleannofalseExtract normalized English feature tags, condition, and highlights via AI (paid add-on).
withAiTranslatebooleannofalseTranslate the listing title and description from Spanish to English via AI (paid add-on).

Output reference

One dataset item per listing. Types: string, integer, boolean, string[], object, or null when the source value is absent. Detail fields are populated when withDetails is enabled.

FieldTypeDescription
titlestringListing title.
priceintegerAsking price in the listing currency.
currencystringPrice currency, typically COP.
priceUsdintegerDerived price converted to US dollars.
priceWithAdminintegerPrice plus administration fee, when available.
pricePerM2integerDerived price per square meter.
adminFeeintegerMonthly administration fee, or null.
operationTypestringVenta (sale) or Arriendo (rent).
propertyTypestringProperty type, for example Apartamento, Casa.
bedroomsintegerNumber of bedrooms.
bathroomsintegerNumber of bathrooms.
parkingSpacesintegerNumber of parking spaces.
areaM2integerListed area in square meters.
builtAreaM2integerBuilt area in square meters (detail).
totalAreaM2integerTotal area in square meters (detail).
privateAreaM2integerPrivate area in square meters (detail), or null.
stratumintegerColombian socioeconomic stratum, or null.
floorintegerFloor number, or null.
antiquityintegerProperty age in years, or null.
constructionYearintegerYear built, or null.
propertyConditionstringProperty condition, or null.
addressstringStreet address (detail).
neighborhoodstringNeighborhood name.
citystringCity.
departmentstringDepartment (region).
coordinatesobject{ lat, lng } map coordinates (detail), or null.
advertiserobjectAdvertiser details: name, type, phone, whatsapp, maskedPhone, hasWhatsapp, address, profileUrl, logo (detail).
referenceCodestringAdvertiser reference code.
imageUrlstringPrimary listing image URL.
imageCountintegerNumber of images in the gallery.
imagesstring[]Full image gallery URLs (detail).
hasVideobooleanWhether the listing has a video.
videoUrlstringVideo embed URL, or null.
descriptionstringFull listing description (detail).
amenitiesstring[]Amenities and features listed on the property (detail).
createdAtstringDate the listing was created (YYYY-MM-DD).
updatedAtstringDate the listing was last updated (YYYY-MM-DD).
urlstringCanonical listing URL.
listingIdstringFincaraiz listing id.
aiListingSummarystringAI summary when withAiSummary is enabled, otherwise null.
aiFeaturesobjectAI feature extract when withAiFeatures is enabled, otherwise null.
aiTitleEnstringAI English title when withAiTranslate is enabled, otherwise null.
aiTranslationobjectAI English translation when withAiTranslate is enabled, otherwise null.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

Example output record

Real record from a live run (input {"startUrl":"https://www.fincaraiz.com.co/venta/apartamentos/bogota-dc","maxListings":10,"withDetails":true}), with long arrays trimmed:

{
"title": "Apartamento en Venta en Chico norte, Bogotá",
"price": 1100000000,
"currency": "COP",
"priceUsd": 341354,
"pricePerM2": 8943089,
"adminFee": 1414000,
"operationType": "Venta",
"propertyType": "Apartamento",
"bedrooms": 2,
"bathrooms": 3,
"parkingSpaces": 2,
"areaM2": 123,
"stratum": 6,
"floor": 3,
"neighborhood": "Chico norte",
"city": "Bogotá",
"department": "Bogotá, d.c.",
"coordinates": { "lat": 4.678526, "lng": -74.052898 },
"advertiser": { "name": "Ronald Morales", "type": "inmobiliaria", "hasWhatsapp": true, "profileUrl": "https://www.fincaraiz.com.co/inmobiliarias/177095690-ronald morales/propiedades" },
"referenceCode": "194024116",
"imageCount": 30,
"hasVideo": true,
"videoUrl": "https://www.youtube.com/embed/LxEb85znWKQ",
"url": "https://www.fincaraiz.com.co/apartamento-en-venta-en-chico-norte-bogota/194024116",
"listingId": "194024116",
"observedAt": "2026-07-28T17:07:52.133Z",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~fincaraiz-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrl":"https://www.fincaraiz.com.co/venta/apartamentos/bogota-dc","maxListings":25,"withDetails":true}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~fincaraiz-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrl":"https://www.fincaraiz.com.co/arriendo/casas/medellin","maxListings":100}'

Apify CLI:

apify call scrapers_lat/fincaraiz-scraper \
--input '{"startUrl":"https://www.fincaraiz.com.co/venta/apartamentos/bogota-dc","maxListings":50}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per listing returned (result event). See the pricing tab for the current per-result price.
  • AI add-ons. withAiSummary, withAiFeatures, and withAiTranslate are optional paid add-ons charged only when they produce usable output, and require a paid Apify plan.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 listings per run. Upgrade for higher maxListings.

FAQ and troubleshooting

A run returned 0 records. Why? The startUrl search matched no listings, or the URL was not a Fincaraiz search results page. Open the URL in a browser to confirm it shows listings. Zero-result runs are not charged.

How do I control which listings I get? Build the search on fincaraiz.com.co with the filters you want (operation, property type, city, price, rooms), then paste that URL as startUrl. The actor scrapes exactly what the search returns.

What does withDetails add? Description, full amenities list, complete image gallery, advertiser contact, coordinates, and the administration fee. Disable it for a faster, lighter run that keeps the core listing fields.

Why are some fields null? Not every listing publishes every field (for example constructionYear or stratum). Missing source values are returned as null, never invented.

Can I get results in English? Enable withAiTranslate for an English title and description, and withAiFeatures for normalized English feature tags. Both are paid add-ons.

Is this an official Fincaraiz tool? No. This actor is independent and has no affiliation with Fincaraiz or InfoCasas. It reads only data that is publicly available on fincaraiz.com.co.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Fincaraiz. Accesses only publicly available fincaraiz.com.co data.