# Urbania Property Search Scraper (`alexist/urbania-property-search-scraper`) Actor

Scrape property listings from Urbania.pe with precision. Collect rental and sale postings across 50+ data fields including prices, features, location data, publisher info, and media URLs — essential for real estate analysts, market researchers, and property aggregators.

- **URL**: https://apify.com/alexist/urbania-property-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

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

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

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

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

# README

## Urbania Property Search Scraper: Extract Real Estate Listings in Bulk

***

### What Is Urbania.pe?

Urbania.pe is Peru's leading online real estate marketplace, featuring thousands of residential and commercial properties available for rent and sale. The platform aggregates listings from individual publishers, real estate agencies, and property developers across Lima and other Peruvian regions. Manually collecting property data from search results is tedious and error-prone — the **Urbania Property Search Scraper** automates bulk extraction, delivering structured property records ready for analysis.

***

### Overview

The **Urbania Property Search Scraper** extracts property listing data from Urbania.pe search result pages, converting raw HTML into clean, structured records. It is designed for:

- **Real estate investors** tracking market trends and comparable pricing
- **Market researchers** analyzing property supply and demand
- **Data analysts** building property datasets for business intelligence
- **Aggregator platforms** feeding data into secondary real estate portals
- **Brokers** monitoring competitor listings and market activity

Key strengths include configurable item limits per URL, resilient error handling via `ignore_url_failures`, and comprehensive output covering pricing, features, media, and publisher metadata.

***

### Input Format

The scraper accepts a JSON configuration specifying search pages to extract:

```json
{
  "urls": [
    "https://urbania.pe/buscar/alquiler-de-departamentos?page=2"
  ],
  "max_items_per_url": 200,
  "ignore_url_failures": true
}
```

| Field | Description |
|---|---|
| `urls` | Direct links to Urbania property search result pages. Supports rental and sale pages, filtered by property type, location, price range, etc. |
| `max_items_per_url` | Maximum listings extracted per URL (e.g., `200`). Respects pagination and page layout constraints. |
| `ignore_url_failures` | If `true`, the scraper continues running even if individual URLs fail, preventing interruptions during bulk operations. |

> **Tip:** Use filtered search URLs to target specific markets (e.g., apartments in specific districts, price ranges) for higher data relevance.

***

### Output Format

**Sample output**

```json
{
  "posting_id": "148218236",
  "posting_code": "62TGRQ",
  "title": "Catalina Park",
  "generated_title": "Edificios",
  "price_operation_types": [
    {
      "low_price_percentage": null,
      "operation_type": {
        "name": "Alquiler",
        "operation_type_id": "2"
      },
      "prices": [
        {
          "currency_id": "6",
          "amount": null,
          "formatted_amount": null,
          "currency": "S/"
        }
      ]
    }
  ],
  "expenses": null,
  "main_features": {},
  "general_features": {},
  "development_features": {
    "proyecto": {
      "c_f_t201": {
        "feature_id": "CFT201",
        "label": "Marzo 2028",
        "measure": null,
        "value": "3-2028",
        "icon": "fecha",
        "feature_category_id": "CFC3",
        "min_value": null,
        "max_value": null
      },
      "c_f_t202": {
        "feature_id": "CFT202",
        "label": "Total de unidades",
        "measure": null,
        "value": "273",
        "icon": null,
        "feature_category_id": "CFC3",
        "min_value": null,
        "max_value": null
      },
      "c_f_t200": {
        "feature_id": "CFT200",
        "label": "En planos",
        "measure": null,
        "value": "59",
        "icon": "terminado",
        "feature_category_id": "CFC3",
        "min_value": null,
        "max_value": null
      }
    }
  },
  "highlighted_features": [
    "Gimnasio",
    "Área de juegos",
    "Parrilla",
    "Áreas verdes"
  ],
  "flags_features": [
    {
      "feature_id": "CFT200",
      "label": "En planos",
      "measure": null,
      "value": "59",
      "icon": "terminado",
      "feature_category_id": "CFC3",
      "min_value": null,
      "max_value": null
    },
    {
      "feature_id": "CFT201",
      "label": "Marzo 2028",
      "measure": null,
      "value": "3-2028",
      "icon": "fecha",
      "feature_category_id": "CFC3",
      "min_value": null,
      "max_value": null
    },
    null
  ],
  "antiquity": null,
  "publisher": {
    "publisher_id": "1260883",
    "name": "V&V GRUPO INMOBILIARIO",
    "url": "/inmobiliarias/v-v-grupo-inmobiliario_1260883-inmuebles.html",
    "slot_filter_url": null,
    "url_logo": "https://img10.naventcdn.com/empresas/111/00/01/26/08/83/130x70/logo_v-v-grupo-inmobiliario_1763503608818.jpg",
    "publisher_type_id": "3",
    "url_chat": null,
    "license": null,
    "publisher_tags": [],
    "parent_publisher": null,
    "amount_posting_active": null,
    "partial_phone": null,
    "created_year": null,
    "premier": false,
    "slug": "VYV",
    "publisher_statistics": null,
    "approved": false,
    "main_phone": null,
    "created_date": 1415682000000,
    "id_portal": "101",
    "quantity_posting_by_operation_type": null
  },
  "url_logo": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/130x70/1575717364.jpg",
  "reserved": false,
  "real_estate_type": {
    "name": "Edificios",
    "real_estate_type_id": "41"
  },
  "alt": false,
  "units": null,
  "publication_area_id": "210",
  "iptu": null,
  "url": "/inmueble/proyecto/ememefin-proyecto-catalina-park-lima-la-victoria-v-v-grupo-inmobiliario-148218236",
  "pixel_plus": false,
  "publication": {
    "begin_date": 1781823340000,
    "first_date_online": 1763442000000,
    "publication_plan": {
      "publication_area_id": "210"
    }
  },
  "premier": false,
  "promotion_title": "Desembolso en Marzo 2027",
  "slot": null,
  "slot_color": null,
  "request_visit_5_a": null,
  "sponsor": null,
  "duplicated": null,
  "has_videos": false,
  "has_tour": false,
  "has_plans": false,
  "trigger_pill": null,
  "house": {
    "type": "Apartment",
    "image": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/720x532/1618974567.jpg",
    "name": "Edificios",
    "address": {
      "type": "PostalAddress",
      "name": "Edificios Alquiler Jorge Salazar Araoz 171, La Victoria, Lima, Lima",
      "address_locality": null,
      "address_region": null,
      "postal_code": null,
      "street_address": null,
      "address_country": null
    }
  },
  "action": null,
  "view_phone_anonymous_lead": false,
  "lead_whatsapp_posting_request_data": true,
  "lead_whatsapp_development_request_data": true,
  "iadescription": null,
  "early_demand_cronut": false,
  "description_normalized": "Ubicado en el corazón de Santa Catalina, este proyecto te ofrece el equilibrio perfecto entre comodidad y conexión. Además, su estratégica ubicación te permite estar cerca de todo lo que necesitas, con fácil acceso a los principales puntos de la ciudad para optimizar tu tiempo y tu estilo de vida.",
  "features": null,
  "posting_location": {
    "address": {
      "name": "Jorge Salazar Araoz 171",
      "visibility": "EXACT"
    },
    "location": {
      "location_id": "V1-D-51119492",
      "name": "La Victoria",
      "label": "ZONA",
      "depth": 3,
      "parent": {
        "location_id": "V1-C-51003129",
        "name": "Lima",
        "label": "CIUDAD",
        "depth": 2,
        "parent": {
          "location_id": "V1-B-4368",
          "name": "Lima",
          "label": "PROVINCIA",
          "depth": 1,
          "parent": {
            "location_id": "V1-A-111",
            "name": "Peru urbania",
            "label": "PAIS",
            "depth": 0,
            "parent": null,
            "acronym": null
          },
          "acronym": null
        },
        "acronym": null
      },
      "acronym": null
    },
    "posting_geolocation": {
      "geolocation": {
        "latitude": -12.0804863,
        "longitude": -77.0110053
      },
      "url_static_map": "https://maps.google.com/maps/api/staticmap?center=-12.080486300000000454701876151375472545623779296875,-77.011005299999993667370290495455265045166015625&zoom=16&key=AIzaSyCTn345dkYw0gOHdMsgMQ1Oj_YFLvbBPps&size=780x456&sensor=true&scale=2&signature=RN3mDvJJmvEQsyS96bcrXWaGYf0=&channel=rplis-urb",
      "visibility": null
    }
  },
  "visible_pictures": {
    "pictures": [
      {
        "multimedia_type_id": "2",
        "order": 1,
        "height": 532,
        "width": 720,
        "url730x532": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/720x532/1618974567.jpg?isFirstImage=true",
        "url360x266": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/360x266/1618974567.jpg?isFirstImage=true",
        "url130x70": null,
        "title": "Edificios , Lima · Catalina Park"
      },
      {
        "multimedia_type_id": "2",
        "order": 2,
        "height": 3206,
        "width": 3850,
        "url730x532": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/720x532/1574004924.jpg",
        "url360x266": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/360x266/1574004924.jpg",
        "url130x70": null,
        "title": "Edificios en   La Victoria"
      },
      {
        "multimedia_type_id": "2",
        "order": 3,
        "height": 3206,
        "width": 3850,
        "url730x532": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/720x532/1574004916.jpg",
        "url360x266": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/360x266/1574004916.jpg",
        "url130x70": null,
        "title": "Ubicado en el corazón de Santa Catalina, este proyecto te ofrece el equilibrio p"
      },
      {
        "multimedia_type_id": "2",
        "order": 4,
        "height": 3840,
        "width": 2583,
        "url730x532": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/720x532/1574004913.jpg",
        "url360x266": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/360x266/1574004913.jpg",
        "url130x70": null,
        "title": "Edificios   "
      },
      {
        "multimedia_type_id": "2",
        "order": 5,
        "height": 1536,
        "width": 3840,
        "url730x532": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/720x532/1574004910.jpg",
        "url360x266": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/360x266/1574004910.jpg",
        "url130x70": null,
        "title": "Edificios   La Victoria"
      },
      {
        "multimedia_type_id": "2",
        "order": 6,
        "height": 3078,
        "width": 3840,
        "url730x532": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/720x532/1574004923.jpg",
        "url360x266": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/360x266/1574004923.jpg",
        "url130x70": null,
        "title": "Edificios   La Victoria"
      },
      {
        "multimedia_type_id": "2",
        "order": 7,
        "height": 1581,
        "width": 3850,
        "url730x532": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/720x532/1574004911.jpg",
        "url360x266": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/360x266/1574004911.jpg",
        "url130x70": null,
        "title": "Edificios   "
      },
      {
        "multimedia_type_id": "2",
        "order": 8,
        "height": 2733,
        "width": 3850,
        "url730x532": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/720x532/1574004917.jpg",
        "url360x266": "https://img10.naventcdn.com/avisos/111/01/48/21/82/36/360x266/1574004917.jpg",
        "url130x70": null,
        "title": "Edificios - V&V GRUPO INMOBILIARIO"
      }
    ],
    "additional_pictures_count": 8
  },
  "status": "ONLINE",
  "posting_type": "DEVELOPMENT",
  "owner_domain": null,
  "alphanumeric_key": "62tgrq",
  "whats_app": "51 962363880",
  "publisher_slot": "aviso_sinslot_148218236",
  "aviso_duplicado": null,
  "trigger_pills": [],
  "modified_date": "2026-07-09T12:57:42-0400",
  "from_url": "https://urbania.pe/buscar/alquiler-de-departamentos"
}
```

Each property listing returns a comprehensive record with 50+ fields covering pricing, features, media, and metadata:

#### Identification & Posting Details

| Field | Meaning |
|---|---|
| `Posting ID` | Unique system identifier for the listing |
| `Posting Code` | Human-readable posting code |
| `Title` | Property title as displayed on Urbania |
| `Generated Title` | System-generated standardized title |
| `URL` | Direct link to the full property listing page |
| `Status` | Listing status (active, inactive, expired, sold) |
| `Posting Type` | Category type (e.g., apartment, house, commercial) |
| `Modified Date` | Last modification timestamp |
| `Publication` | Publication date of the listing |

#### Pricing & Financial

| Field | Meaning |
|---|---|
| `Price Operation Types` | Price for purchase or rental (monthly/yearly) |
| `Expenses` | Monthly maintenance, property tax, or service fees |
| `IPTU` | Property tax value (impuesto predial) if applicable |

#### Property Characteristics

| Field | Meaning |
|---|---|
| `Real Estate Type` | Property category (department, house, land, etc.) |
| `Antiquity` | Age or year of construction |
| `Units` | Number of units or rooms |
| `Main Features` | Primary amenities (parking, pool, gym) |
| `General Features` | Standard property attributes |
| `Development Features` | Condominium or complex-specific features |
| `Highlighted Features` | Publisher-emphasized selling points |
| `Flags Features` | Special tags or badges (pet-friendly, furnished, etc.) |
| `Features` | Complete feature list |

#### Location & Area

| Field | Meaning |
|---|---|
| `Posting Location` | Full address or district name |
| `Publication Area ID` | Internal area/district identifier |
| `House` | House number or apartment unit identifier |

#### Media & Visuals

| Field | Meaning |
|---|---|
| `URL Logo` | Publisher's logo URL |
| `Visible Pictures` | Number of photos/images in the listing |
| `Has Videos` | Boolean flag indicating video content presence |
| `Has Tour` | Virtual tour availability flag |
| `Has Plans` | Floor plan documentation flag |

#### Publisher & Promotion

| Field | Meaning |
|---|---|
| `Publisher` | Agency or individual listing owner name |
| `Owner Domain` | Publisher's website or domain |
| `Sponsor` | Sponsorship or promoted status |
| `Pixel Plus` | Premium feature flag |
| `Premier` | Premier tier listing status |
| `Promotion Title` | Custom promotion heading |
| `Slot` | Display slot category |
| `Slot Color` | Visual highlighting color |
| `Publisher Slot` | Publisher-specific placement tier |
| `IA Description` | AI-generated description summary |
| `Description Normalized` | Standardized description text |

#### Lead & Interaction

| Field | Meaning |
|---|---|
| `View Phone Anonymous Lead` | Anonymized phone inquiry flag |
| `Lead WhatsApp Posting Request Data` | WhatsApp inquiry data for viewing the property |
| `Lead WhatsApp Development Request Data` | WhatsApp inquiry data for development inquiries |
| `Request Visit 5A` | Scheduled visit request flag |
| `WhatsApp` | Publisher's WhatsApp contact number |
| `Alphanumeric Key` | Unique alphanumeric identifier |

#### Data Quality & Status

| Field | Meaning |
|---|---|
| `Reserved` | Whether the property is reserved |
| `Duplicated` | Duplicate listing flag |
| `Aviso Duplicado` | Duplicate notice status |
| `Trigger Pill` | Alert or special condition flag |
| `Trigger Pills` | Multiple alert flags |
| `Action` | Last action performed on the listing |
| `Alt` | Alternative or backup field data |
| `Early Demand Cronut` | Early demand indicator |

***

### How to Use

1. **Identify search pages** — Navigate to Urbania.pe, apply filters (location, property type, price range), and copy the results page URL.
2. **Prepare URLs** — Add one or more search page URLs to the `urls` array. You can use pagination-based URLs (e.g., `?page=1`, `?page=2`).
3. **Set limits** — Adjust `max_items_per_url` (e.g., `200` for comprehensive data, `50` for faster runs).
4. **Enable error tolerance** — Set `ignore_url_failures: true` for bulk operations spanning multiple pages.
5. **Run and export** — Start the scraper and download results as JSON, CSV, or Excel.

**Best practices:**

- Test with a single URL before scaling to multiple pages.
- Use filtered search URLs to focus on relevant properties and reduce noise.
- Set reasonable `max_items_per_url` limits to balance data volume and run time.
- Monitor the run log for failed URLs and adjust filters if needed.

***

### Use Cases & Business Value

- **Market intelligence:** Track pricing trends, supply levels, and feature popularity across districts
- **Competitive analysis:** Monitor competitor listings, pricing strategies, and promotion tactics
- **Investment decisions:** Analyze property portfolios, tenant demand, and rental yield indicators
- **Data aggregation:** Feed Urbania listings into multi-market real estate platforms
- **Academic research:** Study urban real estate markets and housing accessibility in Peru

The Urbania Property Search Scraper transforms search results into actionable, machine-readable data that drives faster decision-making and deeper market insights than manual browsing alone.

***

### Conclusion

The **Urbania Property Search Scraper** is an efficient solution for anyone needing structured real estate data from Peru's largest property marketplace. With 50+ output fields and flexible input configuration, it streamlines data collection and unlocks market intelligence across rental, sale, and commercial property segments. Start scraping today and turn Urbania listings into strategic advantage.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the property list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://urbania.pe/buscar/alquiler-de-departamentos?page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}
```

# 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 = {
    "urls": [
        "https://urbania.pe/buscar/alquiler-de-departamentos?page=2"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/urbania-property-search-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 = {
    "urls": ["https://urbania.pe/buscar/alquiler-de-departamentos?page=2"],
    "ignore_url_failures": True,
    "max_items_per_url": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/urbania-property-search-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 '{
  "urls": [
    "https://urbania.pe/buscar/alquiler-de-departamentos?page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}' |
apify call alexist/urbania-property-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,alexist/urbania-property-search-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/Ukuk4JLoEETnpNGZk/builds/AfSUO4kObG4zCehIC/openapi.json
