# Plusvalia Scraper - Ecuador Real Estate Listings & Leads (`scrapers_lat/plusvalia-scraper`) Actor

Scrape Plusvalia.com real estate listings in Ecuador (inmuebles, bienes raices): price, expensas, area, bedrooms, bathrooms, parking, antiquity, neighborhood, coordinates, amenities, agency and agent phone + WhatsApp. Filter venta/alquiler by type, price, rooms, area. Export to JSON, CSV, Excel.

- **URL**: https://apify.com/scrapers_lat/plusvalia-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Real estate, Automation, Developer tools
- **Features:** Limited permissions
- **Stats:** 6 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.15 / 1,000 results

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?

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

[![Plusvalia Scraper - Ecuador Real Estate Listings & Leads](https://scrapers.lat/banners/plusvalia-scraper.png)](https://console.apify.com/actors/hXhtEo26toHmIKXtR/input)

## Plusvalia Scraper - Ecuador Real Estate Listings & Leads

Export every property for sale or rent with price, expensas, area, rooms, location, coordinates, amenities, the agency, and agent phone and WhatsApp.

### Sample output

| Field | Example value |
|---|---|
| `title` | Se Vende Casa Urb. Portal Al Sol 4 Dorm. |
| `price` | 229000 |
| `expensesAmount` | 74 |
| `operationType` | venta |
| `propertyType` | Casas |
| `pricePerM2` | 905.14 |
| `city` | Guayaquil |
| `address` | Urbanización Portal al Sol |

You can test it on a free Apify plan with up to 10 results per run.

Scrape [Plusvalia.com](https://www.plusvalia.com), the number one real estate portal in Ecuador (inmuebles and bienes raices), into clean, structured data. Export every property (aviso) for sale (venta) or rent (alquiler) with price, expensas, area, rooms, location, coordinates, amenities, the agency, and agent phone and WhatsApp. This is the most complete Plusvalia scraper and data API available.

Here is one real result, with every field the actor returns (`description`, `amenities` and `images` trimmed for readability; the actor returns the full values):

```json
{
  "listingId": "150125080",
  "postingCode": "INGRID",
  "title": "Se Vende Casa Urb. Portal Al Sol 4 Dorm.",
  "price": 229000,
  "currency": "USD",
  "expensesAmount": 74,
  "expensesCurrency": "USD",
  "operationType": "venta",
  "operationTypeName": "Venta",
  "propertyType": "Casas",
  "bedrooms": 4,
  "bathrooms": 4,
  "halfBathrooms": 1,
  "totalAreaM2": 253,
  "builtAreaM2": 238,
  "parking": 1,
  "antiquity": "5 a 10 años",
  "pricePerM2": 905.14,
  "neighborhood": "Vía a la Costa",
  "city": "Guayaquil",
  "province": "Guayas",
  "address": "Urbanización Portal al Sol",
  "location": "Vía a la Costa, Guayaquil",
  "latitude": -2.1884348,
  "longitude": -80.0272593,
  "description": "Esta casa es perfecta para ti porque está cerca de todo. La urb. Portal al sol está camino a la playa pero tambien muy cerca a la ciudad. [trimmed]",
  "amenities": ["Jardín", "Cuartos de servicio", "Jacuzzi", "Centros Comerciales Cercanos", "Escuelas Cercanas"],
  "imageUrl": "https://img10.naventcdn.com/avisos/9/01/50/12/50/80/720x532/1611689092.jpg?isFirstImage=true",
  "images": ["https://img10.naventcdn.com/avisos/resize/9/01/50/12/50/80/1200x1200/1611689092.jpg?isFirstImage=true"],
  "publisherName": "Klaere Bienes Raíces",
  "publisherId": "50335957",
  "publisherUrl": "https://www.plusvalia.com/inmobiliarias/klaere-bienes-raices_50335957-inmuebles.html",
  "publisherLogo": "https://img10.naventcdn.com/empresas/9/00/50/33/59/57/130x70/logo_klaere-bienes-raices_1781062732745.jpg",
  "agentPhone": "+593995216220",
  "agentWhatsapp": "+593995216220",
  "isFeatured": true,
  "postingType": "PROPERTY",
  "status": "ONLINE",
  "isReserved": false,
  "hasVideos": false,
  "hasTour": false,
  "hasPlans": false,
  "publishedDate": "2026-07-29T00:00:00-0400",
  "url": "https://www.plusvalia.com/propiedades/clasificado/veclcain-se-vende-casa-urb.-portal-al-sol-4-dorm.-150125080.html",
  "observedAt": "2026-08-26T10:41:17.273Z",
  "error": null
}
```

The most complete Plusvalia scraper available. It returns every field a Plusvalia (plusvalia.com) listing exposes, including price, common fees (expensas), total and covered area, bedrooms, bathrooms, half bathrooms, parking, antiquity, neighborhood, city, province, coordinates, amenities, the full image gallery, the agency with agent phone and WhatsApp, and the publish date. It adds derived `pricePerM2`, and gives you 16 filters to target exactly the inmuebles you need across every Ecuador city.

**[Input](https://apify.com/scrapers_lat/plusvalia-scraper/input-schema) | [Output](https://apify.com/scrapers_lat/plusvalia-scraper/output-schema) | [Pricing](https://apify.com/scrapers_lat/plusvalia-scraper/pricing) | ▶️ [Examples](https://apify.com/scrapers_lat/plusvalia-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Ecuador-blue)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)
![Billing](https://img.shields.io/badge/Billing-Pay%20per%20result-brightgreen)

### Table of contents

- [What it does](#what-it-does)
- [How we compare](#how-we-compare)
- [Use cases](#use-cases)
- [Quickstart](#quickstart)
- [Input reference](#input-reference)
- [Output reference](#output-reference)
- [Example output record](#example-output-record)
- [Run via API and CLI](#run-via-api-and-cli)
- [Fetch results](#fetch-results)
- [Billing and limits](#billing-and-limits)
- [FAQ and troubleshooting](#faq-and-troubleshooting)

### What it does

This is a dedicated scraper and data API for [Plusvalia](https://www.plusvalia.com), the largest real estate portal in Ecuador (bienes raíces, part of the Navent / QuintoAndar group). Give it one or more Plusvalia search or category URLs, or direct listing URLs, and it returns one clean, normalized record per property (aviso) with:

- **Price and expenses:** `price`, `currency`, and the monthly common fees (`expensesAmount`, `expensesCurrency`) when published.
- **Size and rooms:** `totalAreaM2`, `builtAreaM2`, `bedrooms`, `bathrooms`, `halfBathrooms`, `parking`, `antiquity`, plus derived `pricePerM2`.
- **Location:** `neighborhood`, `city`, `province`, `address`, and exact `latitude` / `longitude`.
- **Agency and lead contact:** `publisherName`, `publisherId`, `publisherUrl`, `publisherLogo`, and the agent `agentPhone` and `agentWhatsapp`.
- **Content and flags:** `title`, `description`, `amenities[]`, the full `images[]` gallery, `isFeatured`, `postingType`, `status`, `isReserved`, `hasVideos`, `hasTour`, `hasPlans` and `publishedDate`.

One run can scrape many searches, in Quito, Guayaquil, Cuenca or any other Ecuador city, for sale (venta), rent (alquiler) or temporary rent. Missing source values are returned as `null`, never invented.

### How we compare

Plusvalia is Ecuador's number one property portal, and this is the only Apify actor dedicated to it. The table compares it to the nearest alternatives people try for Ecuador real estate data.

| | Plusvalia Ecuador Scraper (this actor) | [lentic_clockss/properati-scraper](https://apify.com/lentic_clockss/properati-scraper) | Generic real estate scrapers (Zillow, Idealista, Realtor) |
|---|---|---|---|
| Covers Plusvalia (Ecuador #1 portal) | Yes | No (scrapes Properati, a smaller Ecuador portal) | No |
| Ecuador coverage | Full, every city | Partial (Properati EC only) | None |
| Agent phone | Yes | Yes (detail pages) | N/A |
| Agent WhatsApp | Yes | No (login-gated on Properati) | N/A |
| Common fees / expensas | Yes | No | N/A |
| Parking, half baths, covered vs total area, antiquity | Yes | Partial | N/A |
| Neighborhood + province + coordinates | Yes | Coordinates only | N/A |
| Full amenities list + image gallery | Yes | No | N/A |
| Derived price per m2 | Yes | No | N/A |
| Direct listing URLs input | Yes | Yes | Varies |
| Input filters | 16 (operation, type, price, currency, rooms, half baths, area, parking, city, only-properties, sort) | ~6 | Varies |
| Adoption | Public, 100+ runs | 1 user, 0% success rate reported | High (but not Ecuador) |
| Price per result | From $0.008 | From $0.003 | Varies |

Honest notes: the Properati actor is cheaper per result, so if a few hundred Properati Ecuador rows is all you need and you do not need WhatsApp or expenses, it can cost less. This actor wins on portal (Plusvalia carries far more Ecuador inventory than Properati), on lead completeness (agent WhatsApp, agency profile), on financial fields (expenses, price per m2), and on reliability. It does not return agent emails, because Plusvalia does not expose them on public listing pages. For Ecuador coverage through a second portal, our [Properati LATAM scraper](https://apify.com/scrapers_lat/properati-scraper) is complementary.

### Use cases

- **Real estate market research (estudio de mercado inmobiliario):** build a dataset of every departamento or casa in a city with price, area and price per m2 to track supply, medians and trends.
- **Price and inventory monitoring:** re-run a saved search on a schedule to watch new avisos, price drops (`isFeatured`, `publishedDate`) and days on market.
- **Lead generation for agents and agencies:** collect `agentPhone`, `agentWhatsapp` and the `publisher` profile to reach sellers and brokers, or to map the competitive landscape by agency.
- **Investment and valuation analysis:** use `pricePerM2`, `expensesAmount`, `bedrooms`, `bathrooms`, `parking`, `antiquity` and coordinates to score and compare opportunities across neighborhoods.
- **Portal aggregation and enrichment:** feed Plusvalia listings into a CRM, a comparison site or an internal MLS, joined with other LATAM portals.

### Quickstart

Open the actor, paste this into the input, and press Run. It returns apartments for sale in Quito, Pichincha, each with full detail.

```json
{
  "startUrls": ["https://www.plusvalia.com/venta/departamentos/pichincha/quito"],
  "maxListings": 20,
  "withDetails": true
}
```

Apply any filters you like on plusvalia.com first, then paste the resulting URL into `startUrls`. Add filters such as `minPrice`, `minBedrooms`, `minArea`, `onlyWithPrice`, `onlyProperties` or `sort` to narrow and order the results. Turn `withDetails` off for a faster run that still returns the rich listing-level fields (price, area, rooms, location, coordinates, agent WhatsApp, description and images) straight from the search results.

### Input reference

At least one of `startUrls` or `listingUrls` is required. All filters are optional and combine with logical AND.

| Field | Type | Description | Example |
|---|---|---|---|
| `startUrls` | array | Plusvalia search or category URLs. One run can scrape many. | `["https://www.plusvalia.com/venta/casas/guayas/guayaquil"]` |
| `listingUrls` | array | Direct listing (detail) URLs, always fully enriched. | `["https://www.plusvalia.com/propiedades/clasificado/...-150125080.html"]` |
| `startUrl` | string | Single search URL (legacy, still supported). | `https://www.plusvalia.com/venta/departamentos/pichincha/quito` |
| `maxListings` | integer | Max listings to collect across all searches. | `50` |
| `withDetails` | boolean | Fetch each detail page for the complete amenities list and full-resolution gallery. Default `true`. | `true` |
| `operation` | select | Keep only `venta`, `alquiler` or `alquiler-temporal`. | `venta` |
| `propertyType` | string | Keep only types whose name contains this text. | `departamento` |
| `city` | string | Keep only listings whose city/neighborhood/location contains this. | `Cumbaya` |
| `minPrice` / `maxPrice` | integer | Price bounds (listing currency, usually USD). | `40000` / `250000` |
| `currency` | select | Keep only this currency. | `USD` |
| `minBedrooms` / `maxBedrooms` | integer | Bedroom bounds. | `3` |
| `minBathrooms` | integer | Minimum bathrooms. | `2` |
| `minHalfBathrooms` | integer | Minimum half bathrooms (medio baño). | `1` |
| `minArea` / `maxArea` | integer | Total area bounds in m2. | `100` |
| `minParking` | integer | Minimum parking spaces. | `1` |
| `onlyWithPrice` | boolean | Drop listings with no numeric price (some developments). | `true` |
| `onlyProperties` | boolean | Keep only individual properties, drop new-construction developments. | `true` |
| `sort` | select | `relevance`, `priceAsc`, `priceDesc`, `areaDesc`, `pricePerM2Asc`, `newest`. | `priceAsc` |

### Output reference

One dataset item per listing. Types are `string`, `number`, `boolean`, `string[]`, `object` or `null` when the source value is absent.

| Field | Type | Description |
|---|---|---|
| `listingId` | string | Plusvalia listing id (unique). |
| `postingCode` | string | Human-readable posting code / reference. |
| `title` | string | Listing title. |
| `price` | number | Price amount, or `null` when the listing shows "consult price". |
| `currency` | string | Price currency, usually `USD`. |
| `expensesAmount` | number | Monthly common fees (expensas), or `null`. |
| `expensesCurrency` | string | Common fees currency. |
| `operationType` | string | `venta`, `alquiler` or `alquiler-temporal`. |
| `operationTypeName` | string | Operation label as shown on the site. |
| `propertyType` | string | Property type, for example `Casas`, `Departamentos`, `Oficinas`. |
| `bedrooms` | number | Bedrooms, or `null`. |
| `bathrooms` | number | Full bathrooms, or `null`. |
| `halfBathrooms` | number | Half bathrooms / toilets (medio baño), or `null`. |
| `totalAreaM2` | number | Total area (m2). |
| `builtAreaM2` | number | Covered / built area (m2). |
| `parking` | number | Parking spaces. |
| `antiquity` | string | Property age (antigüedad), for example `A estrenar`, `5 a 10 años`. |
| `pricePerM2` | number | Derived price per m2 when price and area are known. |
| `neighborhood` | string | Neighborhood / zone. |
| `city` | string | City. |
| `province` | string | Province. |
| `address` | string | Street address, when the listing makes it public. |
| `location` | string | Neighborhood, city text. |
| `latitude` / `longitude` | number | Exact coordinates. |
| `description` | string | Listing description. |
| `amenities` | string\[] | Amenities and features (full list with `withDetails`). |
| `imageUrl` | string | Primary image URL. |
| `images` | string\[] | Full image gallery URLs. |
| `publisherName` | string | Agency / advertiser name. |
| `publisherId` | string | Agency id. |
| `publisherUrl` | string | Agency profile URL. |
| `publisherLogo` | string | Agency logo URL. |
| `agentPhone` | string | Agent phone number, or `null`. |
| `agentWhatsapp` | string | Agent WhatsApp number, or `null`. |
| `isFeatured` | boolean | Featured / premium listing. |
| `postingType` | string | `PROPERTY` (resale / rental) or `DEVELOPMENT` (new project). |
| `status` | string | Listing status on the portal (for example `ONLINE`). |
| `isReserved` | boolean | Whether the listing is marked reserved. |
| `hasVideos` | boolean | Listing has video. |
| `hasTour` | boolean | Listing has a 3D / virtual tour. |
| `hasPlans` | boolean | Listing has floor plans. |
| `publishedDate` | string | Publish date. |
| `url` | string | Listing URL. |
| `searchUrl` | string | The search URL that produced this record. |
| `publisher` | object | Nested publisher block (kept for backward compatibility). |
| `coordinates` | object | Nested `{lat, lng}` (kept for backward compatibility). |
| `observedAt` | string | ISO 8601 timestamp of collection. |
| `error` | string | `null` on success; populated on a failed record. |

### Example output record

The hero record at the top of this page is a full, real record from a live run of `{"startUrls": ["https://www.plusvalia.com/venta/casas/guayas/guayaquil"], "onlyWithPrice": true, "minBedrooms": 2}`.

### Run via API and CLI

Start a run and read the dataset. Replace `<TOKEN>` with your Apify API token.

Run synchronously and get dataset items in one call:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~plusvalia-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":["https://www.plusvalia.com/venta/departamentos/pichincha/quito"],"maxListings":25}'
```

Start a run asynchronously:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~plusvalia-scraper/runs?token=<TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":["https://www.plusvalia.com/venta/casas/guayas/guayaquil"],"minBedrooms":3,"maxListings":100}'
```

Apify CLI:

```bash
apify call scrapers_lat/plusvalia-scraper \
  --input '{"startUrls":["https://www.plusvalia.com/venta/departamentos/pichincha/quito"],"minArea":120}'
```

### Fetch results

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

```bash
## 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. `clean=true` drops empty and internal fields.

### Billing and limits

- **Pay per result.** You are charged per listing returned (`result` event). With `withDetails` on, a successful per-listing detail fetch also charges the `details` event for paying users. See the [pricing tab](https://apify.com/scrapers_lat/plusvalia-scraper/pricing) for current prices.
- **No charge on failure.** If a listing or page errors, the actor writes an 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 results.
- **Free Apify plans** are capped at 10 listings per run. Upgrade for higher `maxListings`.

### FAQ and troubleshooting

**Is there a Plusvalia API?**
Plusvalia does not offer a public data API. This actor gives you the same data in structured JSON, CSV or Excel, filterable and ready for analysis.

**A run returned 0 records. Why?**
The search URL had no results, or your filters excluded everything. Open the URL in a browser to confirm it lists properties, and loosen the filters (for example turn off `onlyWithPrice`). Zero-result runs are not charged.

**How do I control which properties are scraped?**
Apply your filters on plusvalia.com (operation, location, property type, price), copy the resulting URL into `startUrls`, and optionally add this actor's own filters on top. You can also pass exact `listingUrls`.

**Why is `price` null on some listings?**
Some development projects and listings display "consult price" instead of a number, so `price` and `pricePerM2` are `null`. Use `onlyWithPrice: true` to drop them.

**Do I get the agent's contact details?**
Yes. `agentPhone` and `agentWhatsapp`, plus the agency `publisher` profile, are returned when Plusvalia exposes them. Emails are not returned, because Plusvalia does not publish agent emails on listing pages.

**How fast is it, and do I need a proxy?**
Fast. Most fields come straight from the search results, so a run of dozens of listings finishes in seconds. Anti-bot handling and proxies are fully internal; you never configure anything.

**Is this an official Plusvalia tool?**
No. This actor is independent and not affiliated with Plusvalia or Navent. It reads only data that is publicly available on Plusvalia listings.

### Related scrapers

- [Properati Scraper (LATAM)](https://apify.com/scrapers_lat/properati-scraper): real estate listings across Colombia, Argentina, Peru and Ecuador.
- [Adondevivir Scraper](https://apify.com/scrapers_lat/adondevivir-scraper): real estate listings in Peru.
- [Fincaraiz Scraper](https://apify.com/scrapers_lat/fincaraiz-scraper): real estate listings in Colombia.
- [Inmuebles24 Scraper](https://apify.com/scrapers_lat/inmuebles24-scraper): real estate listings in Mexico.
- [CompreOAlquile Scraper](https://apify.com/scrapers_lat/compreoalquile-scraper): real estate listings in Panama.
- [Urbania Scraper](https://apify.com/scrapers_lat/urbania-scraper): real estate listings in Peru.

### More scrapers at scrapers.lat

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

***

> Independent tool, not affiliated with Plusvalia or Navent. Accesses only publicly available listing data.

***

## Plusvalia Scraper - Inmuebles y Contactos de Bienes Raíces en Ecuador

Extrae datos de [Plusvalia.com](https://www.plusvalia.com), el portal inmobiliario número uno de Ecuador (inmuebles y bienes raíces), en formato limpio y estructurado. Exporta cada propiedad (aviso) en venta o alquiler con precio, expensas, área, ambientes, ubicación, coordenadas, comodidades, la agencia, y el teléfono y WhatsApp del asesor. Este es el scraper y la API de datos de Plusvalia más completa disponible.

Aquí tienes un resultado real, con todos los campos que devuelve el actor (`description`, `amenities` e `images` recortados para facilitar la lectura; el actor devuelve los valores completos):

```json
{
  "listingId": "150125080",
  "postingCode": "INGRID",
  "title": "Se Vende Casa Urb. Portal Al Sol 4 Dorm.",
  "price": 229000,
  "currency": "USD",
  "expensesAmount": 74,
  "expensesCurrency": "USD",
  "operationType": "venta",
  "operationTypeName": "Venta",
  "propertyType": "Casas",
  "bedrooms": 4,
  "bathrooms": 4,
  "halfBathrooms": 1,
  "totalAreaM2": 253,
  "builtAreaM2": 238,
  "parking": 1,
  "antiquity": "5 a 10 años",
  "pricePerM2": 905.14,
  "neighborhood": "Vía a la Costa",
  "city": "Guayaquil",
  "province": "Guayas",
  "address": "Urbanización Portal al Sol",
  "location": "Vía a la Costa, Guayaquil",
  "latitude": -2.1884348,
  "longitude": -80.0272593,
  "description": "Esta casa es perfecta para ti porque está cerca de todo. La urb. Portal al sol está camino a la playa pero tambien muy cerca a la ciudad. [recortado]",
  "amenities": ["Jardín", "Cuartos de servicio", "Jacuzzi", "Centros Comerciales Cercanos", "Escuelas Cercanas"],
  "imageUrl": "https://img10.naventcdn.com/avisos/9/01/50/12/50/80/720x532/1611689092.jpg?isFirstImage=true",
  "images": ["https://img10.naventcdn.com/avisos/resize/9/01/50/12/50/80/1200x1200/1611689092.jpg?isFirstImage=true"],
  "publisherName": "Klaere Bienes Raíces",
  "publisherId": "50335957",
  "publisherUrl": "https://www.plusvalia.com/inmobiliarias/klaere-bienes-raices_50335957-inmuebles.html",
  "publisherLogo": "https://img10.naventcdn.com/empresas/9/00/50/33/59/57/130x70/logo_klaere-bienes-raices_1781062732745.jpg",
  "agentPhone": "+593995216220",
  "agentWhatsapp": "+593995216220",
  "isFeatured": true,
  "postingType": "PROPERTY",
  "status": "ONLINE",
  "isReserved": false,
  "hasVideos": false,
  "hasTour": false,
  "hasPlans": false,
  "publishedDate": "2026-07-29T00:00:00-0400",
  "url": "https://www.plusvalia.com/propiedades/clasificado/veclcain-se-vende-casa-urb.-portal-al-sol-4-dorm.-150125080.html",
  "observedAt": "2026-08-26T10:41:17.273Z",
  "error": null
}
```

El scraper de Plusvalia más completo disponible. Devuelve todos los campos que expone un aviso de Plusvalia (plusvalia.com), incluidos precio, expensas, área total y cubierta, dormitorios, baños, medios baños, estacionamientos, antigüedad, barrio, ciudad, provincia, coordenadas, comodidades, la galería de imágenes completa, la agencia con teléfono y WhatsApp del asesor, y la fecha de publicación. Agrega el `pricePerM2` derivado, y te da 16 filtros para apuntar exactamente a los inmuebles que necesitas en cualquier ciudad de Ecuador.

**[Entrada](https://apify.com/scrapers_lat/plusvalia-scraper/input-schema) | [Salida](https://apify.com/scrapers_lat/plusvalia-scraper/output-schema) | [Precios](https://apify.com/scrapers_lat/plusvalia-scraper/pricing) | ▶️ [Ejemplos](https://apify.com/scrapers_lat/plusvalia-scraper/examples)**

### Tabla de contenidos

- [Qué hace](#qué-hace)
- [Cómo nos comparamos](#cómo-nos-comparamos)
- [Casos de uso](#casos-de-uso)
- [Inicio rápido](#inicio-rápido)
- [Referencia de entrada](#referencia-de-entrada)
- [Referencia de salida](#referencia-de-salida)
- [Registro de ejemplo](#registro-de-ejemplo)
- [Ejecutar por API y CLI](#ejecutar-por-api-y-cli)
- [Obtener resultados](#obtener-resultados)
- [Facturación y límites](#facturación-y-límites)
- [Preguntas frecuentes](#preguntas-frecuentes)

### Qué hace

Este es un scraper y una API de datos dedicada a [Plusvalia](https://www.plusvalia.com), el portal inmobiliario más grande de Ecuador (bienes raíces, parte del grupo Navent / QuintoAndar). Dale una o varias URLs de búsqueda o categoría de Plusvalia, o URLs de avisos directos, y devuelve un registro limpio y normalizado por propiedad (aviso) con:

- **Precio y expensas:** `price`, `currency`, y las expensas o alícuota mensual (`expensesAmount`, `expensesCurrency`) cuando están publicadas.
- **Tamaño y ambientes:** `totalAreaM2`, `builtAreaM2`, `bedrooms`, `bathrooms`, `halfBathrooms`, `parking`, `antiquity`, más el `pricePerM2` derivado.
- **Ubicación:** `neighborhood` (barrio), `city` (ciudad), `province` (provincia), `address`, y las coordenadas exactas `latitude` / `longitude`.
- **Agencia y contacto del asesor:** `publisherName`, `publisherId`, `publisherUrl`, `publisherLogo`, y el `agentPhone` y `agentWhatsapp` del asesor.
- **Contenido y banderas:** `title`, `description`, `amenities[]`, la galería completa `images[]`, `isFeatured`, `postingType`, `status`, `isReserved`, `hasVideos`, `hasTour`, `hasPlans` y `publishedDate`.

Una sola ejecución puede recorrer muchas búsquedas, en Quito, Guayaquil, Cuenca o cualquier otra ciudad de Ecuador, en venta, alquiler (arriendo) o alquiler temporal. Los valores ausentes en la fuente se devuelven como `null`, nunca se inventan.

### Cómo nos comparamos

Plusvalia es el portal inmobiliario número uno de Ecuador, y este es el único actor de Apify dedicado a él. La tabla lo compara con las alternativas más cercanas que la gente prueba para datos inmobiliarios de Ecuador.

| | Scraper Plusvalia Ecuador (este actor) | [lentic_clockss/properati-scraper](https://apify.com/lentic_clockss/properati-scraper) | Scrapers inmobiliarios genéricos (Zillow, Idealista, Realtor) |
|---|---|---|---|
| Cubre Plusvalia (portal #1 de Ecuador) | Sí | No (extrae Properati, un portal más pequeño de Ecuador) | No |
| Cobertura de Ecuador | Total, todas las ciudades | Parcial (Properati EC solamente) | Ninguna |
| Teléfono del asesor | Sí | Sí (páginas de detalle) | N/D |
| WhatsApp del asesor | Sí | No (requiere login en Properati) | N/D |
| Expensas / alícuota | Sí | No | N/D |
| Estacionamiento, medios baños, área cubierta vs total, antigüedad | Sí | Parcial | N/D |
| Barrio + provincia + coordenadas | Sí | Solo coordenadas | N/D |
| Lista completa de comodidades + galería | Sí | No | N/D |
| Precio por m2 derivado | Sí | No | N/D |
| Entrada de URLs de avisos directos | Sí | Sí | Varía |
| Filtros de entrada | 16 (operación, tipo, precio, moneda, ambientes, medios baños, área, estacionamiento, ciudad, solo-propiedades, orden) | ~6 | Varía |
| Adopción | Público, más de 100 ejecuciones | 1 usuario, 0% de éxito reportado | Alta (pero no Ecuador) |
| Precio por resultado | Desde $0.008 | Desde $0.003 | Varía |

Notas honestas: el actor de Properati es más barato por resultado, así que si solo necesitas unos cientos de filas de Properati Ecuador y no necesitas WhatsApp ni expensas, puede costar menos. Este actor gana en portal (Plusvalia tiene mucho más inventario de Ecuador que Properati), en integridad de contactos (WhatsApp del asesor, perfil de la agencia), en campos financieros (expensas, precio por m2) y en fiabilidad. No devuelve correos de los asesores, porque Plusvalia no los expone en las páginas públicas de avisos. Para cobertura de Ecuador a través de un segundo portal, nuestro [scraper de Properati LATAM](https://apify.com/scrapers_lat/properati-scraper) es complementario.

### Casos de uso

- **Estudio de mercado inmobiliario:** arma una base de datos de cada departamento o casa de una ciudad con precio, área y precio por m2 para seguir la oferta, las medianas y las tendencias.
- **Monitoreo de precios e inventario:** vuelve a ejecutar una búsqueda guardada de forma programada para vigilar nuevos avisos, bajas de precio (`isFeatured`, `publishedDate`) y días en el mercado.
- **Generación de leads para asesores y agencias:** recopila `agentPhone`, `agentWhatsapp` y el perfil del `publisher` para contactar a vendedores y corredores, o para mapear la competencia por agencia.
- **Análisis de inversión y valuación:** usa `pricePerM2`, `expensesAmount`, `bedrooms`, `bathrooms`, `parking`, `antiquity` y las coordenadas para puntuar y comparar oportunidades entre barrios.
- **Agregación y enriquecimiento de portales:** alimenta los avisos de Plusvalia a un CRM, un sitio comparador o un MLS interno, combinados con otros portales de LATAM.

### Inicio rápido

Abre el actor, pega esto en la entrada y presiona Ejecutar. Devuelve departamentos en venta en Quito, Pichincha, cada uno con el detalle completo.

```json
{
  "startUrls": ["https://www.plusvalia.com/venta/departamentos/pichincha/quito"],
  "maxListings": 20,
  "withDetails": true
}
```

Aplica primero los filtros que quieras en plusvalia.com, luego pega la URL resultante en `startUrls`. Agrega filtros como `minPrice`, `minBedrooms`, `minArea`, `onlyWithPrice`, `onlyProperties` o `sort` para acotar y ordenar los resultados. Desactiva `withDetails` para una ejecución más rápida que igual devuelve los campos ricos a nivel de aviso (precio, área, ambientes, ubicación, coordenadas, WhatsApp del asesor, descripción e imágenes) directamente desde los resultados de búsqueda.

### Referencia de entrada

Se requiere al menos uno de `startUrls` o `listingUrls`. Todos los filtros son opcionales y se combinan con Y lógico.

| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| `startUrls` | array | URLs de búsqueda o categoría de Plusvalia. Una ejecución puede recorrer muchas. | `["https://www.plusvalia.com/venta/casas/guayas/guayaquil"]` |
| `listingUrls` | array | URLs de avisos (detalle) directos, siempre enriquecidos por completo. | `["https://www.plusvalia.com/propiedades/clasificado/...-150125080.html"]` |
| `startUrl` | string | URL de búsqueda única (heredada, aún soportada). | `https://www.plusvalia.com/venta/departamentos/pichincha/quito` |
| `maxListings` | integer | Máximo de avisos a recolectar en todas las búsquedas. | `50` |
| `withDetails` | boolean | Descarga cada página de detalle para la lista completa de comodidades y la galería en alta resolución. Por defecto `true`. | `true` |
| `operation` | select | Conserva solo `venta`, `alquiler` o `alquiler-temporal`. | `venta` |
| `propertyType` | string | Conserva solo tipos cuyo nombre contenga este texto. | `departamento` |
| `city` | string | Conserva solo avisos cuya ciudad/barrio/ubicación contenga este valor. | `Cumbaya` |
| `minPrice` / `maxPrice` | integer | Límites de precio (moneda del aviso, normalmente USD). | `40000` / `250000` |
| `currency` | select | Conserva solo esta moneda. | `USD` |
| `minBedrooms` / `maxBedrooms` | integer | Límites de dormitorios. | `3` |
| `minBathrooms` | integer | Baños mínimos. | `2` |
| `minHalfBathrooms` | integer | Medios baños mínimos. | `1` |
| `minArea` / `maxArea` | integer | Límites de área total en m2. | `100` |
| `minParking` | integer | Estacionamientos mínimos. | `1` |
| `onlyWithPrice` | boolean | Descarta avisos sin precio numérico (algunos proyectos). | `true` |
| `onlyProperties` | boolean | Conserva solo propiedades individuales, descarta proyectos de obra nueva. | `true` |
| `sort` | select | `relevance`, `priceAsc`, `priceDesc`, `areaDesc`, `pricePerM2Asc`, `newest`. | `priceAsc` |

### Referencia de salida

Un elemento del dataset por aviso. Los tipos son `string`, `number`, `boolean`, `string[]`, `object` o `null` cuando el valor de origen está ausente.

| Campo | Tipo | Descripción |
|---|---|---|
| `listingId` | string | Id del aviso de Plusvalia (único). |
| `postingCode` | string | Código / referencia legible del aviso. |
| `title` | string | Título del aviso. |
| `price` | number | Monto del precio, o `null` cuando el aviso muestra "consultar precio". |
| `currency` | string | Moneda del precio, normalmente `USD`. |
| `expensesAmount` | number | Expensas mensuales, o `null`. |
| `expensesCurrency` | string | Moneda de las expensas. |
| `operationType` | string | `venta`, `alquiler` o `alquiler-temporal`. |
| `operationTypeName` | string | Etiqueta de operación como se muestra en el sitio. |
| `propertyType` | string | Tipo de propiedad, por ejemplo `Casas`, `Departamentos`, `Oficinas`. |
| `bedrooms` | number | Dormitorios, o `null`. |
| `bathrooms` | number | Baños completos, o `null`. |
| `halfBathrooms` | number | Medios baños, o `null`. |
| `totalAreaM2` | number | Área total (m2). |
| `builtAreaM2` | number | Área cubierta / construida (m2). |
| `parking` | number | Estacionamientos. |
| `antiquity` | string | Antigüedad de la propiedad, por ejemplo `A estrenar`, `5 a 10 años`. |
| `pricePerM2` | number | Precio por m2 derivado cuando se conocen precio y área. |
| `neighborhood` | string | Barrio / zona. |
| `city` | string | Ciudad. |
| `province` | string | Provincia. |
| `address` | string | Dirección, cuando el aviso la hace pública. |
| `location` | string | Texto de barrio, ciudad. |
| `latitude` / `longitude` | number | Coordenadas exactas. |
| `description` | string | Descripción del aviso. |
| `amenities` | string\[] | Comodidades y características (lista completa con `withDetails`). |
| `imageUrl` | string | URL de la imagen principal. |
| `images` | string\[] | URLs de la galería completa. |
| `publisherName` | string | Nombre de la agencia / anunciante. |
| `publisherId` | string | Id de la agencia. |
| `publisherUrl` | string | URL del perfil de la agencia. |
| `publisherLogo` | string | URL del logo de la agencia. |
| `agentPhone` | string | Teléfono del asesor, o `null`. |
| `agentWhatsapp` | string | WhatsApp del asesor, o `null`. |
| `isFeatured` | boolean | Aviso destacado / premium. |
| `postingType` | string | `PROPERTY` (reventa / alquiler) o `DEVELOPMENT` (proyecto nuevo). |
| `status` | string | Estado del aviso en el portal (por ejemplo `ONLINE`). |
| `isReserved` | boolean | Si el aviso está marcado como reservado. |
| `hasVideos` | boolean | El aviso tiene video. |
| `hasTour` | boolean | El aviso tiene recorrido 3D / virtual. |
| `hasPlans` | boolean | El aviso tiene planos. |
| `publishedDate` | string | Fecha de publicación. |
| `url` | string | URL del aviso. |
| `searchUrl` | string | La URL de búsqueda que produjo este registro. |
| `publisher` | object | Bloque anidado de la agencia (por compatibilidad). |
| `coordinates` | object | `{lat, lng}` anidado (por compatibilidad). |
| `observedAt` | string | Marca de tiempo ISO 8601 de la recolección. |
| `error` | string | `null` en caso de éxito; con valor en un registro fallido. |

### Registro de ejemplo

El registro destacado al inicio de esta página es un registro real y completo de una ejecución en vivo de `{"startUrls": ["https://www.plusvalia.com/venta/casas/guayas/guayaquil"], "onlyWithPrice": true, "minBedrooms": 2}`.

### Ejecutar por API y CLI

Inicia una ejecución y lee el dataset. Reemplaza `<TOKEN>` con tu token de API de Apify.

Ejecuta de forma síncrona y obtén los elementos del dataset en una sola llamada:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~plusvalia-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":["https://www.plusvalia.com/venta/departamentos/pichincha/quito"],"maxListings":25}'
```

Inicia una ejecución de forma asíncrona:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~plusvalia-scraper/runs?token=<TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":["https://www.plusvalia.com/venta/casas/guayas/guayaquil"],"minBedrooms":3,"maxListings":100}'
```

Apify CLI:

```bash
apify call scrapers_lat/plusvalia-scraper \
  --input '{"startUrls":["https://www.plusvalia.com/venta/departamentos/pichincha/quito"],"minArea":120}'
```

### Obtener resultados

Cada ejecución escribe en un dataset. Obtén los elementos como JSON, CSV o Excel cambiando `format`:

```bash
## 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"

## Paginar datasets grandes
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
```

`<DATASET_ID>` se devuelve como `defaultDatasetId` en el objeto de la ejecución. `clean=true` elimina los campos vacíos e internos.

### Facturación y límites

- **Pago por resultado.** Se cobra por aviso devuelto (evento `result`). Con `withDetails` activado, una descarga de detalle exitosa por aviso también cobra el evento `details` a usuarios de pago. Consulta la [pestaña de precios](https://apify.com/scrapers_lat/plusvalia-scraper/pricing) para los precios vigentes.
- **Sin cargo en caso de fallo.** Si un aviso o página falla, el actor escribe un elemento con el campo `error` poblado y no cobra por él. Las ejecuciones vacías no cuestan nada.
- **Se respeta el tope de gasto.** Configura `maxTotalChargeUsd` en la ejecución; una vez alcanzado, el actor deja de emitir y cobrar más resultados.
- **Los planes gratuitos de Apify** están limitados a 10 avisos por ejecución. Mejora tu plan para un `maxListings` mayor.

### Preguntas frecuentes

**¿Existe una API de Plusvalia?**
Plusvalia no ofrece una API pública de datos. Este actor te da los mismos datos en JSON, CSV o Excel estructurado, filtrable y listo para analizar.

**Una ejecución devolvió 0 registros. ¿Por qué?**
La URL de búsqueda no tenía resultados, o tus filtros excluyeron todo. Abre la URL en un navegador para confirmar que lista propiedades, y afloja los filtros (por ejemplo desactiva `onlyWithPrice`). Las ejecuciones con cero resultados no se cobran.

**¿Cómo controlo qué propiedades se extraen?**
Aplica tus filtros en plusvalia.com (operación, ubicación, tipo de propiedad, precio), copia la URL resultante en `startUrls`, y opcionalmente agrega los filtros propios de este actor. También puedes pasar `listingUrls` exactas.

**¿Por qué `price` es null en algunos avisos?**
Algunos proyectos y avisos muestran "consultar precio" en vez de un número, por lo que `price` y `pricePerM2` son `null`. Usa `onlyWithPrice: true` para descartarlos.

**¿Obtengo los datos de contacto del asesor?**
Sí. `agentPhone` y `agentWhatsapp`, más el perfil de la agencia `publisher`, se devuelven cuando Plusvalia los expone. No se devuelven correos, porque Plusvalia no publica los correos de los asesores en las páginas de avisos.

**¿Qué tan rápido es, y necesito un proxy?**
Rápido. La mayoría de los campos vienen directamente de los resultados de búsqueda, así que una ejecución de decenas de avisos termina en segundos. El manejo anti-bot y los proxies son completamente internos; no configuras nada.

**¿Es esta una herramienta oficial de Plusvalia?**
No. Este actor es independiente y no está afiliado a Plusvalia ni a Navent. Solo lee datos que están disponibles públicamente en los avisos de Plusvalia.

***

> Herramienta independiente, no afiliada a Plusvalia ni a Navent. Accede solo a datos de avisos disponibles públicamente.

# Actor input Schema

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

One or more Plusvalia.com search or category result URLs. Apply any filters on plusvalia.com and paste the resulting URLs, for example https://www.plusvalia.com/venta/departamentos/pichincha/quito . One run can scrape many searches.

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

Optional. Specific Plusvalia.com listing (detail) URLs to scrape directly. Each is always fetched with full detail (amenities, gallery, agent contact, coordinates).

## `startUrl` (type: `string`):

Optional single search URL. Kept for backward compatibility; prefer the Search / category URLs list above.

## `maxListings` (type: `integer`):

Maximum number of property listings to collect across all search URLs.

## `withDetails` (type: `boolean`):

When on, each listing's detail page is fetched to add the complete amenity list, full-resolution image gallery and any missing fields. Turn off for a faster run that still returns the rich listing-level fields (price, area, rooms, location, coordinates, agent WhatsApp, description and images) straight from the search results.

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

Optional. Keep only listings for this operation.

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

Optional. Keep only listings whose property type contains this text (case-insensitive), for example departamento, casa, terreno, oficina, local, suite, bodega.

## `city` (type: `string`):

Optional. Keep only listings whose city, neighborhood or location text contains this value (case-insensitive), for example Quito, Guayaquil, Cumbaya, Samborondon.

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

Optional. Only return listings priced at or above this amount (listing currency, usually USD).

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

Optional. Only return listings priced at or below this amount.

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

Optional. Only return listings priced in this currency (Ecuador uses USD).

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

Optional. Only return listings with at least this many bedrooms.

## `maxBedrooms` (type: `integer`):

Optional. Only return listings with at most this many bedrooms.

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

Optional. Only return listings with at least this many bathrooms.

## `minArea` (type: `integer`):

Optional. Only return listings with at least this much total area in square meters.

## `maxArea` (type: `integer`):

Optional. Only return listings with at most this much total area in square meters.

## `minParking` (type: `integer`):

Optional. Only return listings with at least this many parking spaces.

## `onlyWithPrice` (type: `boolean`):

Optional. When on, drop listings that show 'consult price' (no numeric price), such as some development projects.

## `onlyProperties` (type: `boolean`):

Optional. When on, keep only individual resale/rental properties and drop new-construction development projects (proyectos / desarrollos verticales).

## `minHalfBathrooms` (type: `integer`):

Optional. Only return listings with at least this many half bathrooms (medio bano / toilets).

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

Optional. Sort the collected results. 'Relevance' keeps the site order. Other options sort the returned set by price, area, price per m2 or publish date.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.plusvalia.com/venta/departamentos/pichincha/quito"
  ],
  "maxListings": 20,
  "withDetails": true,
  "operation": "",
  "currency": "",
  "onlyWithPrice": false,
  "onlyProperties": false,
  "sort": "relevance"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "startUrls": [
        "https://www.plusvalia.com/venta/departamentos/pichincha/quito"
    ],
    "maxListings": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/plusvalia-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 = {
    "startUrls": ["https://www.plusvalia.com/venta/departamentos/pichincha/quito"],
    "maxListings": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/plusvalia-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 '{
  "startUrls": [
    "https://www.plusvalia.com/venta/departamentos/pichincha/quito"
  ],
  "maxListings": 20
}' |
apify call scrapers_lat/plusvalia-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/plusvalia-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/hXhtEo26toHmIKXtR/builds/g1iK5ySfLMhBed1iw/openapi.json
