Portalinmobiliario Scraper — Chile Property Data & API
Pricing
from $10.00 / 1,000 portalinmobiliario scraper — chile property data & apis
Portalinmobiliario Scraper — Chile Property Data & API
Collect public sale and rental property listings from Portalinmobiliario. Get price, rooms, area, location, listing URL, and seller when shown. Run with a search URL, no login. Pricing: $0.01 per saved listing and $0.00005 per Actor Start on Free.
Pricing
from $10.00 / 1,000 portalinmobiliario scraper — chile property data & apis
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
20 hours ago
Last modified
Categories
Features
Share
Portalinmobiliario Scraper | Chile Property Listings
Scrape public sale and rental property listings from Portalinmobiliario.com, Chile's real estate marketplace. On the Free plan, each saved listing is $0.01 and Actor Start is $0.00005 per event.
- Extract the MLC listing ID, URL, title, operation, property type, asking price, currency, rooms, area, features, location, seller when shown, and lead photo from public search cards, with no login.
- Build a sale or rental shortlist from the default Santiago used-apartment search or from another public search URL you paste.
- Compare asking prices and room counts across the listings that search returns.
- Open detail mode for the listing page's CLP price, common expenses, description, coordinates, condition, and gallery image URLs when they are present.
- Export one dataset record per saved listing, with no value filled in unless the page showed it.
What you get
Public cards on portalinmobiliario.com. overview reads them. detail replaces a field only from a non-empty listing-page value and does not invent area, coordinates, price, or features.
| Group | Fields | Where it comes from |
|---|---|---|
| 🏷️ Listing identity | id, url, title | Search card. id is MLC- plus the numeric id. url is the canonical https listing link with no query string. |
| 🏠 Offer | operation, property_type, condition | Operation and type from the card headline or the search path. condition is detail only: used or new. |
| 💰 Price | price, currency, price_clp, maintenance_fee | Asking price from the card or the detail page, with currency UF or CLP. price_clp and maintenance_fee are detail only. |
| 📐 Size and rooms | bedrooms, bathrooms, useful_area, total_area, parking, storage | Card feature labels, replaced by detail specifications when those values exist. |
| 📍 Location | location, latitude, longitude | Location text from the card, or from the detail page when detail mode supplies it. Coordinates come from the detail map only. |
| 🖼️ Seller and images | seller, thumbnail, images | Seller and lead photo when shown. images is the detail gallery, HTTPS URLs only. |
| 📝 Text | features, description | Feature strings from the card. Detail mode replaces features when the listing page has specs or highlights. description is detail only. |
| ⏱️ Run metadata | source, scraped_at, scrape_mode | On every saved record: portalinmobiliario.com, one UTC timestamp for the run, and overview or detail. |
Note: A field is omitted when the page has no value the parser can read. Empty strings and empty lists are not saved.
operation is venta, arriendo, or arriendo-temporal (headline, else the search path). Known plurals are stored as Departamento, Casa, Oficina, Terreno, Parcela, Local, Bodega, Estacionamiento, or Sitio. A range (a number, then "a" or a dash, then another number) is not saved as price, parking, or storage. UF is UF or Unidad de Fomento; CLP is pesos, CLP, or $; otherwise price can omit currency.
Sample output
Overview record; detail-only fields are absent.
{"id": "MLC-2308580069","url": "https://www.portalinmobiliario.com/MLC-2308580069-oportunidad-en-nunoa-2d-a-pasos-del-metro-_JM","title": "Oportunidad En Ñuñoa / 2d / A Pasos Del Metro","operation": "venta","property_type": "Departamento","price": 3100,"currency": "UF","location": "OPORTUNIDAD EN ÑUÑOA / 2D / A PASOS DEL METRO, Bogotá - Sierra Bella, Santiago","seller": "FICHER","thumbnail": "https://http2.mlstatic.com/D_NQ_NP_2X_681043-MLC116270594396_092026-E-oportunidad-en-nunoa-2d-a-pasos-del-metro.webp","features": ["2 dormitorios", "2 baños", "40 m² útiles"],"bedrooms": 2,"bathrooms": 2,"useful_area": "40 m² útiles","source": "portalinmobiliario.com","scraped_at": "2026-10-09T08:39:12.505382+00:00","scrape_mode": "overview"}
Pricing
Pay per event, at the Free-plan prices below. No separate paid-plan price is listed.
| Event | What is billed | Free plan price |
|---|---|---|
apify-default-dataset-item | One saved listing with the fields that were read. This is the primary event. | $0.01 on Free |
apify-actor-start | Charged when the Actor starts. The number of events depends on memory: one event per GB, minimum one event. | $0.00005 on Free |
Default memory is 512 MB, so a normal run is the minimum of one Actor Start event. 499 results = $4.99005 on Free: 499 × $0.01, plus one Actor Start at $0.00005. 1,000 × $0.01 = $10 on Free and 10,000 × $0.01 = $100 on Free for saved listings. 1,000 × $0.00005 = $0.05 on Free and 10,000 × $0.00005 = $0.5 on Free for Actor Start.
The Apify Free plan includes $5 of monthly platform usage credit. After one Actor Start event, that credit covers 499 saved listings, from floor(($5.00 on Free − $0.00005) / $0.01). On this pay-per-event Actor, platform usage (compute, Apify Proxy traffic including residential, and storage) is included in the event prices and paid by the Actor developer. Pay per event + usage is off, so platform usage is not a separate charge on your run.
Note: Raising memory above 1 GB can charge more than one Actor Start event. The listing price stays $0.01 on Free per saved record.
How to use
- Open Portalinmobiliario Scraper in your Apify account.
- Paste a public Portalinmobiliario search URL into
searchUrl. Filters already in that URL are kept. - Set
maxResultsand setscrapeModetooverviewordetail. - Set
proxyConfiguration. The default is Apify proxy group RESIDENTIAL; setuseApifyProxyto false for a direct connection. - Start the run and open the dataset. The log reports how many listing records were saved.
- Repeat the run with Apify Schedules. Daily is a starting point for listing and price checks, not a claim about how often Portalinmobiliario updates.
{"searchUrl": "https://www.portalinmobiliario.com/venta/departamento/propiedades-usadas/santiago-metropolitana","maxResults": 10,"scrapeMode": "overview","proxyConfiguration": {"useApifyProxy": false}}
Export the dataset as JSON or CSV, or read it through the Apify dataset API.
Input parameters
No input is required. Empty input uses the defaults below, except a missing or empty proxyConfiguration is a direct connection.
| Parameter | What it does | Default |
|---|---|---|
searchUrl | Public search URL. Path and query are kept. Host must be portalinmobiliario.com, www.portalinmobiliario.com, or m.portalinmobiliario.com. Rewritten to https://www.portalinmobiliario.com; fragment dropped. A house path can be /venta/casa/santiago-metropolitana. | https://www.portalinmobiliario.com/venta/departamento/propiedades-usadas/santiago-metropolitana |
maxResults | Most distinct listings to save. Non-numbers become 50; fractions are cut down; below 1 saves nothing. Schema minimum is 1. | 50 |
scrapeMode | overview reads cards. detail also opens each listing for specifications, CLP price, seller, location, description, and gallery images. Other values act as overview. | overview |
proxyConfiguration | Optional. useApifyProxy true uses Apify proxy. Omitted, empty, or false means a direct connection. If useApifyProxy is absent and proxyUrls is set, proxy is on. | {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
Limits and edge cases
Pages advance by 48 using _Desde_. The first request is the normalized URL, including a pasted offset; later pages are 48 higher. At most ceil(maxResults / 48) + 1 search pages are requested (3 at maxResults 50), stopping once enough distinct listings are saved. Waits: 0.4 seconds between search pages, 0.2 seconds after each detail page except the last. Each request times out at 40 seconds. The Actor reads public data on portalinmobiliario.com and does not log in. Whether a use is legal depends on Portalinmobiliario's terms and the law for your use case. This README does not guarantee compliance.
| Condition | What you see | What to do |
|---|---|---|
maxResults below 1 | Log says maxResults must be greater than zero; nothing is saved. | Set it to 1 or higher. |
Bad searchUrl (not HTTP(S), credentials, or another host) | Fails with searchUrl must use HTTP or HTTPS, searchUrl must not contain credentials, or searchUrl must point to portalinmobiliario.com. | Paste a public https URL on portalinmobiliario.com. |
| First page has no parseable cards | Fails with No parseable Portalinmobiliario listing cards were found. Nothing is saved. | Confirm the cards in a browser. |
| Later page has no cards or no new id | The run stops. Saved listings stay. | Raise maxResults only if more cards exist. |
| Page window is reached first | Fewer than maxResults records. At most ceil(maxResults / 48) + 1 search pages. | Raise maxResults. |
| HTTP 429, 500, 502, 503, 504, or a connection failure | Up to 3 attempts, waiting 1 second then 2 seconds, then the run fails. Message: Target returned HTTP plus the status. Pushed records remain. | Run again, direct or with Apify proxy RESIDENTIAL. |
| Any other HTTP status on a search page | Fails with Target returned HTTP plus the status. Earlier records stay. | Check the URL, then run again. |
| A detail-page fetch fails | Warning: detail fetch failed for that id; overview fields are kept. The run continues. | Use the overview record, or run detail again. |
| Price or a count is a range | price, parking, or storage is omitted. The text can stay in features. | No midpoint is guessed. |
| The same listing id appears again | The duplicate is skipped and is not billed again. | No change is needed. |
FAQ
How much does it cost to scrape Portalinmobiliario?
On the Free plan each saved listing is $0.01 and Actor Start is $0.00005. At 512 MB, 499 results = $4.99005 on Free. After one start, the $5 credit covers 499 listings.
Why is the dataset empty?
No parseable cards on the first page, maxResults below 1, or a bad host. Check the URL and set maxResults to 1 or more.
What should I do if the run fails partway through?
Saved rows remain. Use a public portalinmobiliario.com URL and run again. A detail failure keeps overview fields.
When should I use detail mode instead of overview?
Use detail for price_clp, maintenance_fee, description, coordinates, condition, or images. Both modes bill one item per saved listing.
Is it legal to collect these public listings?
The Actor reads public data on portalinmobiliario.com and does not log in. Whether a use is allowed depends on Portalinmobiliario's terms and the law for your use case. This README does not guarantee compliance.
Related actors
- Property24 Scraper | South Africa collects public property listings for South Africa.
- At Home Japan Rental Listings collects public rental listings in Japan.
- ForSaleByOwner Listings Scraper - FSBO Homes by City collects FSBO home listings by city.