# Encuentra24 Scraper - Central America Property Listings (`sian.agency/encuentra24-property-scraper`) Actor

Extrae anuncios de encuentra24.com en Panamá, Costa Rica, Nicaragua, República Dominicana, Guatemala, Honduras, El Salvador y más: precio, área, habitaciones, GPS, fotos, descripción completa y datos del anunciante.

- **URL**: https://apify.com/sian.agency/encuentra24-property-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** Real estate, Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.88 / 1,000 property searches

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Encuentra24 Scraper - Central America Property Listings 🌎

[![SIÁN Agency Store](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![SIÁN Fincaraiz Scraper](https://img.shields.io/badge/SI%C3%81N-Fincaraiz%20Scraper-FFC300)](https://apify.com/sian.agency/fincaraiz-property-scraper?fpr=sian) [![SIÁN Inmuebles24 Scraper](https://img.shields.io/badge/SI%C3%81N-Inmuebles24%20Scraper-006847)](https://apify.com/sian.agency/inmuebles24-property-scraper?fpr=sian) [![SIÁN Portalinmobiliario Scraper](https://img.shields.io/badge/SI%C3%81N-Portalinmobiliario%20Scraper-0033A0)](https://apify.com/sian.agency/portalinmobiliario-property-scraper?fpr=sian)

Pull houses, apartments, land and commercial property off **encuentra24.com**, the leading
classifieds portal of Central America and the Caribbean, across **nine country sections**. Every
row carries the full Spanish description, every photo, the price in its own currency and the
advertiser behind the listing.

### 🔎 What is the Encuentra24 Central America Property Scraper — and when should you use it?

The **Encuentra24 Central America Property Scraper** turns public encuentra24.com property listings across nine Central American and Caribbean country sections into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

**Use it when you need:** Central American and Caribbean sale and rental adverts as rows. Each carries the asking price in its own currency (US dollars, Costa Rican colones or Panamanian balboas), price per square metre, and the maintenance fee where the building declares one. Built area, lot size, bedrooms, bathrooms, parking, floors and amenities come through, along with the full Spanish advert text and the complete photo set. Every row also names the advertiser and what they are — agent, developer, promoter or private owner — with their company and, where the country issues one, their licence number. An export therefore splits by who is selling after the fact. Coverage is nine country sections, each verified by fetching it. Panama and Costa Rica are the deep markets at 51,505 and 20,054 listings for sale, and Nicaragua, the Dominican Republic, Guatemala, Honduras and El Salvador each carry thousands more.

**Use something else when:** the property is not in Central America or the Caribbean. Use [Fincaraiz Scraper](https://apify.com/sian.agency/fincaraiz-property-scraper?fpr=sian) for Colombia, from the country's leading portal, with estrato and the agency behind each advert. Use [Inmuebles24 Scraper](https://apify.com/sian.agency/inmuebles24-property-scraper?fpr=sian) for Mexico, sale and rental, across every state. Use [Portalinmobiliario Scraper](https://apify.com/sian.agency/portalinmobiliario-property-scraper?fpr=sian) for Chile, with UF and peso prices side by side. This actor covers the bienes raíces surfaces encuentra24.com publishes: houses, apartments, land and lots, offices, commercial premises and businesses, each for sale or to rent, in the nine country sections that carry property inventory. It reads what the portal serves to a visitor. Encuentra24's other verticals — cars, jobs and general goods — are not part of it; the portal publishes asking prices only, so there is no sold-price history to return; and advertiser phone and WhatsApp numbers are deliberately not extracted, because the portal scrambles them and they belong to private individuals.

### 🤖 Use with AI agents

Already connected to the [Apify MCP server](https://mcp.apify.com)? Just ask for this Actor by name: sian.agency/encuentra24-property-scraper

**Your agent can pay for its own runs.** This Actor is eligible for [agentic payments](https://docs.apify.com/platform/actors/publishing/monetize), so an agent can discover it, run it and settle the bill over [x402](https://www.x402.org/) (USDC on Base) or [Skyfire](https://www.skyfire.xyz/) — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

```text
I want property listings and asking prices from encuentra24.com across Central America using the Apify Actor `sian.agency/encuentra24-property-scraper`.

Use it when I need: Central American and Caribbean sale and rental adverts as rows. Each carries the asking price in its own currency (US dollars, Costa Rican colones or Panamanian balboas), price per square metre, and the maintenance fee where the building declares one. Built area, lot size, bedrooms, bathrooms, parking, floors and amenities come through, along with the full Spanish advert text and the complete photo set. Every row also names the advertiser and what they are — agent, developer, promoter or private owner — with their company and, where the country issues one, their licence number. An export therefore splits by who is selling after the fact. Coverage is nine country sections, each verified by fetching it. Panama and Costa Rica are the deep markets at 51,505 and 20,054 listings for sale, and Nicaragua, the Dominican Republic, Guatemala, Honduras and El Salvador each carry thousands more.

Don't use it when: the property is not in Central America or the Caribbean — use fincaraiz-property-scraper or inmuebles24-property-scraper or portalinmobiliario-property-scraper instead.

How to call it: set `country` to one of the nine verified country sections (`panama-es`, `costa-rica-es`, `nicaragua-es`, `dominicana-es`, `guatemala-es`, `honduras-es`, `el-salvador-es`, `puerto-rico-es`, `colombia-es`), `dealType` to `sale` or `rent`, and `propertyType` to houses, apartments, land, offices, commercial, businesses or all. Narrow to one province, canton or district with `region`, written exactly as the portal writes it in its URL (`san-jose-provincia-escazu`, `prov-chiriqui`, `escuintla-escuintla`) — a region the portal does not recognise returns nothing and says so rather than quietly widening to the whole country. `minPrice`, `maxPrice`, `currency`, `minBedrooms`, `minBathrooms`, `minAreaSqm`, `onlyWithCoordinates` and `onlyActive` narrow the result set: Encuentra24 publishes no filters of its own, so these are applied to the listings the run collects, and anything a filter excludes is never saved and never billed. `maxItems` sets the depth — listings arrive twenty to a page and the deepest market runs to 436 pages. To reach a surface the pickers do not cover — beachfront, farms, islands, rooms, furnished apartments or holiday rentals — paste the portal's own URL into `searchUrls` and it is used verbatim. Switch `operation` to `detail` with `listingUrls` or `listingIds` only to refresh listings you already hold; it returns the same fields a search row carries and costs ten times more per listing, so search is the right default.

Start with this input:
{
  "operation": "search",
  "country": "panama-es",
  "dealType": "sale",
  "propertyType": "houses",
  "minPrice": 150000,
  "maxPrice": 400000,
  "minBedrooms": 3,
  "maxItems": 200
}

Ask me Find houses for sale in Panama under $300,000 with at least 3 bedrooms, and tell me the median price per square metre by district, then run the Actor and summarise the results as a table.
```

**Things you can ask your agent for:**

- *Pull every apartment for rent in Escazú, Costa Rica and rank them by price per square metre*
- *List the agencies with the most houses on the market in Ciudad de Panamá*
- *Compare asking prices for beachfront land in Nicaragua against Guatemala*
- *Track price cuts on Panama City apartments week over week*

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at [apify.com/sian.agency/encuentra24-property-scraper.md](https://apify.com/sian.agency/encuentra24-property-scraper.md).

### 📋 Overview

Encuentra24 runs a separate section per country and a separate page tree per market. This actor
turns any of those into rows.

| | |
|---|---|
| **Countries** | 9, each verified by fetching it — Panama, Costa Rica, Nicaragua, Dominican Republic, Guatemala, Honduras, El Salvador, Puerto Rico, Colombia |
| **Markets** | For sale and to rent |
| **Property types** | Houses, apartments, land, offices, commercial premises, businesses — or all of them |
| **Listings reachable** | 145,198: 100,209 for sale and 44,989 to rent, measured 2026-09-09 |
| **Fields per listing** | 54, of which 24 populate on every row |
| **Depth** | 20 listings a page, as deep as the market goes — Costa Rican houses run to 436 pages |
| **Language** | Spanish, exactly as the portal publishes it |
| **Setup** | None. Pick a country and press Start |

### ✨ Features

- **Coverage that was measured, not assumed.** Every country in the picker was fetched and its live
  inventory recorded. The three country sections that exist on the site but carry no property
  (Chile, Spain, Paraguay) are not offered, because offering them would be claiming coverage nobody
  checked.
- **The complete listing, from the search itself.** The full Spanish description, the whole photo
  set, price, price-before-discount, price per m², maintenance fee, area, lot size, bedrooms,
  bathrooms, parking, floors, amenities.
- **The advertiser on every row** — name, company, whether they are an agent, developer or private
  owner, their licence number where the country issues one, and whether they are verified.
- **Filters that cannot silently do nothing.** Encuentra24 accepts no price, bedroom or size filter
  of its own, so these are applied to the listings the run collects. Only listings that pass are
  delivered, and **only delivered listings are charged**.
- **Empty reported as empty.** Roughly 43% of listings carry real map coordinates; the portal stores
  0/0 for the rest, and those arrive as blank rather than as a point in the Atlantic Ocean.
- **A run report you can hand to someone else** — the numbers, a copy-paste block of every listing
  link, an itemised statement of what you were charged, and a fix for anything that did not return.

### 🎬 Quick Start

Press **Start**. The defaults pull houses for sale in Panama, the deepest market on the portal at
51,505 listings, and return 100 of them.

To point it somewhere else, change three dropdowns: **Country**, **Market**, **Property type**.

### 🚀 Getting Started (3 Simple Steps)

#### Step 1: Choose a country

Nine are offered. Panama and Costa Rica are the deep ones; Puerto Rico and Colombia carry only a few
hundred listings each and the picker says so.

#### Step 2: Choose the market and the property type

For sale or to rent, then houses, apartments, land, offices, commercial premises, businesses, or
all of them together.

#### Step 3: Press Start

Listings arrive 20 to a page. Set **Maximum listings** to decide how deep the run goes.

### 📥 Input Configuration

| Field | Type | Default | What it does |
|---|---|---|---|
| `operation` | select | `search` | `search` finds listings; `detail` refreshes listings you already hold |
| `country` | select | `panama-es` | Which Encuentra24 country section to read |
| `region` | string | — | One province, canton or district, written as the portal writes it in its URL |
| `dealType` | select | `sale` | For sale, or to rent |
| `propertyType` | select | `houses` | Houses, apartments, land, offices, commercial, businesses, or all |
| `searchUrls` | array | `[]` | Paste Encuentra24 search URLs to use verbatim — overrides the pickers |
| `listingUrls` | array | `[]` | Listing URLs, for the Listing Lookup operation |
| `listingIds` | array | `[]` | Bare numeric listing IDs, for the Listing Lookup operation |
| `maxItems` | integer | `100` | Stop after this many listings |
| `minPrice` / `maxPrice` | integer | `0` | Price band, in the listing's own currency |
| `currency` | select | `any` | Keep only USD, CRC or PAB listings |
| `minBedrooms` / `minBathrooms` | integer | `0` | Minimum room counts |
| `minAreaSqm` | integer | `0` | Minimum built area in m² |
| `onlyWithCoordinates` | boolean | `false` | Keep only listings that carry real GPS |
| `onlyActive` | boolean | `true` | Keep only listings still marked active |

#### About the region field

Region names differ by country and cannot be guessed: Costa Rica writes `san-jose-provincia-escazu`,
Panama writes `prov-chiriqui` and `panama-oeste`, Guatemala writes `escuintla-escuintla`. The
reliable way to get one is to filter on the site and copy the last part of the URL. A region the
portal does not recognise returns nothing and says so. It never quietly hands you the whole
country instead.

### 📤 Output

One row per listing. 54 fields; the fill rates below are measured over 35 real listings from six
different pages.

| Field | Type | Fill | Notes |
|---|---|---:|---|
| `listingId` | number | 100% | The numeric ID at the end of the listing URL |
| `listingUrl` | string | 100% | Direct link to the listing |
| `listingTitle` | string | 100% | As published, in Spanish |
| `listingDescription` | string | 100% | The full advert text, HTML stripped to plain text |
| `price` | number | 100% | The asking price |
| `currency` | string | 91% | `USD`, `CRC` or `PAB` |
| `priceBeforeDiscount` | number | 20% | Present when the advertiser posted a reduction |
| `discountPercent` | number | 20% | The size of that reduction |
| `pricePerSqm` | number | 97% | The portal's own calculation |
| `maintenanceFee` | number | 31% | Monthly condo/HOA fee where declared |
| `dealType` | string | 94% | `sale` or `rent` |
| `propertyType` | string | 100% | Casa, Apartamento, Lote… |
| `areaSqm` | number | 97% | Built area |
| `lotSizeSqm` | number | 86% | Land area |
| `bedrooms` / `bathrooms` | number | 100% | Bathrooms include halves (2.5) |
| `parkingSpaces` | number | 94% | |
| `floors` / `floorNumber` | number/string | 60% / 43% | |
| `propertyAge`, `floorType`, `balcony` | string | 57–66% | |
| `swimmingPool`, `petFriendly`, `furnished` | boolean | 14–46% | Only where the advertiser declared it |
| `amenities` | array | 37% | Appliances and building features, in Spanish |
| `country`, `locality`, `region` | string | 100% | |
| `exactAddress` | string | 71% | Blank when the portal left its placeholder in |
| `latitude` / `longitude` | number | 43% | Blank rather than 0/0 when there is no fix |
| `advertiserName` | string | 100% | |
| `advertiserCompany` | string | 74% | |
| `advertiserType` | string | 100% | Agente, Constructora, Promotora, Propietario |
| `advertiserLicense` | string | 17% | Where the country issues one |
| `advertiserVerified` | boolean | 100% | |
| `contactFormAvailable`, `whatsappAvailable`, `phoneAvailable` | boolean | 100% | Whether the channel is offered |
| `mainImageUrl`, `imageUrls`, `imageCount` | string/array/number | 100% | Full-size photo URLs |
| `videoUrl` | string | 40% | |
| `listingTier`, `highlight`, `projectStatus` | string | 6–91% | Promotion level and badges |
| `publishedAt` / `updatedAt` | string | 100% | ISO timestamps |
| `reposted`, `active` | boolean | 100% | |
| `searchUrl` | string | 100% | The search this row came from |

A run also writes **`report.html`** to the key-value store: the headline numbers, every listing
link in one copyable block, an itemised charges statement and a fix for anything that failed.

### 💼 Use Cases & Examples

#### 1. Central American market analysis

Pull a whole country's for-sale market in one snapshot and compute what the portal will not show
you: median price per m² by province, how a three-bedroom in Escazú prices against the same house in
Costa del Este, and how the mix moves month to month on a schedule.

#### 2. Cross-border investor screening

Panama, Costa Rica, Nicaragua and the Dominican Republic in one dataset with one price-per-m²
column, so an investor comparing beachfront exposure across four countries reads one table instead
of four portals in two languages.

#### 3. Agency and developer lead lists

Every row names who is behind the listing. Group by company to see which agencies actually hold
inventory in a district before you approach them.

#### 4. Rental yield modelling

Run the same district for sale and to rent, join on area and bedrooms, and you have the gross yield
the listing pages never show. The maintenance fee comes through where declared, so the net figure is
reachable too.

#### 5. Price and inventory monitoring

Schedule a daily run over a district and diff the results: new listings, price cuts against the
price-before-discount column, and listings that dropped out.

#### 6. Relocation and expat property search

Filter a country by budget, bedrooms and minimum area in one pass, instead of paging a
Spanish-language portal that offers no price filter of its own.

### 🔗 Integration Examples

#### JavaScript/Node.js

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

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('sian.agency/encuentra24-property-scraper').call({
    operation: 'search',
    country: 'panama-es',
    dealType: 'sale',
    propertyType: 'houses',
    minPrice: 150000,
    maxPrice: 400000,
    minBedrooms: 3,
    maxItems: 200,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const l of items) {
    console.log(`${l.listingTitle} — ${l.price} ${l.currency} — ${l.locality}`);
}
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("sian.agency/encuentra24-property-scraper").call(run_input={
    "operation": "search",
    "country": "costa-rica-es",
    "dealType": "rent",
    "propertyType": "apartments",
    "region": "san-jose-provincia-escazu",
    "maxItems": 100,
})

for l in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(l["listingTitle"], l["price"], l["currency"], l["areaSqm"])
```

#### cURL

```bash
curl -X POST "https://api.apify.com/v2/acts/sian.agency~encuentra24-property-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "operation": "search",
    "country": "panama-es",
    "dealType": "sale",
    "propertyType": "houses",
    "maxItems": 100
  }'
```

#### Automation Workflows (N8N / Zapier / Make)

Every one of these can call the actor on a schedule and route the rows onward: into a Google
Sheet, an Airtable base, a Slack digest or your own database.

- **N8N** — an HTTP Request node against the `run-sync-get-dataset-items` endpoint above, or the
  Apify node if you have it installed.
- **Zapier** — Schedule trigger → Webhooks by Zapier (POST) → your destination app.
- **Make** — HTTP module → Iterator over the returned array → Google Sheets / Airtable.

A common shape: run the same district daily, compare against yesterday's rows on `listingId`, and
push only the new listings and the price cuts.

### 📊 Performance & Pricing

Pay per event. You are charged for listings that are actually delivered, never for a search that
matched nothing, a listing a filter excluded, or an input that could not be read.

#### FREE Tier (Try It Now)

Runs on a free Apify account are capped at 25 listings so you can see the shape of the data before
committing.

#### PAID Tier (Production Ready)

| Event | Price | What it is |
|---|---:|---|
| Property Search listing | **$0.001** | One listing returned by a search |
| Listing Lookup | $0.010 | One listing fetched on its own by URL or ID |
| Run start | $0.005 | Once per run |

Prices shown are the BRONZE tier and fall on higher Apify plans. A 1,000-listing search run costs
about **$1.01**.

**Use Property Search unless you already hold specific listings.** A search listing carries exactly
the same fields as a lookup, and it is ten times cheaper. The lookup price reflects fetching one
listing at a time, not extra data.

### ❓ Frequently Asked Questions

**Do I need an API key, a login or a proxy?**
No. Choose a country and press Start.

**Which countries does it cover?**
Nine, each verified by fetching it: Panama, Costa Rica, Nicaragua, the Dominican Republic,
Guatemala, Honduras, El Salvador, Puerto Rico and Colombia. Panama and Costa Rica are the deep
markets, with 51,505 and 20,054 listings for sale. Puerto Rico and Colombia carry a few hundred each.
Chile, Spain and Paraguay have sections on the site but no property behind them, so they are not
offered.

**Can I filter by price, bedrooms or size?**
Yes, and it is worth knowing how. Encuentra24's own URLs carry no price, bedroom or size filters:
every plausible parameter was tested and the portal ignored all of them. So the actor applies those
filters to the listings it collects. Only listings that pass are delivered, and you are only charged
for listings that are delivered.

**How do I search one province or district?**
Put the region in the region field exactly as the portal writes it in its URL —
`san-jose-provincia-escazu` for Costa Rica, `prov-chiriqui` for Panama. Naming differs by country,
so filter on the site and copy the last part of the URL.

**What is the difference between Property Search and Listing Lookup?**
Search returns 20 listings per page and is the cheaper path. Lookup fetches one listing at a time
from a URL or ID you already hold, and returns the same fields. Use Lookup only to refresh specific
listings you are tracking.

**Are advertiser phone numbers included?**
No. The portal deliberately scrambles phone and WhatsApp numbers, and those belong to private
individuals across nine countries. The actor reports whether a phone or WhatsApp channel is offered,
and returns the publicly displayed business identity: name, company, type, licence, verified status.

**How deep can it go?**
As deep as the market. Costa Rican houses run to 436 pages; page 400 was fetched and returned twenty
full listings with no overlap against page 1.

**Do all listings have GPS coordinates?**
No. Roughly 43% carry real coordinates; the portal stores 0/0 for the rest, which comes through as
empty rather than as a fake point in the Atlantic. There is a checkbox to keep only listings that
have them.

**What language is the data in?**
Spanish, as the portal publishes it. Numbers, coordinates, dates and URLs are language-neutral.

**Can I paste a search URL from the site?**
Yes, and it is the way to reach anything the pickers do not cover: beachfront, farms, islands,
rooms, furnished apartments or holiday rentals. Paste the URL and it is used exactly as given.

### 🛠️ Troubleshooting

**"Encuentra24 does not recognise the region…"**
Region names differ per country. Filter on the site and copy the last path segment of the URL —
`san-jose-provincia-escazu`, not `escazu` or `San José`.

**A run returned fewer listings than I asked for**
Either the market has fewer than that (the run log prints the portal's own total on the first page),
or your filters excluded the rest. The log prints how many were read and how many were delivered,
and you were not charged for the difference.

**"This listing is no longer published"**
The advertiser removed it. Run a Property Search over the same area to pick up what is currently on
the market.

**"Encuentra24 did not serve this page — please retry"**
The portal declined that request. It already retried five times with a fresh connection each time,
so leave it a few minutes and run just that input again.

**Everything came back with no coordinates**
That is normal for some districts. Only about 43% of listings on the portal carry a real map fix.
Switch on "Only listings with GPS" if a run has to be mappable.

### ⚖️ Is it legal to scrape data?

This actor reads only **public** listing pages that Encuentra24 serves to any visitor: no login, no
paywall and no personal account data. Extracting publicly available information is generally lawful
in the EU and the US, and Apify's own
[legal guidance](https://blog.apify.com/is-web-scraping-legal/) covers the topic in detail.

Advertiser phone and WhatsApp numbers are deliberately **not** extracted. What is returned about the
advertiser is the business identity the portal displays publicly: name, company, advertiser type,
licence number and verified status.

Prices, photographs and descriptions belong to the advertisers who published them. SIÁN does not
host or claim rights to that content, and an advertiser can edit or remove a listing at any time,
so treat a row as a snapshot taken at run time. If you go on to process personal data, that is your
responsibility under the GDPR or your local equivalent.

Encuentra24 and encuentra24.com are trademarks of their respective owners. This actor is not
affiliated with, endorsed by, or sponsored by Encuentra24.

### 💬 Support

- **Something broken, or a field you need?** Open an issue on the
  [actor's Issues tab](https://apify.com/sian.agency/encuentra24-property-scraper/issues). It is
  read by the people who build it.
- **Enjoying it?** A [5-star review](https://apify.com/sian.agency/encuentra24-property-scraper/reviews)
  keeps it maintained and ranked.
- **More property scrapers** across Latin America and Europe:
  [SIÁN Agency on Apify](https://apify.com/sian.agency?fpr=sian).

***

#### Keywords for LLM Discovery

encuentra24 scraper, encuentra24 api, encuentra24 panama, encuentra24 costa rica, encuentra24
nicaragua, encuentra24 guatemala, encuentra24 honduras, encuentra24 el salvador, encuentra24
republica dominicana, central america real estate data, panama real estate scraper, costa rica
real estate scraper, nicaragua property listings, dominican republic property data, guatemala real
estate api, honduras property scraper, el salvador real estate listings, puerto rico property data,
bienes raices panama, bienes raices costa rica, casas en venta panama, casas en venta costa rica,
casas en venta guatemala, casas en venta nicaragua, casas en alquiler panama, apartamentos en venta
panama, apartamentos en alquiler costa rica, terrenos en venta panama, lotes y terrenos
centroamerica, propiedades en venta centroamerica, oficinas en alquiler panama, locales comerciales
en venta, clasificados centroamerica, latam property data, latin america real estate scraper,
central america property api, real estate listings api, property data extraction, rental yield data
central america, price per square meter panama, expat property search costa rica, relocation
property data, real estate lead generation central america, agency listings scraper, property
market analysis latam

# Actor input Schema

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

Property Search returns 20 listings per page from a country's for-sale or rental market. Listing Lookup takes listing URLs or IDs you already hold and fetches each one on its own. Search is the cheaper path and returns the same fields, so pick Lookup only when you have specific listings to refresh.

## `country` (type: `string`):

Which Encuentra24 country section to search. Every option was checked by fetching it on 2026-09-08 and the counts above are what came back. Panama and Costa Rica are the deep markets. Puerto Rico and Colombia are genuine but thin — a few hundred listings each — so expect small result sets there.

## `region` (type: `string`):

Narrows the search to one province, canton or district. Use the region exactly as it appears in the portal's own URL — Costa Rica writes 'san-jose-provincia-escazu', Panama writes 'prov-chiriqui', Guatemala writes 'escuintla-escuintla'. Naming differs by country, so filter on the site and copy the last path segment. Leave empty for the whole country. An unrecognised region returns nothing and is reported — it never silently falls back to the full country.

## `dealType` (type: `string`):

Which side of the market. Across the nine countries the portal carries roughly 90,000 listings for sale and 25,000 to rent. One market per run — the portal keeps them on separate pages.

## `propertyType` (type: `string`):

All seven values were verified to return listings in BOTH markets and in both of the deep countries on 2026-09-08 — none of them is a dead option. 'All property types' reads the market's top-level page and mixes every category together.

## `searchUrls` (type: `array`):

Any Encuentra24 listing-search URL, used exactly as you paste it. This is the way to reach filters the pickers above do not cover — beachfront, farms, islands, rooms, furnished apartments, holiday rentals, or a deep region path. Example: https://www.encuentra24.com/costa-rica-es/bienes-raices-venta-de-propiedades-casas/san-jose-provincia-escazu. When this list has entries the country and type pickers are ignored and these URLs are searched instead.

## `listingUrls` (type: `array`):

Used by Listing Lookup: full Encuentra24 listing URLs, e.g. https://www.encuentra24.com/costa-rica-es/bienes-raices-venta-de-propiedades-casas/casa-en-venta-escazu/32862276. Each one is fetched on its own.

## `listingIds` (type: `array`):

Used by Listing Lookup: the numeric ID at the end of a listing URL, e.g. 32862276. IDs are resolved against the country chosen above, so set the right country when you use this. A listing that no longer exists is reported as unavailable rather than counted as an error.

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

Stop the run once this many listings have been delivered. Listings arrive 20 to a page, so 100 reads five pages. The portal itself goes as deep as 436 pages on Costa Rican houses, and pages that deep were verified to still return full rows.

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

Drop listings priced below this. Encuentra24 quotes in several currencies (USD, Costa Rican colón, Panamanian balboa) and this compares the listing's own number in its own currency, so pair it with the currency filter when mixing markets. The portal has no price filter of its own, so this is applied to the listings the run collects — only listings that pass are delivered, and only delivered listings are charged.

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

Drop listings priced above this. Leave at 0 for no upper limit.

## `currency` (type: `string`):

Keep only listings quoted in one currency. Useful when a price band would otherwise compare colones against dollars. These three are the currencies observed on real rows; a listing in any other currency is dropped when this is set.

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

Drop listings with fewer bedrooms than this. Bedroom counts populated on every row of the sample measured, but a listing that omits one is dropped when this is set above 0.

## `minBathrooms` (type: `integer`):

Drop listings with fewer bathrooms than this. The portal records halves (1.5, 2.5), which are compared as written.

## `minAreaSqm` (type: `integer`):

Drop listings smaller than this built area in square metres. Built area was present on 97% of the rows measured; a listing without one is dropped when this is set above 0.

## `onlyWithCoordinates` (type: `boolean`):

Keep only listings that carry real map coordinates. Worth knowing before you switch this on: 43% of the rows measured had usable coordinates — the portal stores 0/0 for the rest, which this actor reports as empty rather than as a point off the coast of Africa.

## `onlyActive` (type: `boolean`):

Keep only listings the portal still marks as active. On by default; switch it off to include listings that have been taken down but are still served.

## Actor input object example

```json
{
  "operation": "search",
  "country": "panama-es",
  "region": "",
  "dealType": "sale",
  "propertyType": "houses",
  "searchUrls": [],
  "listingUrls": [],
  "listingIds": [],
  "maxItems": 100,
  "minPrice": 0,
  "maxPrice": 0,
  "currency": "any",
  "minBedrooms": 0,
  "minBathrooms": 0,
  "minAreaSqm": 0,
  "onlyWithCoordinates": false,
  "onlyActive": true
}
```

# Actor output Schema

## `encuentra24Listings` (type: `string`):

Every listing this run returned.

## `scrapingSummary` (type: `string`):

HTML summary showing successful and failed results with key metrics

# 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": "search",
    "country": "panama-es",
    "region": "",
    "dealType": "sale",
    "propertyType": "houses",
    "searchUrls": [],
    "listingUrls": [],
    "listingIds": [],
    "maxItems": 100,
    "minPrice": 0,
    "maxPrice": 0,
    "currency": "any",
    "minBedrooms": 0,
    "minBathrooms": 0,
    "minAreaSqm": 0,
    "onlyWithCoordinates": false,
    "onlyActive": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/encuentra24-property-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": "search",
    "country": "panama-es",
    "region": "",
    "dealType": "sale",
    "propertyType": "houses",
    "searchUrls": [],
    "listingUrls": [],
    "listingIds": [],
    "maxItems": 100,
    "minPrice": 0,
    "maxPrice": 0,
    "currency": "any",
    "minBedrooms": 0,
    "minBathrooms": 0,
    "minAreaSqm": 0,
    "onlyWithCoordinates": False,
    "onlyActive": True,
}

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/encuentra24-property-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": "search",
  "country": "panama-es",
  "region": "",
  "dealType": "sale",
  "propertyType": "houses",
  "searchUrls": [],
  "listingUrls": [],
  "listingIds": [],
  "maxItems": 100,
  "minPrice": 0,
  "maxPrice": 0,
  "currency": "any",
  "minBedrooms": 0,
  "minBathrooms": 0,
  "minAreaSqm": 0,
  "onlyWithCoordinates": false,
  "onlyActive": true
}' |
apify call sian.agency/encuentra24-property-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sian.agency/encuentra24-property-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/h2XJVa29zK1Hi6Ngz/builds/CtWDOcTnFJ4qeCDhx/openapi.json
