Urbania Scraper — Peru Property Data & API avatar

Urbania Scraper — Peru Property Data & API

Pricing

from $1.60 / 1,000 overview listings

Go to Apify Store
Urbania Scraper — Peru Property Data & API

Urbania Scraper — Peru Property Data & API

Urbania scraper & real estate data API for one of Peru's biggest property portals (Navent). Sale & rent listings: price in soles + USD, area, rooms, baths, parking, address, GPS, photos, advertiser WhatsApp — clean JSON/CSV. Overview or detail. No API key needed.

Pricing

from $1.60 / 1,000 overview listings

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Urbania Scraper — Peru Property Data & API 🇵🇪🏠

SIÁN Agency Store VivaReal Scraper Immobiliare Scraper

🎉 The fast, no-code Urbania data API — scrape a full property record per listing, prices in soles AND US dollars, no Urbania account or API key required

Built for property investors, brokers, proptech teams, and market researchers who need clean Peruvian real-estate data — for sale and for rent — across every district in Peru.

📋 Overview

Pull listings from Urbania — one of Peru's biggest real-estate portals (Navent) — as clean JSON or CSV. For sale (venta) and for rent (alquiler), across Lima, Miraflores, San Isidro, Arequipa, Trujillo, Cusco and every district in Peru. Pick the depth that fits the job: a fast, low-cost overview scan for sizing a market, or the full per-property record with the complete description and advertiser WhatsApp.

Why investors and brokers choose us:

  • Two depths, one actor: a fast Overview scan for whole-market sweeps, or full Detail records when you need the long description and the advertiser's WhatsApp
  • 🔁 Detail = Overview + more: every Overview field is on a Detail row too, with the full description and WhatsApp added on top — never less
  • 💵💰 Dual currency: every listing carries the price in both soles (PEN) and US dollars (USD) plus the primary currency — the missing side is completed at the run's live FX rate
  • 💰 Pay-per-result pricing: only charged for listings actually extracted — Overview and Detail priced separately
  • 📐 Analysis-ready: price, expenses, area in m², rooms, baths, parking, price-per-m² and GPS coordinates on every row
  • 🎯 Three ways to search: by operation + filters, by a pasted Urbania search URL (your filters honored), or by specific listing URLs
  • 📞 Advertiser contact built in: agency name and WhatsApp — instant lead lists
  • 🆓 Free to try: up to 25 listings per run, no credit card

✨ Features

  • 🧭 Overview mode: a full record per listing straight from the search API — price (PEN + USD), expenses, specs, full location hierarchy, advertiser, photo gallery — ideal for fast market sweeps
  • 🔍 Detail mode: full per-listing record with the complete long description and the advertiser's WhatsApp phone
  • 🗺️ By place / search URL / listing URL: pick an operation (sale/rent/transfer/temporary) + sort + filters, paste an Urbania search link, or drop in specific listings
  • 🎚️ Filters: operation, sort order, price range (PEN or USD), min area, min bedrooms, property type
  • 💱 Dual-currency + price-per-m² + thumbnail computed on every row for instant comparison
  • 📍 GPS + full location path (district → city → region → country) on every listing for mapping and territory analysis
  • 📞 Advertiser contact: agency name and WhatsApp — instant lead lists
  • 🧾 Self-documenting datasets: every row carries a metadata object recording the exact search settings (and FX rate) that produced it
  • 📤 Clean exports: JSON, CSV, Excel, or the full REST API

🎬 Quick Start

Pick a scrape depth, choose how to search, set filters, and run. Results stream to the Apify dataset as clean JSON/CSV.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~urbania-property-scraper/runs?token=[YOUR_TOKEN]" \
-H 'Content-Type: application/json' \
-d '{"scrapeMode":"overview","searchMode":"byPlace","operation":"sale","maxResults":50}'

🚀 Getting Started (3 Simple Steps)

Step 1: Pick your scrape depth

Overview for a fast, full-record scan, or Detail for the complete long description and the advertiser's WhatsApp.

By place (pick the operation like sale/rent + a sort order + filters), By search URL (paste an Urbania search link — filters honored), or By listing URL (detail mode — drop in specific listings).

Step 3: Set filters & run

Operation, sort, price range, min area, min bedrooms, Max results — then hit Start.

That's it! In under a minute, you'll have:

  • A clean dataset of Peruvian property listings (JSON / CSV / Excel)
  • Price in soles and US dollars, expenses, size, rooms, GPS, advertiser contact and price-per-m² on every row
  • A repeatable, no-code real-estate data feed

📥 Input Configuration

FieldTypeRequiredDescription
scrapeModestringNooverview (fast & cheap) or detail (full description + WhatsApp). Default overview.
searchModestringNobyPlace, bySearchUrl, or byListingUrl (detail only).
operationstringNosale (venta), rent (alquiler), transfer (traspaso) or temporary (temporal). Default sale.
sortstringNorelevance, low_price, high_price, more_recent, most_visit, most_lowered_price.
searchUrlsarrayNoUrbania search URLs (bySearchUrl) — on-page filters honored.
listingUrlsarrayNoListing URLs (detail / byListingUrl).
maxResultsintegerNoMax listings this run. FREE tier capped at 25.
minPrice / maxPriceintegerNoPrice range filter.
currencyFilterstringNoCurrency the price filters apply to: PEN or USD.
minArea / minRoomsintegerNoMinimum area (m²) / bedrooms.
propertyTypestringNoUrbania property-type ID(s) (byPlace).

Example — by place:

{
"scrapeMode": "overview",
"searchMode": "byPlace",
"operation": "sale",
"sort": "low_price",
"maxPrice": 500000,
"currencyFilter": "USD",
"minArea": 60,
"maxResults": 200
}

Example — by search URL:

{
"scrapeMode": "overview",
"searchMode": "bySearchUrl",
"searchUrls": ["https://urbania.pe/buscar/alquiler-de-departamentos-en-lima"],
"maxResults": 100
}

📤 Output

Results are saved to the Apify dataset with 40+ fields including:

FieldTypeDescription
propertyTitlestringListing title
urlstringListing URL
operation_typestringVenta, Alquiler, …
property_typestringProperty type (Departamento, Casa, …)
pricenumberAsking price (primary currency)
currencystringPrimary currency (S/ or USD)
price_pen / price_usdnumberPrice in soles AND US dollars (missing side completed via live FX)
price_per_sqm_pennumberPrice per m² in soles (computed)
expensesnumberMonthly maintenance / common expenses
total_area / covered_areanumberArea (m²)
rooms / bedrooms / bathrooms / parkingnumberSpecs
location_name / location_pathstringDistrict + full location hierarchy
latitude / longitudenumberGPS
publisherstringAdvertiser / agency name
whatsappstringAdvertiser WhatsApp
images / thumbnailarray / stringPhoto gallery + cover
descriptionstringListing description (full in detail mode)

Example:

{
"id": "146213312",
"propertyTitle": "Bugambilias",
"url": "https://urbania.pe/inmueble/...-146213312.html",
"operation_type": "Venta",
"property_type": "Departamento",
"price": 217786,
"currency": "S/",
"price_pen": 217786,
"price_usd": 64005,
"price_per_sqm_pen": null,
"covered_area": null,
"location_name": "Jesús María",
"location_path": "Jesús María > Lima > Lima > Peru",
"latitude": -12.0694981,
"longitude": -77.0488401,
"publisher": "ABRIL GRUPO INMOBILIARIO",
"whatsapp": "51 945889665",
"image_count": 8
}

💼 Use Cases & Examples

1. Market research & price benchmarking

Analysts sizing a city or district market. Input: byPlace sale, nationwide. Output: thousands of listings with price in PEN + USD and price-per-m². Use: build a live price index per district.

2. Investment sourcing

Investors hunting undervalued stock. Input: byPlace + maxPrice + minArea. Output: filtered listings with PEN/m² and GPS. Use: rank deals by price-per-m² vs district median.

3. Agency lead generation

Brokers building a contact list. Input: Overview scan of a target area. Output: publisher and whatsapp on every row. Use: prospecting and competitive coverage.

4. Proptech & valuation data feeds

Proptech teams powering AVMs and dashboards. Input: scheduled bySearchUrl runs. Output: a clean, repeatable Peruvian real-estate data feed. Use: feed models without an Urbania API.

5. Rental-yield models

Investors comparing rent vs sale stock. Input: byPlace rent + sale runs. Output: price, expenses and dual-currency on every row. Use: compute gross/net yield by district.

6. Comparative market analysis (CMA)

Appraisers preparing valuations. Input: Detail mode on a set of comparable listings. Output: full description, specs, advertiser. Use: defensible CMA inputs.

🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/urbania-property-scraper').call({
scrapeMode: 'overview', searchMode: 'byPlace', operation: 'sale', maxResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/urbania-property-scraper').call(
run_input={'scrapeMode': 'overview', 'searchMode': 'byPlace', 'operation': 'sale', 'maxResults': 50}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~urbania-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"scrapeMode":"overview","searchMode":"byPlace","operation":"sale","maxResults":50}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: Schedule (e.g. daily) or webhook
  2. HTTP Request: Call the actor API
  3. Process: Handle the JSON results
  4. Action: Save to a sheet/DB, notify, or transform

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 listings per run — full feature access, same quality
  • No credit card required
  • Perfect for testing and small projects
  • Unlimited listings per run
  • Pay-per-result: only charged for listings actually extracted
  • Overview and Detail priced separately so you only pay for the depth you use

🔗 View current pricing

❓ Frequently Asked Questions

Q: How many listings can I extract? A: FREE tier: 25 per run. PAID tier: unlimited.

Q: Do I need an Urbania API key? A: No. There's no setup and no Urbania account or API key required.

Q: Are prices in soles or dollars? A: Both. Urbania quotes many listings in both currencies; we capture the primary currency plus price_pen and price_usd, completing the missing side at the run's live exchange rate (stamped on every row).

Q: What's the difference between Overview and Detail? A: Overview is a fast, low-cost scan that already returns a full record per listing (price, specs, location, advertiser, photo gallery). Detail adds the complete long description and the advertiser's WhatsApp — and includes everything Overview returns.

Q: Can I use my own Urbania search filters? A: Yes — paste your search URL in bySearchUrl mode and the path + on-page filters are honored.

Q: What output formats are available? A: JSON, CSV, Excel — export directly from the Apify dataset.

Q: Does it work for both sale and rent? A: Yes — set operation to sale (venta), rent (alquiler), transfer (traspaso) or temporary (temporal).

Q: Is this legal? A: We only extract publicly available data. See the legal note below.

🐛 Troubleshooting

No results returned

  • Try a broader operation/sort or paste a working Urbania search URL instead.
  • Loosen filters — an overly tight price/area range can return zero listings.

Fewer results than expected

  • FREE tier is capped at 25 listings per run. Upgrade to PAID for unlimited, or raise maxResults.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union, the Ley N° 29733 (Ley de Protección de Datos Personales) in Peru, and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

This is an independent tool and is not affiliated with, endorsed by, or sponsored by Urbania, Navent, or their affiliates. "Urbania" is a trademark of its respective owner.

🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools