# Inmuebles24 Scraper | $1.5 / 1k | Fast & Reliable (`fatihtahta/inmuebles24-scraper`) Actor

Extract structured Mexico property listings from Inmuebles24 with pricing data, seller details, medias, and property attributes and more. Built for enterprise-grade real estate intelligence, lead enrichment, market analysis, and automated data pipelines.

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

## Pricing

from $1.50 / 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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Inmuebles24 Scraper

**Slug:** `fatihtahta/inmuebles24-scraper`

### Overview

Inmuebles24 Scraper collects structured real estate listing records from [Inmuebles24](https://www.inmuebles24.com), including listing identity, title, description, price, location, property type, seller information, publication details, media availability, and source URLs. Inmuebles24 is one of Mexico's major real estate marketplaces, making its public listing data useful for understanding supply, pricing, geography, and inventory movement across local property markets. The actor turns repeatable searches into normalized JSON records that can be used in analytics, enrichment, monitoring, and operational reporting workflows. It is designed for consistent recurring data acquisition, so teams can run the same collection scope over time and compare results without manually rebuilding datasets. Output is structured for automation and downstream systems while reflecting the public data available at run time.

### Why Use This Actor

- **Market research and analytics teams:** build repeatable market intelligence datasets for pricing, supply, availability, property categories, and geographic coverage.
- **Product and content teams:** populate property discovery experiences, comparison tools, editorial research, or internal catalogs with normalized listing attributes.
- **Developers and data engineering teams:** feed structured extraction results into downstream systems, warehouses, enrichment pipelines, and operational reporting jobs.
- **Lead generation and enrichment teams:** identify public listings, publishers, locations, property characteristics, and contact-ready records for qualification workflows.
- **Monitoring and competitive tracking teams:** schedule recurring data acquisition to observe listing changes, publication recency, price movement, and segment-level inventory shifts.

### Common Use Cases

- **Market intelligence:** monitor supply, pricing, availability, property types, publication recency, locations, and category movement across Mexican real estate markets.
- **Lead generation:** build targeted prospect lists from public property listings, publisher profiles, and direct-owner or agency inventory.
- **Competitive monitoring:** track listing volume, pricing posture, rich-media usage, and new inventory across selected cities, neighborhoods, or seller categories.
- **Catalog and directory building:** populate internal databases with structured public real estate records and source links.
- **Data enrichment:** add current public listing attributes, seller details, media indicators, and location metadata to CRM, BI, or analytics datasets.
- **Recurring reporting:** schedule periodic runs for dashboards, alerts, trend analysis, and operational review.

### Quick Start

1. Choose one or more `location` values to define the geographic scope.
2. Select the relevant `deal_type`, `property_type`, price, area, publication date, or seller filters for your use case.
3. Set a small `limit` for the first validation run.
4. Run the actor in Apify Console.
5. Inspect the first dataset records to confirm the output shape, identifiers, and key fields match your workflow.
6. Increase coverage, broaden or narrow filters, and schedule the actor once the output is verified.

### Input Parameters

Configure the available filters below to define the collection scope.

| Parameter | Type | Description | Default |
| --- | --- | --- | --- |
| `location` | array of strings | One or more Mexican cities, neighborhoods, municipalities, or states to collect from, such as `benito juarez` or `ciudad de mexico`. More specific locations usually produce more focused results. | – |
| `deal_type` | string | Transaction category. Allowed values: `all`, `rent`, `buy`, `foreclosure`, `short_term`, `new_development`, `lease_transfer`. | `all` |
| `sort_by` | string | Result ordering. Allowed values: `most_relevant`, `lowest_price`, `newest`, `highest_price`, `most_viewed`, `price_reduced`, `top_sellers`. | `most_relevant` |
| `seller_type` | string | Limits results by publisher type. Allowed values: `real_estate_agency`, `direct_listing`. Leave empty to include both where available. | – |
| `multimedia` | array of strings | Requires selected media types. Allowed values: `360_tour`, `video`, `floor_plan`. | – |
| `view` | string | Property exposure filter. Allowed values: `front_facing`, `interior_facing`. | – |
| `building_age` | string | Property age or construction stage. Allowed values: `under_construction`, `brand_new`, `up_to_5_years`, `up_to_10_years`, `up_to_20_years`, `up_to_50_years`, `over_50_years`. | – |
| `publication_date` | string | Publication freshness window. Allowed values: `since_yesterday`, `today`, `last_week`, `last_15_days`, `last_30_days`, `last_45_days`. | – |
| `property_type` | array of strings | Property categories to include. Allowed values: `apartment`, `house`, `land_lot`, `condo_house`, `commercial_space`, `commercial_warehouse`, `zoned_property`, `shared_apartment`, `horizontal_development`, `mixed_development`, `vertical_development`, `duplex`, `building`, `orchard`, `urban_income_property`, `mall_retail_unit`, `industrial_warehouse`, `office`, `country_house`, `ranch`, `commercial_land`, `industrial_land`, `villa`. | – |
| `min_bedroom` | string | Minimum bedroom count. Allowed values: `1`, `2`, `3`, `4`, `5`. | – |
| `max_bedroom` | string | Maximum bedroom count. Allowed values: `1`, `2`, `3`, `4`, `5`. | – |
| `min_bathroom` | string | Minimum bathroom count. Allowed values: `1`, `2`, `3`, `4`, `5`. | – |
| `min_parking` | string | Parking requirement. `0` means listings with no parking spaces only; `1`, `2`, `3`, and `4` mean at least that many spaces. | – |
| `min_price` | integer | Minimum listing price. Currency follows the listing data returned by Inmuebles24, commonly Mexican pesos where shown as `MN`. Must be `0` or greater. | – |
| `max_price` | integer | Maximum listing price. Currency follows the listing data returned by Inmuebles24, commonly Mexican pesos where shown as `MN`. Must be `0` or greater. | – |
| `min_building_area` | integer | Minimum built or covered area in square meters. Must be `0` or greater. | – |
| `max_building_area` | integer | Maximum built or covered area in square meters. Must be `0` or greater. | – |
| `min_land_area` | integer | Minimum land or lot area in square meters. Must be `0` or greater. | – |
| `max_land_area` | integer | Maximum land or lot area in square meters. Must be `0` or greater. | – |
| `limit` | integer | Maximum number of listings to save per location. Leave empty to collect all matching listings the actor can reach. Must be `1` or greater. | – |

### Choosing Inputs

Use `location` as the primary scope control, then add filters only when they match a clear business question. Narrower filters such as `deal_type`, `property_type`, `seller_type`, `publication_date`, price range, area range, bedrooms, bathrooms, parking, media requirements, and building age produce more targeted datasets; broader filters improve discovery and make it easier to understand the full market surface. `sort_by` affects which matching listings are prioritized first, which is useful when validating a segment or collecting a limited sample. Start with a small `limit` to confirm output quality, then increase it after checking that the dataset contains the records and fields your workflow needs.

### Example Inputs

#### Recently Posted Rental Monitoring

```json
{
  "location": ["ciudad de mexico"],
  "deal_type": "rent",
  "property_type": ["apartment"],
  "publication_date": "last_week",
  "sort_by": "newest",
  "limit": 50
}
````

#### Targeted Buyer Market Analysis

```json
{
  "location": ["benito juarez"],
  "deal_type": "buy",
  "property_type": ["apartment", "condo_house"],
  "min_price": 2500000,
  "max_price": 7000000,
  "min_bedroom": "2",
  "limit": 75
}
```

#### Broad Discovery With Rich Media

```json
{
  "location": ["queretaro"],
  "deal_type": "all",
  "multimedia": ["video", "floor_plan"],
  "sort_by": "most_relevant",
  "seller_type": "real_estate_agency",
  "limit": 100
}
```

### Output

#### Output destination

The actor writes results to an Apify dataset as JSON records. The dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs without post-processing.

Each item contains a stable record envelope plus a type-specific payload when the output has multiple entity types.

#### Record envelope (all items)

All records include the following stable envelope fields:

- **type** *(string, required)*: record type, such as `listing`.
- **id** *(number, required)*: source listing identifier.
- **url** *(string, required)*: canonical public listing URL.

Recommended idempotency key: `type + ":" + id`.

Use this key for deduplication and upserts when syncing records into databases, warehouses, CRMs, or search indexes. The envelope makes records easier to merge, deduplicate, and sync across repeated runs.

#### Examples

##### Example: listing (`type = "listing"`)

```json
{
  "type": "listing",
  "id": 141933064,
  "url": "https://www.inmuebles24.com/propiedades/desarrollo/ememvein-ri-a-bosques-renta-y-estrena-nuestros-depas.-loft-1-141933064.html",
  "posting_code": "Renta",
  "title": "Riğa Bosques Renta y Estrena Nuestros Depas. (Loft, 1 y 2 Recámaras)",
  "generated_title": "Desarrollo vertical",
  "description": "Renta sin Aval en 24 horas. Proceso ágil y flexible. / Lease without guarantor with agile and flexible processes in 24 hours. Opción de departamentos amueblados por Bo-Concept. / Furnished apartments by Bo-Concept available. Todos los departamentos incluyen electrodomésticos. (microondas, lava-secadora, Refrigerador, estufa con horno, lavavajillas) persianas / canceles. All apartments include appliances. (microwave, washer-dryer, refrigerator, stove with oven, dishwasher) blinds / gates. ! estrena depa en la Torre mas emblemática de la cdmx! Brand new apartments just released to the market in the most iconic tower in cdmx. Departamentos tipo: Loft, 1 y 2 recámaras; a un minuto de Bosques de las Lomas y Arcos Bosques (El Pantalón) en medio de escuelas, universidades, hospitales, centros comerciales y toda la oferta de servicios que ofrecen Santa Fe y Bosques. Potencializa tu vida con nuestras amenidades: Alberca. Co-Working. Bar. Cafetería. Salón de Fiestas. Game Room. Chill Spot. Pet Zone. Área de asadores con fogateros. Gimnasio. Yoga Room. Motor Lobby. Sala de recepción. Concierge Vigilancia 24hrs. cctv. Shuttle que te conecta con los principales puntos de la cdmx y Santa Fe. Renta sin aval; Departamentos nuevos, Totalmente equipados con electrodomesticos nuevos, agenda una cita y prepara todo para estrenar!!",
  "status": "ONLINE",
  "listing_type": "DEVELOPMENT",
  "source_context": {
    "listing_url": "https://www.inmuebles24.com/propiedades/desarrollo/ememvein-ri-a-bosques-renta-y-estrena-nuestros-depas.-loft-1-141933064.html",
    "canonical_url": "https://www.inmuebles24.com/propiedades/desarrollo/ememvein-ri-a-bosques-renta-y-estrena-nuestros-depas.-loft-1-141933064.html",
    "domain": "inmuebles24.com",
    "seed_id": "6737f079bde6",
    "seed_type": "location",
    "seed_value": "ciudad de mexico",
    "page_index": 1,
    "scraped_time": "2026-04-27T22:04:54.149661+00:00"
  },
  "pricing": {
    "operations": [
      {
        "operation_type": {
          "id": 2,
          "name": "Renta"
        },
        "prices": [
          {
            "amount": 23500,
            "currency": "MN",
            "currency_id": 10
          }
        ]
      }
    ],
    "promotion_title": "1 Meses Gratis de Renta"
  },
  "property": {
    "type": {
      "id": 34,
      "name": "Desarrollos verticales"
    },
    "publication_area_id": 200,
    "reserved": false,
    "premier": false,
    "alternative_listing": false
  },
  "location": {
    "address": {
      "name": "Cuajimalpa de Morelos",
      "visibility": "EXACT"
    },
    "hierarchy": [
      {
        "id": "V1-D-23771",
        "name": "Santa Fe Cuajimalpa",
        "type": "ZONA",
        "depth": 3
      },
      {
        "id": "V1-C-516",
        "name": "Cuajimalpa de Morelos",
        "type": "CIUDAD",
        "depth": 2
      },
      {
        "id": "V1-B-69",
        "name": "Ciudad de México",
        "type": "PROVINCIA",
        "depth": 1,
        "acronym": "CDMX"
      },
      {
        "id": "V1-A-18",
        "name": "Mexico",
        "type": "PAIS",
        "depth": 0
      }
    ],
    "coordinates": {
      "latitude": 19.3376089,
      "longitude": -99.31138159999999
    }
  },
  "publisher": {
    "id": 102423242,
    "name": "Riğa Bosques",
    "url": "https://www.inmuebles24.com/inmobiliarias/ri-a-bosques_102423242-inmuebles.html",
    "type_id": 3,
    "logo_url": "https://img10.naventcdn.com/empresas/18/01/02/42/32/42/130x70/logo_riga_1700593764896.jpg",
    "premier": false,
    "approved": false,
    "created_at": "2023-09-28T04:00:00+00:00",
    "portal_id": 101
  },
  "publication": {
    "begin_at": "2025-01-21T18:21:01+00:00",
    "first_online_at": "2023-11-20T05:00:00+00:00",
    "modified_at": "2026-03-13T21:51:29-04:00",
    "plan_area_id": 200
  },
  "features": {
    "development": [
      {
        "category": "Desarrollo",
        "features": [
          {
            "id": "CFT201",
            "label": "Inmediata",
            "value": 0,
            "category_id": "CFC3"
          },
          {
            "id": "CFT202",
            "label": "Total de unidades",
            "value": 455,
            "category_id": "CFC3"
          },
          {
            "id": "CFT200",
            "label": "Listo para habitar",
            "value": 3,
            "category_id": "CFC3"
          }
        ]
      }
    ],
    "highlighted": [
      "Gimnasio",
      "Jardín",
      "Alberca",
      "Circuito Cerrado",
      "Estacionamientos",
      "Roof Garden"
    ],
    "flags": [
      {
        "id": "CFT200",
        "label": "Listo para habitar",
        "value": 3,
        "category_id": "CFC3"
      },
      {
        "id": "CFT201",
        "label": "Inmediata",
        "value": 0,
        "category_id": "CFC3"
      }
    ]
  },
  "media": {
    "primary_image_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/720x532/1140574192.jpg?isFirstImage=true",
    "listing_logo_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/130x70/1140582052.jpg",
    "pictures": [
      {
        "type_id": 2,
        "order": 1,
        "width": 1536,
        "height": 1154,
        "large_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/720x532/1140574192.jpg?isFirstImage=true",
        "medium_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/360x266/1140574192.jpg?isFirstImage=true",
        "title": "Desarrollo vertical , Cuajimalpa de Morelos · Riğa Bosques Renta y Estrena Nuestros Depas. (Loft, 1 y 2 Recámaras)"
      },
      {
        "type_id": 2,
        "order": 2,
        "width": 1600,
        "height": 1066,
        "large_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/720x532/1140574173.jpg",
        "medium_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/360x266/1140574173.jpg",
        "title": "Desarrollo vertical en Santa Fe Cuajimalpa"
      },
      {
        "type_id": 2,
        "order": 3,
        "width": 1600,
        "height": 1072,
        "large_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/720x532/1140574170.jpg",
        "medium_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/360x266/1140574170.jpg",
        "title": "Renta sin Aval en 24 horas. Proceso ágil y flexible. / Lease without guarantor w"
      },
      {
        "type_id": 2,
        "order": 4,
        "width": 764,
        "height": 1164,
        "large_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/720x532/1140574164.jpg",
        "medium_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/360x266/1140574164.jpg",
        "title": "Desarrollo vertical"
      },
      {
        "type_id": 2,
        "order": 5,
        "width": 762,
        "height": 1150,
        "large_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/720x532/1140574165.jpg",
        "medium_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/360x266/1140574165.jpg",
        "title": "Desarrollo vertical Santa Fe Cuajimalpa"
      },
      {
        "type_id": 2,
        "order": 6,
        "width": 1600,
        "height": 1066,
        "large_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/720x532/1140574178.jpg",
        "medium_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/360x266/1140574178.jpg",
        "title": "Desarrollo vertical Santa Fe Cuajimalpa"
      },
      {
        "type_id": 2,
        "order": 7,
        "width": 1600,
        "height": 1070,
        "large_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/720x532/1140574175.jpg",
        "medium_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/360x266/1140574175.jpg",
        "title": "Desarrollo vertical"
      },
      {
        "type_id": 2,
        "order": 8,
        "width": 760,
        "height": 1140,
        "large_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/720x532/1140574167.jpg",
        "medium_url": "https://img10.naventcdn.com/avisos/18/01/41/93/30/64/360x266/1140574167.jpg",
        "title": "Desarrollo vertical - Riğa Bosques"
      }
    ],
    "additional_picture_count": 29,
    "has_videos": false,
    "has_360_tour": true,
    "has_floor_plans": true
  },
  "contact": {
    "whatsapp": "52 5665850597",
    "show_anonymous_phone_lead": false,
    "whatsapp_posting_lead_enabled": true,
    "whatsapp_development_lead_enabled": true,
    "request_visit": {
      "modal_enabled": false,
      "postlead_modal_enabled": false
    }
  },
  "signals": {
    "publisher_slot": "aviso_sinslot_141933064",
    "pixel_plus": false,
    "early_demand_cronut": false
  },
  "attributes": {
    "alphanumeric_key": "5p6nc4"
  },
  "fingerprint": "0a5bbcdb38741b1559a2"
}
```

### Field Reference

#### `listing`

- **type** *(string, required)*: record type.
- **id** *(number, required)*: listing identifier.
- **url** *(string, required)*: canonical public listing URL.
- **posting\_code** *(string, optional)*: listing transaction label, such as rent or sale.
- **title** *(string, optional)*: public listing title.
- **generated\_title** *(string, optional)*: normalized or category-derived title where available.
- **description** *(string, optional)*: public listing description.
- **status** *(string, optional)*: listing availability status.
- **listing\_type** *(string, optional)*: listing category or placement type.
- **source\_context.listing\_url** *(string, optional)*: public listing URL captured for the record.
- **source\_context.canonical\_url** *(string, optional)*: canonical public URL for the listing.
- **source\_context.domain** *(string, optional)*: source domain.
- **source\_context.seed\_id** *(string, optional)*: collection seed identifier.
- **source\_context.seed\_type** *(string, optional)*: input scope type used for collection.
- **source\_context.seed\_value** *(string, optional)*: input scope value used for collection.
- **source\_context.page\_index** *(number, optional)*: result page index associated with the record.
- **source\_context.scraped\_time** *(string, optional)*: ISO timestamp when the record was collected.
- **pricing.operations** *(array, optional)*: pricing groups by transaction operation.
- **pricing.operations.operation\_type.id** *(number, optional)*: operation identifier.
- **pricing.operations.operation\_type.name** *(string, optional)*: operation name.
- **pricing.operations.prices.amount** *(number, optional)*: listed price amount.
- **pricing.operations.prices.currency** *(string, optional)*: displayed currency label.
- **pricing.operations.prices.currency\_id** *(number, optional)*: source currency identifier.
- **pricing.promotion\_title** *(string, optional)*: public promotional price or incentive text.
- **property.type.id** *(number, optional)*: property type identifier.
- **property.type.name** *(string, optional)*: property type name.
- **property.publication\_area\_id** *(number, optional)*: publication area identifier.
- **property.reserved** *(boolean, optional)*: whether the listing is marked as reserved.
- **property.premier** *(boolean, optional)*: whether the listing is marked as premier.
- **property.alternative\_listing** *(boolean, optional)*: whether the record is marked as an alternative listing.
- **location.address.name** *(string, optional)*: displayed address or location name.
- **location.address.visibility** *(string, optional)*: address visibility level.
- **location.hierarchy** *(array, optional)*: ordered geographic hierarchy for the listing.
- **location.hierarchy.id** *(string, optional)*: geographic unit identifier.
- **location.hierarchy.name** *(string, optional)*: geographic unit name.
- **location.hierarchy.type** *(string, optional)*: geographic unit type.
- **location.hierarchy.depth** *(number, optional)*: hierarchy depth.
- **location.hierarchy.acronym** *(string, optional)*: region acronym where available.
- **location.coordinates.latitude / location.coordinates.longitude** *(number, optional)*: geographic coordinates.
- **publisher.id** *(number, optional)*: publisher identifier.
- **publisher.name** *(string, optional)*: publisher name.
- **publisher.url** *(string, optional)*: public publisher URL.
- **publisher.type\_id** *(number, optional)*: publisher type identifier.
- **publisher.logo\_url** *(string, optional)*: publisher logo URL.
- **publisher.premier** *(boolean, optional)*: whether the publisher is marked as premier.
- **publisher.approved** *(boolean, optional)*: whether the publisher is marked as approved.
- **publisher.created\_at** *(string, optional)*: publisher creation timestamp when available.
- **publisher.portal\_id** *(number, optional)*: source portal identifier.
- **publication.begin\_at** *(string, optional)*: listing publication start timestamp.
- **publication.first\_online\_at** *(string, optional)*: first online timestamp.
- **publication.modified\_at** *(string, optional)*: last modified timestamp.
- **publication.plan\_area\_id** *(number, optional)*: publication plan area identifier.
- **features.development** *(array, optional)*: development-specific feature groups.
- **features.development.category** *(string, optional)*: feature group category.
- **features.development.features.id** *(string, optional)*: feature identifier.
- **features.development.features.label** *(string, optional)*: feature label.
- **features.development.features.value** *(number, optional)*: feature value.
- **features.development.features.category\_id** *(string, optional)*: feature category identifier.
- **features.highlighted** *(array of strings, optional)*: highlighted amenities or attributes.
- **features.flags** *(array, optional)*: structured feature flags.
- **features.flags.id** *(string, optional)*: flag identifier.
- **features.flags.label** *(string, optional)*: flag label.
- **features.flags.value** *(number, optional)*: flag value.
- **features.flags.category\_id** *(string, optional)*: flag category identifier.
- **media.primary\_image\_url** *(string, optional)*: primary listing image URL.
- **media.listing\_logo\_url** *(string, optional)*: listing logo or secondary image URL.
- **media.pictures** *(array, optional)*: listing image records.
- **media.pictures.type\_id** *(number, optional)*: image type identifier.
- **media.pictures.order** *(number, optional)*: image order.
- **media.pictures.width / media.pictures.height** *(number, optional)*: image dimensions in pixels.
- **media.pictures.large\_url / media.pictures.medium\_url** *(string, optional)*: image URLs by size.
- **media.pictures.title** *(string, optional)*: image title or caption.
- **media.additional\_picture\_count** *(number, optional)*: count of additional pictures not included in the sample array.
- **media.has\_videos** *(boolean, optional)*: whether videos are indicated for the listing.
- **media.has\_360\_tour** *(boolean, optional)*: whether a 360 tour is indicated for the listing.
- **media.has\_floor\_plans** *(boolean, optional)*: whether floor plans are indicated for the listing.
- **contact.whatsapp** *(string, optional)*: public WhatsApp contact value when available.
- **contact.show\_anonymous\_phone\_lead** *(boolean, optional)*: whether anonymous phone lead behavior is indicated.
- **contact.whatsapp\_posting\_lead\_enabled** *(boolean, optional)*: whether WhatsApp posting leads are enabled.
- **contact.whatsapp\_development\_lead\_enabled** *(boolean, optional)*: whether WhatsApp development leads are enabled.
- **contact.request\_visit.modal\_enabled** *(boolean, optional)*: whether request-visit modal behavior is indicated.
- **contact.request\_visit.postlead\_modal\_enabled** *(boolean, optional)*: whether post-lead visit modal behavior is indicated.
- **signals.publisher\_slot** *(string, optional)*: publisher slot signal.
- **signals.pixel\_plus** *(boolean, optional)*: source-provided listing signal.
- **signals.early\_demand\_cronut** *(boolean, optional)*: source-provided listing signal.
- **attributes.alphanumeric\_key** *(string, optional)*: source-provided alphanumeric listing key.
- **fingerprint** *(string, optional)*: stable record fingerprint for change tracking.

### Data Quality, Guarantees, And Handling

- **Structured records:** results are normalized into predictable JSON objects for downstream use.
- **Best-effort extraction:** fields may vary by region, session, availability, and public UI experiments.
- **Optional fields:** null-check optional fields in downstream code because sparse listings may not provide every attribute.
- **Deduplication:** use `type + ":" + id` as the recommended idempotency key.
- **Freshness:** results reflect the publicly available data at run time.
- **Repeated runs:** use the recommended idempotency key when syncing data into warehouses, CRMs, or search indexes.

### Tips For Best Results

- Start with a small `limit` to validate the output shape before scaling up.
- Use one geography, property segment, or deal type per run when you need cleaner segmentation.
- Leave optional filters empty when the goal is broad discovery.
- Add filters gradually to understand how each field changes coverage.
- Use `publication_date` and `sort_by` for monitoring recently posted or recently updated inventory.
- Schedule recurring runs for monitoring workflows instead of relying on manual one-off jobs.
- Use `type + ":" + id` for deduplication when storing results over time.

### How to Run on Apify

1. Open the Actor in Apify Console.
2. Configure the available input fields for the target scope.
3. Set the maximum number of outputs to collect with `limit`.
4. Click **Start** and wait for the run to finish.
5. Download results in JSON, CSV, Excel, or other supported formats.

### Scheduling & Automation

#### Scheduling

**Automated Data Collection**

Schedule runs to keep real estate listing datasets fresh for monitoring, reporting, enrichment, and recurring analysis. Use a consistent input configuration when you need comparable results across time periods.

- Navigate to **Schedules** in Apify Console
- Create a new schedule, such as daily, weekly, or custom cron
- Configure input parameters
- Enable notifications for run completion
- Add webhooks for automated processing

#### Integration Options

- **CRM enrichment:** sync public listing, publisher, location, and contact attributes into account or lead records.
- **BI dashboards:** monitor pricing, availability, publication recency, property types, and geographic coverage over time.
- **Data warehouses:** store repeated runs for historical analysis, deduplication, and long-term trend modeling.
- **Google Sheets or Airtable:** review smaller listing batches, qualify leads, or share curated market snapshots with operations teams.
- **Webhooks:** trigger ingestion, validation, notification, or alerting workflows after each completed run.
- **Data enrichment pipelines:** append current public real estate attributes to existing CRM, analytics, or market intelligence datasets.

### Export Formats And Downstream Use

Apify datasets can be exported or consumed by downstream systems, making the actor suitable for both manual review and automated data delivery.

- **JSON:** for APIs, applications, and data pipelines.
- **CSV or Excel:** for spreadsheet workflows and manual review.
- **API access:** for automated ingestion into internal systems.
- **BI and warehouses:** for reporting, dashboards, and historical analysis.

### Performance

Estimated run times:

- **Small runs (< 1,000 outputs):** ~3–5 minutes
- **Medium runs (1,000–5,000 outputs):** ~5–15 minutes
- **Large runs (5,000+ outputs):** ~15–30 minutes

Execution time varies based on filters, result volume, and how much information is returned per record. Highly filtered runs can finish faster, while broad discovery or detail-rich records may take longer.

### Limitations

- Availability depends on what <https://www.inmuebles24.com> publicly exposes at run time.
- Some optional fields may be missing on sparse records or specific listing types.
- Very broad searches may take longer or require higher limits to reach the desired coverage.
- Target-side changes can affect field availability, naming, or visible attributes.
- Regional, account, or availability differences may change visible results.
- Public listings can be modified, removed, reserved, or republished between runs.

### Troubleshooting

- **No results returned:** check filters, location spelling, property category choices, and whether Inmuebles24 has matching public records for the selected scope.
- **Fewer results than expected:** broaden filters, raise `limit`, or verify that the target contains enough matching records.
- **Some fields are empty:** optional fields depend on what each record publicly provides.
- **Run takes longer than expected:** reduce scope, lower `limit` for validation, or split broad collection into smaller segments.
- **Output changed:** compare the current output with the field reference and report a small sample if support is needed.

### FAQ

#### What data does this actor collect?

It collects public Inmuebles24 real estate listing records, including listing identifiers, titles, descriptions, prices, locations, property details, publisher information, publication metadata, media indicators, contact-related public fields, and source URLs.

#### Can I filter by location, category, date, price, or other criteria?

Yes. The actor supports location, deal type, sorting, seller type, multimedia requirements, view, building age, publication date, property type, bedroom count, bathroom count, parking, price range, building area, land area, and result limit.

#### Why did I receive fewer results than my limit?

The selected scope may contain fewer public matching listings than the requested `limit`, or your filters may be narrow. Broaden the input or increase coverage gradually after validating the first results.

#### Can I schedule recurring runs?

Yes. Use Apify schedules to run the actor daily, weekly, or on a custom cron schedule for monitoring, reporting, and repeated enrichment workflows.

#### How do I avoid duplicates across runs?

Use `type + ":" + id` as the idempotency key when inserting or updating records in your destination system.

#### Can I export the data to CSV, Excel, or JSON?

Yes. Apify datasets support exports in JSON, CSV, Excel, and other supported formats.

#### Does this actor collect private data?

The actor is intended to collect publicly available listing information from Inmuebles24. Users are responsible for using the data lawfully and respecting privacy and applicable platform terms.

#### What should I include when reporting an issue?

Include the input used with any sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample if it helps illustrate the issue.

### Compliance & Ethics

#### Responsible Data Collection

This actor collects publicly available **real estate listing** information from **https://www.inmuebles24.com** for legitimate business purposes, including:

- **Real estate** research and market analysis
- Listing monitoring, pricing analysis, and inventory tracking
- CRM enrichment, lead qualification, and operational reporting

This section is informational and not legal advice.

#### Best Practices

- Use collected data in accordance with applicable laws, regulations, and the target site's terms.
- Respect individual privacy and personal information.
- Use data responsibly and avoid disruptive or excessive collection.
- Do not use this actor for spamming, harassment, or other harmful purposes.
- Follow relevant data protection requirements where applicable, such as GDPR and CCPA.

### Support

For help, use the actor page or Issues. Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample when available. Avoid sharing unnecessary personal data in support requests.

# Actor input Schema

## `sort_by` (type: `string`):

Sort results by relevance, lowest price, highest price, newest listings, most viewed listings, price reductions, or top sellers.

## `deal_type` (type: `string`):

Select rentals, properties for sale, short-term stays, new developments, foreclosures, lease transfers, or all deal types. Keeping All preserves the site's broad default search behavior.

## `location` (type: `array`):

Enter one or more location names, such as benito juarez or ciudad de mexico. More specific names usually produce more focused listing results.

## `min_price` (type: `integer`):

Enter the lowest acceptable listing price. Leave this empty when there is no minimum budget or valuation threshold.

## `max_price` (type: `integer`):

Enter the highest acceptable listing price. Leave this empty when there is no maximum budget or valuation threshold.

## `seller_type` (type: `string`):

Choose real estate agency listings or direct listings. Leave this empty when both seller types are useful.

## `publication_date` (type: `string`):

Choose a publication window such as today, since yesterday, last week, or the last 15, 30, or 45 days.

## `property_type` (type: `array`):

Select one or more categories, including apartments, houses, land, offices, warehouses, developments, commercial spaces, ranches, or villas.

## `min_bedroom` (type: `string`):

Use this to exclude listings that do not meet the minimum bedroom count for your target audience.

## `max_bedroom` (type: `string`):

Use this to include only listings with no more than the selected number of bedrooms.

## `min_bathroom` (type: `string`):

Use this to exclude listings below the selected bathroom count.

## `min_parking` (type: `string`):

Choose 0 for listings with no parking spaces. Choose 1+, 2+, 3+, or 4+ to require at least that many spaces.

## `min_building_area` (type: `integer`):

Enter the minimum built or covered area in square meters. This is useful for excluding spaces that are too small.

## `max_building_area` (type: `integer`):

Enter the maximum built or covered area in square meters. This is useful for keeping results within a desired property scale.

## `min_land_area` (type: `integer`):

Enter the minimum land or lot area in square meters. This helps exclude properties with insufficient outdoor or plot space.

## `max_land_area` (type: `integer`):

Enter the maximum land or lot area in square meters. This helps keep results within the property size range you want.

## `multimedia` (type: `array`):

Select 360 tours, videos, or floor plans when you only want listings that include those media types.

## `building_age` (type: `string`):

Choose under-construction, brand-new, recent, older, or long-established properties according to the age bands available on Inmuebles24.

## `view` (type: `string`):

Choose front-facing or interior-facing listings. Leave this empty to include properties with any stated view.

## `limit` (type: `integer`):

Enter the maximum number of listings to save for each location. Leave this empty to collect all matching listings the actor can reach.

## Actor input object example

```json
{
  "sort_by": "most_relevant",
  "deal_type": "all",
  "limit": 100
}
```

# 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 = {
    "limit": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("fatihtahta/inmuebles24-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 = { "limit": 100 }

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

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

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

```

## CLI example

```bash
echo '{
  "limit": 100
}' |
apify call fatihtahta/inmuebles24-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=fatihtahta/inmuebles24-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Inmuebles24 Scraper | $1.5 / 1k | Fast & Reliable",
        "description": "Extract structured Mexico property listings from Inmuebles24 with pricing data, seller details, medias, and property attributes and more. Built for enterprise-grade real estate intelligence, lead enrichment, market analysis, and automated data pipelines.",
        "version": "0.0",
        "x-build-id": "h54KOBn11dW8lJOGr"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fatihtahta~inmuebles24-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fatihtahta-inmuebles24-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/fatihtahta~inmuebles24-scraper/runs": {
            "post": {
                "operationId": "runs-sync-fatihtahta-inmuebles24-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/fatihtahta~inmuebles24-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-fatihtahta-inmuebles24-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "sort_by": {
                        "title": "Arrange Listing Order",
                        "enum": [
                            "most_relevant",
                            "lowest_price",
                            "newest",
                            "highest_price",
                            "most_viewed",
                            "price_reduced",
                            "top_sellers"
                        ],
                        "type": "string",
                        "description": "Sort results by relevance, lowest price, highest price, newest listings, most viewed listings, price reductions, or top sellers.",
                        "default": "most_relevant"
                    },
                    "deal_type": {
                        "title": "Choose the Deal Type",
                        "enum": [
                            "all",
                            "rent",
                            "buy",
                            "foreclosure",
                            "short_term",
                            "new_development",
                            "lease_transfer"
                        ],
                        "type": "string",
                        "description": "Select rentals, properties for sale, short-term stays, new developments, foreclosures, lease transfers, or all deal types. Keeping All preserves the site's broad default search behavior.",
                        "default": "all"
                    },
                    "location": {
                        "title": "Choose Target Locations",
                        "type": "array",
                        "description": "Enter one or more location names, such as benito juarez or ciudad de mexico. More specific names usually produce more focused listing results.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "min_price": {
                        "title": "Set a Minimum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Enter the lowest acceptable listing price. Leave this empty when there is no minimum budget or valuation threshold."
                    },
                    "max_price": {
                        "title": "Set a Maximum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Enter the highest acceptable listing price. Leave this empty when there is no maximum budget or valuation threshold."
                    },
                    "seller_type": {
                        "title": "Filter by Seller Type",
                        "enum": [
                            "real_estate_agency",
                            "direct_listing"
                        ],
                        "type": "string",
                        "description": "Choose real estate agency listings or direct listings. Leave this empty when both seller types are useful."
                    },
                    "publication_date": {
                        "title": "Filter by Publication Date",
                        "enum": [
                            "since_yesterday",
                            "today",
                            "last_week",
                            "last_15_days",
                            "last_30_days",
                            "last_45_days"
                        ],
                        "type": "string",
                        "description": "Choose a publication window such as today, since yesterday, last week, or the last 15, 30, or 45 days."
                    },
                    "property_type": {
                        "title": "Select Property Types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Select one or more categories, including apartments, houses, land, offices, warehouses, developments, commercial spaces, ranches, or villas.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "apartment",
                                "house",
                                "land_lot",
                                "condo_house",
                                "commercial_space",
                                "commercial_warehouse",
                                "zoned_property",
                                "shared_apartment",
                                "horizontal_development",
                                "mixed_development",
                                "vertical_development",
                                "duplex",
                                "building",
                                "orchard",
                                "urban_income_property",
                                "mall_retail_unit",
                                "industrial_warehouse",
                                "office",
                                "country_house",
                                "ranch",
                                "commercial_land",
                                "industrial_land",
                                "villa"
                            ],
                            "enumTitles": [
                                "Apartment | Departamento",
                                "House | Casa",
                                "Land / Lot | Terreno / Lote",
                                "Condo House | Casa en condominio",
                                "Commercial Space | Local comercial",
                                "Commercial Warehouse | Bodega comercial",
                                "Zoned Property (Land Use House) | Casa uso de suelo",
                                "Shared Apartment | Departamento compartido",
                                "Horizontal Development | Desarrollo horizontal",
                                "Mixed Development (Horizontal/Vertical) | Desarrollo horizontal/vertical",
                                "Vertical Development | Desarrollo vertical",
                                "Duplex | Dúplex",
                                "Building | Edificio",
                                "Orchard / Farm Plot | Huerta",
                                "Urban Income Property | Inmueble productivo urbano",
                                "Mall Retail Unit | Local en centro comercial",
                                "Industrial Warehouse | Nave industrial",
                                "Office | Oficina",
                                "Country House / Estate | Quinta",
                                "Ranch | Rancho",
                                "Commercial Land | Terreno comercial",
                                "Industrial Land | Terreno industrial",
                                "Villa | Villa"
                            ]
                        }
                    },
                    "min_bedroom": {
                        "title": "Set Minimum Bedrooms",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Use this to exclude listings that do not meet the minimum bedroom count for your target audience."
                    },
                    "max_bedroom": {
                        "title": "Set Maximum Bedrooms",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Use this to include only listings with no more than the selected number of bedrooms."
                    },
                    "min_bathroom": {
                        "title": "Set Minimum Bathrooms",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Use this to exclude listings below the selected bathroom count."
                    },
                    "min_parking": {
                        "title": "Set Parking Requirements",
                        "enum": [
                            "0",
                            "1",
                            "2",
                            "3",
                            "4"
                        ],
                        "type": "string",
                        "description": "Choose 0 for listings with no parking spaces. Choose 1+, 2+, 3+, or 4+ to require at least that many spaces."
                    },
                    "min_building_area": {
                        "title": "Set a Minimum Building Area",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Enter the minimum built or covered area in square meters. This is useful for excluding spaces that are too small."
                    },
                    "max_building_area": {
                        "title": "Set a Maximum Building Area",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Enter the maximum built or covered area in square meters. This is useful for keeping results within a desired property scale."
                    },
                    "min_land_area": {
                        "title": "Set a Minimum Land Area",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Enter the minimum land or lot area in square meters. This helps exclude properties with insufficient outdoor or plot space."
                    },
                    "max_land_area": {
                        "title": "Set a Maximum Land Area",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Enter the maximum land or lot area in square meters. This helps keep results within the property size range you want."
                    },
                    "multimedia": {
                        "title": "Require The Given Media",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Select 360 tours, videos, or floor plans when you only want listings that include those media types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "360_tour",
                                "video",
                                "floor_plan"
                            ],
                            "enumTitles": [
                                "360 Tour",
                                "Video",
                                "Floor Plan"
                            ]
                        }
                    },
                    "building_age": {
                        "title": "Filter by Property Age",
                        "enum": [
                            "under_construction",
                            "brand_new",
                            "up_to_5_years",
                            "up_to_10_years",
                            "up_to_20_years",
                            "up_to_50_years",
                            "over_50_years"
                        ],
                        "type": "string",
                        "description": "Choose under-construction, brand-new, recent, older, or long-established properties according to the age bands available on Inmuebles24."
                    },
                    "view": {
                        "title": "Filter by Property View",
                        "enum": [
                            "front_facing",
                            "interior_facing"
                        ],
                        "type": "string",
                        "description": "Choose front-facing or interior-facing listings. Leave this empty to include properties with any stated view."
                    },
                    "limit": {
                        "title": "Set a Result Limit per Location",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Enter the maximum number of listings to save for each location. Leave this empty to collect all matching listings the actor can reach."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
