# Fincaraiz Scraper — Colombia Real Estate Listings (`fabrikit/fincaraiz-scraper`) Actor

Scrape Colombian property listings from Fincaraíz (fincaraiz.com.co): price in COP, administración, estrato, m², rooms, parking, GPS, photos, amenities, agency and full description. Filter by city, barrio, type, price and estrato. Pay per result, no subscription.

- **URL**: https://apify.com/fabrikit/fincaraiz-scraper.md
- **Developed by:** [Fabrikit](https://apify.com/fabrikit) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 property listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Fincaraiz Scraper — Colombia Real Estate Listings

Scrape property listings from **Fincaraíz (fincaraiz.com.co)** — Colombia's largest real estate portal, with ~280,000 active listings — into clean, analysis-ready JSON, CSV or Excel. Search **apartments, houses, apartaestudios, lots, fincas, offices, locales and bodegas** for sale or rent in **Bogotá, Medellín, Cali, Barranquilla, Cartagena, Bucaramanga** or any city, localidad, zona or barrio, filter by price in COP, bedrooms, area and **estrato**, or simply paste a search URL from the site.

Every listing comes back **complete in one pass**: price in COP plus the site's USD conversion, **administración**, **estrato**, área construida and área privada, habitaciones, baños, **parqueaderos**, piso, antigüedad and estado, barrio / localidad / zona / ciudad / departamento, **GPS coordinates**, every photo, amenities, the full technical sheet, the **full description**, publication and update dates, the publishing **inmobiliaria or constructora**, and the new-housing project (proyecto de vivienda) each unit belongs to. No browser, no login — fast, light HTTP requests.

### Why this Fincaraíz scraper

- **Full data in the base price.** Description, the whole photo gallery, amenities, technical sheet, estrato and administración are included — no paid "detail pages" needed.
- **Whole-market runs.** Fincaraíz shows at most 10,000 results per search. Ask for more and the Actor splits the search into price bands automatically, so one run can collect all of Bogotá — or all of Colombia.
- **Colombia-native fields.** `stratum` (estrato 1–6) as a number and a filter, `commonExpenses` (administración) in COP, `locality` (localidad), `zone`, `commune` and barrio.
- **Location by name.** Type `Chapinero`, `El Poblado`, `Usaquén`, `Medellín` or `Antioquia` — the Actor resolves it with Fincaraíz's own location search and **fails loudly** if it can't, instead of silently returning all of Colombia.
- **Paste any Fincaraíz URL.** Search URLs keep every filter you set on the site; listing and project URLs work too.
- **Monitoring-ready.** Sort by `newest`, filter `publishedWithin: "today"`, schedule daily and diff on the stable `id`.
- **Privacy by design.** Private sellers are flagged `private_owner` with no name, phone or e-mail; phone numbers and e-mails are masked inside titles and descriptions.

### How to use it

1. Choose an **operation** (venta, arriendo, arriendo temporal) and one or more **property types**.
2. Add **locations** — department, city, localidad, zona or barrio — or leave empty for all of Colombia.
3. Optionally set a **price band in COP**, **min bedrooms**, an **area range**, **estratos**, **new developments only** or **published within**.
4. Set **Max listings** and press **Start**. Download the dataset as JSON, CSV, Excel or HTML, or read it through the Apify API.

#### Input example — apartments for sale in Chapinero and Usaquén, estrato 4–6

```json
{
    "operation": "sale",
    "propertyTypes": ["apartment"],
    "locations": ["Chapinero", "Usaquén"],
    "strata": ["4", "5", "6"],
    "minPrice": 400000000,
    "maxPrice": 1200000000,
    "minBedrooms": 2,
    "sort": "newest",
    "maxItems": 1000
}
```

#### Input example — every rental in Medellín (beyond the 10,000 cap)

```json
{
    "operation": "rent",
    "propertyTypes": [],
    "locations": ["Medellín"],
    "sort": "price_asc",
    "maxItems": 30000
}
```

#### Input example — paste URLs from Fincaraíz

```json
{
    "startUrls": [
        { "url": "https://www.fincaraiz.com.co/arriendo/apartamentos/medellin/antioquia/3-habitaciones" },
        { "url": "https://www.fincaraiz.com.co/venta/casas/cali/valle-del-cauca" }
    ],
    "maxItems": 2000
}
```

#### Input fields

| Field | Description |
|---|---|
| `operation` | `sale` (venta), `rent` (arriendo), `temporary_rent` (arriendo temporal), `sale_or_rent` or `any` |
| `propertyTypes` | `apartment`, `house`, `studio` (apartaestudio), `country_house` (casa campestre), `house_lot` (casa lote), `cabin`, `farm` (finca), `land` (lote), `room`, `commercial` (local), `office`, `medical_office` (consultorio), `warehouse` (bodega), `parking`, `building`; empty = all |
| `locations` | Department, city, localidad, zona or barrio names (OR). `Centro, Medellín` disambiguates; internal slugs such as `city-colombia-05-001` also work |
| `minPrice` / `maxPrice` | Price band in COP |
| `minBedrooms` | 0–5 (5 = five or more) |
| `minAreaM2` / `maxAreaM2` + `areaType` | Area band on built (`covered`) or `total` m² |
| `strata` | Estratos `1`–`6` (empty = all) |
| `newDevelopmentsOnly` | Only proyectos de vivienda and their units |
| `publishedWithin` | `today`, `yesterday`, `7`, `15`, `30`, `40` days |
| `startUrls` | Fincaraíz search, listing or project URLs (filters above are then ignored) |
| `sort` | `newest`, `relevance`, `price_asc`, `price_desc`, `area_asc`, `area_desc` |
| `maxItems` | Maximum listings to return (up to 300,000) |
| `fetchDetails` | Add-on: inmobiliaria profile and project details (see below) |

### Output example

```json
{
    "id": "194389865",
    "url": "https://www.fincaraiz.com.co/apartamento-en-venta-en-santa-barbara-bogota/194389865",
    "country": "CO",
    "site": "fincaraiz.com.co",
    "title": "Apartamento en Venta en Santa Barbara, Bogotá",
    "operation": "sale",
    "operationName": "Venta",
    "propertyType": "apartment",
    "propertyTypeName": "Apartamento",
    "price": 1200000000,
    "currency": "COP",
    "priceUsd": 373363,
    "priceHidden": false,
    "commonExpenses": 1340000,
    "commonExpensesCurrency": "COP",
    "totalAreaM2": 150,
    "coveredAreaM2": 150.21,
    "bedrooms": 3,
    "bathrooms": 3,
    "parkingSpaces": 2,
    "floor": 5,
    "age": "más de 30 años",
    "condition": "Usado",
    "stratum": 6,
    "address": "CL 117A 10 42",
    "department": "Bogotá, d.c.",
    "city": "Bogotá",
    "zone": "Zona norte",
    "locality": "Usaquen",
    "neighbourhood": "Santa Barbara",
    "neighbourhoods": ["Santa barbara central", "Multicentro", "Santa Barbara"],
    "latitude": 4.6959152,
    "longitude": -74.0360948,
    "publisherType": "agency",
    "agencyId": "176928661",
    "agencyName": "Qrador SAS",
    "agencyUrl": "https://www.fincaraiz.com.co/inmobiliarias/qrador-sas/176928661",
    "photos": [
        "https://cdn2.infocasas.com.uy/repo/img/6acc91341e5e3_infocdn__originaljpg.jpg"
    ],
    "photosCount": 27,
    "features": ["Parrillero / Barbacoa", "Depósito / Bodega", "Vigilancia"],
    "attributes": {
        "Estado": "Usado",
        "Antigüedad": "más de 30 años",
        "Parqueaderos": "2",
        "Área Construida": "150,21 m2",
        "Estrato": "6",
        "Administración": "$ 1.340.000",
        "Piso N°": "5"
    },
    "description": "¡AMPLIO PENTHOUSE EN VENTA EN St. BÁRBARA! Sus características son: Área construida: 150,21 M2, Primer Nivel 78,53 mts2...",
    "isNewDevelopment": false,
    "isDevelopmentUnit": false,
    "projectName": null,
    "referenceCode": "194389865",
    "agencyReference": "90745-sell",
    "publishedAt": "2026-10-12",
    "updatedAt": "2026-10-12",
    "agencyDetails": null,
    "developmentDetails": null,
    "scrapedAt": "2026-10-12T17:07:03.621Z"
}
```

(Trimmed for readability — every item carries all 70 fields, `null` when the listing doesn't publish a value.)

#### Output fields

| Field | Description |
|---|---|
| `id`, `url` | Stable Fincaraíz listing id (use it to diff runs) and link |
| `title`, `description` | Title and **full description** (contact numbers and e-mails masked) |
| `operation`, `operationName` | `sale`, `rent`, `temporary_rent`, `sale_or_rent` and the site's label (Venta, Arriendo, ...) |
| `propertyType`, `propertyTypeName` | Normalized type key and the site's label (Apartamento, Apartaestudio, Casa Campestre, ...) |
| `price`, `currency`, `priceUsd`, `priceHidden` | Price in COP, the site's USD conversion, and whether the price is "on request" |
| `commonExpenses`, `commonExpensesCurrency` | Monthly **administración** |
| `stratum` | **Estrato** 1–6 |
| `totalAreaM2`, `coveredAreaM2`, `privateAreaM2`, `lotAreaM2` | Área total, construida, privada and lot area as published |
| `bedrooms`, `bathrooms`, `rooms`, `parkingSpaces`, `floor` | Habitaciones, baños, parqueaderos, piso |
| `age`, `condition`, `yearBuilt` | Antigüedad band, estado (nuevo / usado / sobre planos ...) |
| `address`, `department`, `city`, `zone`, `locality`, `commune`, `neighbourhood`, `neighbourhoods` | Full location hierarchy: departamento, ciudad, zona, localidad, comuna, barrio |
| `latitude`, `longitude` | Map pin |
| `publisherType` | `agency` (inmobiliaria), `developer` (constructora) or `private_owner` |
| `agencyId`, `agencyName`, `agencyLogo`, `agencyUrl` | Publishing inmobiliaria / constructora (always `null` for private sellers) |
| `photos`, `photosCount`, `videoUrl`, `virtualTourUrl` | Full-size photo URLs and media |
| `features`, `attributes` | Amenities and the full technical sheet (financiación, cuota inicial, subsidio, mascotas, contrato mínimo, ...) |
| `isNewDevelopment`, `isDevelopmentUnit`, `projectId`, `projectName`, `projectUrl`, `deliveryDate`, `projectUnits` | Proyecto de vivienda flags, the project a unit belongs to, and the unit list on project listings |
| `priceChange`, `badge` | Price variation and the site's badge when present |
| `referenceCode`, `agencyReference` | Fincaraíz code and the agency's own reference |
| `publishedAt`, `updatedAt`, `scrapedAt` | Publication / update date (YYYY-MM-DD) and scrape timestamp |
| `agencyDetails`, `developmentDetails` | Filled only with the `fetchDetails` add-on |

A run summary (resolved locations, results reported by the site, price bands, pages, errors) is saved in the run's key-value store as `SUMMARY`.

### Details add-on (`fetchDetails`)

Turn on `fetchDetails` to add two objects that are **not** part of a listing:

- `agencyDetails` — office address, city, website, **number of active listings**, premium flag and profile URL of the publishing inmobiliaria or constructora (companies only; private sellers are never looked up). Perfect for building a ranked list of agencies per city.
- `developmentDetails` — for new-housing projects: delivery date, construction state, **unit mix** (habitaciones, baños, m², price-from and number of units per typology) and builder / architect when published.

Each inmobiliaria and project is looked up once per run and cached.

### Pricing

Pay per event — no subscription, platform usage (compute and proxy) included:

| Event | When it is charged |
|---|---|
| `property-result` | each listing saved to the dataset |
| `property-details` | each listing enriched by the `fetchDetails` add-on |
| Actor start | once per run (a fraction of a cent) |

From 30 October 2026, 1,000 complete listings cost **US$3** on the Apify Free plan (10,000 cost US$30); paid Apify plans pay less per listing — see the **Pricing** tab for your plan's rate. The details add-on adds US$1 per 1,000 listings on every plan. Use **Max listings** and Apify's per-run cost limit to stay in control.

### Use cases

- **Valuation and market analysis:** price per m² by barrio, localidad and estrato; rent vs. sale yields; administración per m² — every listing has price, area, estrato, administración and coordinates.
- **Inmobiliarias and brokers:** monitor new listings in your zones every morning, track competitors' inventory, find private sellers' listings (`publisherType: "private_owner"`, without personal data) to offer your services through the portal.
- **Lead generation (B2B):** rank inmobiliarias and constructoras by active listings per city with `agencyDetails`, and map who dominates each barrio.
- **Constructoras and investors:** new-housing pipeline (proyectos de vivienda) with delivery dates, unit mix and price-from per typology.
- **Banks, insurers and proptech:** feed normalized, geocoded listings into valuation models, CRMs or BI dashboards via the Apify API, webhooks, Google Sheets, Zapier or Make.
- **Relocation and rental platforms:** daily rental supply in Bogotá, Medellín and Cali with photos and amenities.

### FAQ

**Is there a Fincaraíz API?**
There is no public, documented API for listings. The Actor reads the same public data the website shows, over plain HTTP, and normalizes it into one schema.

**How many listings can I get?**
Up to 300,000 per run. Fincaraíz caps any single search at 10,000 results; above that, the Actor splits the search into price bands automatically. The site's own ordering is not stable between pages, so when you ask for every result the Actor runs one extra pass sorted by price to pick up the listings it skipped — coverage is complete, not "about 95%". Listings without a published price can't be reached in split mode (they are still returned by normal searches).

**What is the estrato?**
Colombia's socio-economic stratification of housing, from 1 (lowest) to 6 (highest). It drives utility prices and is one of the strongest price signals — use the `strata` filter and the `stratum` field.

**Is the price in pesos or dollars?**
Prices are in Colombian pesos (`currency: "COP"`); `priceUsd` carries the site's own USD conversion. The price filter is in COP.

**Do I need a proxy?**
No. Fincaraíz answers plain requests from Apify's servers. If it ever starts blocking, the Actor switches to Apify residential proxies in Colombia by itself — at no extra cost to you.

**Do you collect personal data?**
No personal data of private sellers: no names, phones or e-mails, and phone numbers / e-mails inside free text are masked. Only company data (inmobiliarias, constructoras) is returned. You are responsible for how you use the data (Ley 1581 de 2012 in Colombia).

**How do I get only new listings every day?**
Schedule the Actor daily with `sort: "newest"` and `publishedWithin: "today"` (or `"yesterday"`), then diff on `id` — or connect a webhook to push new listings to Slack, e-mail or your CRM.

### Is it legal to scrape Fincaraíz?

The Actor only reads listings that Fincaraíz shows publicly to any visitor, without logging in. Private sellers are returned as `private_owner` with no name, phone or e-mail, and phone numbers and e-mails inside free text are masked; only company data (inmobiliarias, constructoras) is returned. Listings can still reveal personal data indirectly (an exact address or photos of a private home), so Colombia's Ley 1581 de 2012, the EU GDPR or the California CCPA may apply to how you store and use the data; you are responsible for a lawful purpose and for respecting Fincaraíz's terms of service. Photos and descriptions belong to the advertisers. This is general information, not legal advice.

### Integrations

Run the Fincaraíz Scraper from the Apify API or the JavaScript and Python clients, push new listings to Slack, e-mail or your CRM with webhooks, or schedule a daily run in Apify Console. It works with n8n, Make and Zapier (for example, to append listings to Google Sheets), and with LangChain and LlamaIndex through their Apify integrations. AI agents in Claude, ChatGPT, Cursor and other MCP clients can find and run it through Apify's MCP server. Export as JSON, CSV or Excel, or read from the dataset API.

### Use with AI agents

Use this actor to get property listings in Colombia from Fincaraíz for a city, localidad, zona or barrio, for sale or rent, with price in COP, administración, estrato, areas, rooms and coordinates.

```json
{ "operation": "rent", "propertyTypes": ["apartment"], "locations": ["Medellín"], "maxItems": 20 }
```

Main output fields: `title`, `url`, `operation`, `propertyType`, `price`, `currency`, `priceUsd`, `commonExpenses`, `stratum`, `coveredAreaM2`, `privateAreaM2`, `bedrooms`, `bathrooms`, `parkingSpaces`, `neighbourhood`, `locality`, `city`, `latitude`, `longitude`, `publisherType`, `agencyName`, `publishedAt`. It is pay-per-event: an agent pays a small start fee plus a fixed price per listing (and per enriched listing with `fetchDetails`), not for compute time.

### Related actors

- [Portal Inmobiliario Scraper](https://apify.com/fabrikit/portal-inmobiliario-scraper) — property listings in Chile, with UF and CLP prices.
- [TocToc Scraper](https://apify.com/fabrikit/toctoc-scraper) — Chilean listings and new-development projects.
- [Mercado Libre Autos Scraper](https://apify.com/fabrikit/mercadolibre-autos-scraper) — car listings from TuCarro in Colombia and Mercado Libre in four more countries.
- [Airbnb Scraper](https://apify.com/fabrikit/airbnb-search-scraper) — short-term rental prices in Bogotá, Medellín or Cartagena.
- [Google Maps Scraper](https://apify.com/fabrikit/google-maps-places-scraper) — inmobiliarias, notaries and services around a barrio.

#### Ready-made examples

- [Apartamentos en arriendo en Medellín](https://apify.com/fabrikit/fincaraiz-scraper/examples/apartamentos-arriendo-medellin)
- [Casas en venta en Cali](https://apify.com/fabrikit/fincaraiz-scraper/examples/casas-venta-cali)
- [Apartamentos nuevos en venta en Bogotá](https://apify.com/fabrikit/fincaraiz-scraper/examples/apartamentos-nuevos-bogota)

### Changelog

- **2026-10-16** — README: legal notes, integrations, AI-agent usage, related actors and example tasks added; pricing text updated.
- **2026-10-15** — Tiered pricing announced, effective 2026-10-30 (lower per-listing price on paid Apify plans). Default memory lowered from 1,024 to 512 MB.
- **2026-10-12** — Builds 0.1.1–0.1.2: initial release — location search by name, price-band splitting past the 10,000-result cap, Colombia-native fields (estrato, administración, localidad) and the details add-on; published on the Apify Store.

*En español: primera versión publicada el 12-10-2026; nuevo precio por niveles desde el 30-10-2026.*

### En español

**Fincaraiz Scraper** extrae inmuebles de **Fincaraíz (fincaraiz.com.co)**, el portal inmobiliario más grande de Colombia: precio en COP (y su equivalente en USD), **administración**, **estrato**, área construida y privada, habitaciones, baños, parqueaderos, piso, antigüedad y estado, barrio / localidad / zona / ciudad / departamento, coordenadas GPS, todas las fotos, características, ficha técnica, descripción completa, fechas de publicación y la inmobiliaria o constructora que publica. Filtra por venta, arriendo o arriendo temporal, tipo de inmueble (apartamento, casa, apartaestudio, lote, finca, local, oficina, bodega...), ubicación, precio, habitaciones, área y estrato, o pega directamente una URL de búsqueda de Fincaraíz. Supera el tope de 10.000 resultados por búsqueda dividiendo automáticamente por rangos de precio, así que puedes descargar toda una ciudad en una sola corrida. Nunca devuelve datos personales de particulares. Se cobra por inmueble guardado; el precio vigente para tu plan está en la pestaña **Pricing**.

# Actor input Schema

## `operation` (type: `string`):

Sale (venta), long-term rent (arriendo), temporary/vacation rent (arriendo temporal) or listings offered for both sale and rent.

## `propertyTypes` (type: `array`):

One or more property types. Leave empty for all types.

## `locations` (type: `array`):

Departments, cities, localities, zones or neighbourhoods (barrios) as you would type them on Fincaraíz: `Bogotá`, `Medellín`, `Chapinero`, `El Poblado`, `Usaquén`, `Cali`, `Barranquilla`, `Cartagena`, `Antioquia`. Several entries are combined (OR). Disambiguate with a comma (`Centro, Medellín`). The site's internal slugs also work (`city-colombia-05-001`). Leave empty for all of Colombia. The run fails with a clear error if a location cannot be found — it never silently searches the whole country instead.

## `minPrice` (type: `integer`):

Lower price bound in Colombian pesos (e.g. `300000000` for sales, `2000000` for monthly rent).

## `maxPrice` (type: `integer`):

Upper price bound in Colombian pesos.

## `minBedrooms` (type: `integer`):

Only listings with at least this many bedrooms (0 = studios included, 5 = five or more). Leave empty for any.

## `minAreaM2` (type: `integer`):

Minimum surface in square metres.

## `maxAreaM2` (type: `integer`):

Maximum surface in square metres.

## `areaType` (type: `string`):

Whether the m² filter uses covered (built) area or total area.

## `strata` (type: `array`):

Only listings in these estratos (1 = lowest, 6 = highest). Leave empty for all. Every result also carries its `stratum`.

## `newDevelopmentsOnly` (type: `boolean`):

Only new-housing projects (proyectos de vivienda: sobre planos, en construcción) and their units.

## `publishedWithin` (type: `string`):

Only listings published recently — ideal for daily monitoring.

## `startUrls` (type: `array`):

Paste search URLs copied from fincaraiz.com.co (with any filters you set on the site, e.g. `https://www.fincaraiz.com.co/arriendo/apartamentos/medellin/antioquia/3-habitaciones`), or single listing / project URLs. When given, the filter fields above are ignored and each URL keeps its own filters.

## `sort` (type: `string`):

`newest` is the best choice for monitoring new listings.

## `maxItems` (type: `integer`):

Stop after this many listings. The site returns at most 10,000 results per search; bigger searches are split into price bands automatically, so you can collect a whole city — or all ~280,000 Colombian listings — in one run.

## `fetchDetails` (type: `boolean`):

Adds `agencyDetails` (office address, city, website, number of active listings, profile URL of the publishing inmobiliaria or constructora) and, for new-housing projects, `developmentDetails` (delivery date, construction state, unit mix with prices, builder/architect when published). Charged as a separate `property-details` event per enriched listing. All core listing data — including the full description, photos, amenities, estrato and administración — is included without this add-on.

## `proxyConfiguration` (type: `object`):

Fincaraíz answers plain requests, so no proxy is needed by default. If the site ever blocks the run, the Actor switches to Apify RESIDENTIAL proxy in Colombia automatically.

## Actor input object example

```json
{
  "operation": "sale",
  "propertyTypes": [
    "apartment"
  ],
  "locations": [
    "Bogotá"
  ],
  "areaType": "covered",
  "strata": [],
  "newDevelopmentsOnly": false,
  "publishedWithin": "any",
  "startUrls": [],
  "sort": "newest",
  "maxItems": 50,
  "fetchDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

All property listings collected during the run

## `summary` (type: `string`):

Resolved locations, totals reported by the site, price bands, pages and errors

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "operation": "sale",
    "propertyTypes": [
        "apartment"
    ],
    "locations": [
        "Bogotá"
    ],
    "startUrls": [],
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("fabrikit/fincaraiz-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "operation": "sale",
    "propertyTypes": ["apartment"],
    "locations": ["Bogotá"],
    "startUrls": [],
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("fabrikit/fincaraiz-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "operation": "sale",
  "propertyTypes": [
    "apartment"
  ],
  "locations": [
    "Bogotá"
  ],
  "startUrls": [],
  "maxItems": 50
}' |
apify call fabrikit/fincaraiz-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fabrikit/fincaraiz-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/5736bNhAMGniG7pLC/builds/hF0HaOFMdkTdnp2QI/openapi.json
