InfoCasas Property Scraper — Phase-0 gate
Pricing
from $1.76 / 1,000 property searches
InfoCasas Property Scraper — Phase-0 gate
Extrae avisos de InfoCasas en Uruguay, Paraguay, Bolivia y Perú: precio en USD y moneda local, superficie, dormitorios, GPS, fotos, amenities y datos del anunciante.
Pricing
from $1.76 / 1,000 property searches
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
InfoCasas Scraper - Uruguay, Paraguay, Bolivia & Peru Property 🏠
🎉 Four InfoCasas country editions on one schema - Uruguay, Paraguay, Bolivia and Peru, 63 fields per advert, prices in the advertised currency and in US dollars
Built for property analysts, brokers, proptech teams and investors who need Southern-Cone and Andean listing data they can put straight into a spreadsheet.
🔎 What is the InfoCasas Uruguay, Paraguay, Bolivia & Peru Property Scraper — and when should you use it?
The InfoCasas Uruguay, Paraguay, Bolivia & Peru Property Scraper turns public InfoCasas property adverts from Uruguay, Paraguay, Bolivia and Peru into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.
Use it when you need: Spanish-language sale and rental adverts from the InfoCasas network as rows. Each carries the asking price in the currency the advertiser quoted and a US-dollar figure beside it, built and land area, bedrooms, bathrooms, garages and condition. Each also carries the full advertiser text, the amenity list, GPS coordinates, every photo, and the publisher's name, type and WhatsApp number. Adverts here quote in dollars or in the local currency, and often the same street has some of each, so a single-currency export of this market is a sampling error rather than a dataset. Bolivia's anticretico section is selectable too, which a screen built only around sale and rent misses entirely..
Use something else when: the property is not in Uruguay, Paraguay, Bolivia or Peru. Use FincaRaiz Scraper for Colombia, which is the fifth country edition of this same portal network and is deliberately not a market here. Use Urbania Scraper for Peru again from the other major portal, so the two together see stock neither has alone. Use Encuentra24 Scraper for Central America and the Caribbean: Panama, Costa Rica, Guatemala and six more. This actor covers the property surfaces the four InfoCasas country editions publish: houses, flats, land, commercial units, offices, farms, parking, whole buildings and the rest of each edition's own category list, for sale, for long-term rent, for seasonal rent, and in Bolivia under anticretico. It reads what the site serves a visitor. Sold-price history is not published by the portal at all, and an advert's repricing is available only as the most recent change the site shows, so a price series has to be accumulated by running on a schedule rather than back-filled.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/infocasas-property-scraper
Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.
Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want property adverts and asking prices from InfoCasas across four South American countries using the Apify Actor `sian.agency/infocasas-property-scraper`.Use it when I need: Spanish-language sale and rental adverts from the InfoCasas network as rows. Each carries the asking price in the currency the advertiser quoted and a US-dollar figure beside it, built and land area, bedrooms, bathrooms, garages and condition. Each also carries the full advertiser text, the amenity list, GPS coordinates, every photo, and the publisher's name, type and WhatsApp number. Adverts here quote in dollars or in the local currency, and often the same street has some of each, so a single-currency export of this market is a sampling error rather than a dataset. Bolivia's anticretico section is selectable too, which a screen built only around sale and rent misses entirely..Don't use it when: the property is not in Uruguay, Paraguay, Bolivia or Peru — use fincaraiz-property-scraper or urbania-property-scraper or encuentra24-property-scraper instead.How to call it: set `market` to the country edition (`uy`, `py`, `bo`, `pe`) and pick `place` from the dropdown, whose values carry their own market (`uy:montevideo`, `py:asuncion`, `bo:santa-cruz`, `pe:lima`, and a whole-country option per edition). The place list is fixed on purpose: the portal answers an unknown place by searching the entire country and returning HTTP 200, so free text would turn a typo into a nationwide bill. Choose `operationType` (`venta`, `alquiler`, `alquiler-temporal`, or `anticretico` on Bolivia only) and `propertyType` — note the editions differ, Uruguay files flats under `apartamentos` and the other three under `departamentos`, and asking for the wrong one stops the run with the list that edition does use. Narrow with `minPrice`/`maxPrice` (say which currency in `priceCurrency`), `minBedrooms`, `minBathrooms`, `minArea`, `maxArea`, `propertyState` for new-build stock and `publishedWithin` to take only fresh adverts. `sortBy` set to `newest` plus a daily schedule collects just the new adverts each day. To re-read adverts you already hold, set `operation` to `lookup` and pass `listingUrls` — a link carries its own country edition, so one run can mix all four — or bare `listingIds`, which resolve against `market` because an id is only served by its own edition.Start with this input:{"operation": "search","market": "py","place": "py:asuncion","operationType": "venta","propertyType": "casas","sortBy": "newest","maxResults": 200}Ask me which of the four countries they want, which place inside it, whether they mean sale or rental, and whether they need the prices in US dollars or the local currency for comparison, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- Pull houses for sale in Asuncion published in the last 7 days, sorted newest first, and give me the median asking price per square metre.
- Export flats to rent in Lima under 3,000 soles a month with at least two bedrooms, and include the advertiser's WhatsApp number.
- Compare asking prices for houses in Montevideo against Maldonado in US dollars, and tell me which has more new-build stock.
- Collect everything on offer under anticretico in Santa Cruz, Bolivia, and show me the deposit range.
- Take these 40 InfoCasas advert links from my sheet and re-read them so I can see which ones changed price.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/infocasas-property-scraper.md.
📋 Overview
Four countries, one row shape. The InfoCasas Scraper reads the Uruguayan, Paraguayan, Bolivian and Peruvian editions of InfoCasas and returns 63 flat fields per advert, ready for CSV, Excel, JSON or the API.
What you get:
- 🌎 Four editions covered: Uruguay, Paraguay, Bolivia and Peru. Peru is the thin spot in this niche: of the six InfoCasas actors already on the Store, one covers it, and it charges $7.39 per thousand adverts.
- 📍 Geography that cannot silently widen: 105 places, each harvested from the portal's own sitemaps and then individually confirmed to return adverts.
- 💱 Both currencies on every row: the advertised amount with its currency, plus a US-dollar figure, so Montevideo, Asunción, Santa Cruz and Lima sit in one table without an FX step of your own.
- 📦 The full record in the search row: description, GPS, every photo, amenities and the publisher arrive with the first request. There is no detail upsell here, because an advert's own page carries nothing extra.
- 💰 $2.00 per thousand adverts: charged per advert returned, and only for adverts that actually arrive.
- 🏦 The Bolivian anticrético segment: a real tenure in that market that a venta-and-alquiler screen misses completely.
✨ Features
- 🔍 Property Search: read a country edition by place, sale or rental section, property type and filters, 21 adverts per request.
- 📄 Listing Lookup: re-read adverts you already hold links or ids for, one request each, returning the same fields.
- 🎚️ Filters that map to the portal's own: price range, bedrooms, bathrooms, built area, condition and publication window.
- 🏗️ New-build markers: off-plan, under construction and never-lived-in adverts are flagged, and development projects are marked as such.
- 📉 Repricing data: adverts that have been repriced carry the amount, the percentage and the date it happened.
- 🗺️ GPS on the row: latitude and longitude alongside the written address, city and neighbourhood.
- 📸 Every photo, not a thumbnail: the full image array, the photo count, plus video and 3D-tour flags.
- 🏢 Publisher details: name, profile link, reference code and whether the advert came from an agency or a private owner.
- 🔓 No key, no login, no proxy configuration: pick an edition and a place, then press Start.
- 🧾 Run report: a summary of what was collected, what failed and what it cost is saved to the key-value store.
🎬 Quick Start
Pick the country edition, pick the place, press Start. The run pages through the portal's results until it reaches your maximum or the results run out. Everything else on the input form only narrows the set.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~infocasas-property-scraper/runs?token=YOUR_TOKEN" \-H 'Content-Type: application/json' \-d '{"operation":"search","market":"uy","place":"uy:montevideo","operationType":"venta","propertyType":"apartamentos","maxResults":100}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose the edition and the place
Set Country edition to Uruguay, Paraguay, Bolivia or Peru, then pick a Place from the list. Each entry shows the advert count measured on 13 September 2026.
Step 2: Narrow the set
Choose the sale or rental section, the property type and any price, size, condition or date filters you want. Leave them alone to take everything.
Step 3: Set a maximum and run
Maximum adverts defaults to 100. Raise it deliberately: a whole-country sweep runs to tens of thousands.
That's it! Within a minute or two, you'll have:
- A dataset of adverts with prices in both currencies
- GPS coordinates, photos, amenities and the full Spanish description on every row
- A CSV, Excel or JSON export, or an API endpoint your own code can read
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
operation | string | No | search (Property Search) or lookup (Listing Lookup). Default search. |
market | string | No | Country edition: uy, py, bo or pe. Default uy. |
place | string | No | One of 105 verified places, e.g. uy:montevideo, py:asuncion, bo:santa-cruz, pe:lima. An empty suffix (uy:) means the whole country. |
operationType | string | No | venta, alquiler, alquiler-temporal or anticretico (Bolivia only). |
propertyType | string | No | inmuebles for every type, or casas, apartamentos (Uruguay), departamentos (PY/BO/PE), terrenos, oficinas and others. |
listingUrls | array | No | Listing Lookup: advert links to re-read. A link carries its own country edition. |
listingIds | array | No | Listing Lookup: bare advert ids, resolved against the chosen edition. |
minPrice / maxPrice | integer | No | Asking-price bounds. 0 means no bound. Monthly figure for rentals. |
priceCurrency | string | No | USD or local - which currency your price bounds are in. |
minBedrooms / minBathrooms | integer | No | Lower bounds. 0 means no bound. |
minArea / maxArea | integer | No | Built area in square metres. 0 means no bound. |
propertyState | string | No | en-pozo, en-construccion, a-estrenar or usados. Empty for any condition. |
publishedWithin | string | No | 0 (today), 1, 7, 15, 30 or 40 days. Empty for any time. |
sortBy | string | No | newest, popularity, price-low, price-high, area-low, area-high. |
maxResults | integer | No | Stop after this many adverts. 0 takes everything the search matches. Default 100. |
Example - flats for sale in Montevideo:
{"operation": "search","market": "uy","place": "uy:montevideo","operationType": "venta","propertyType": "apartamentos","maxPrice": 200000,"priceCurrency": "USD","maxResults": 500}
Example - new adverts published today in Santa Cruz, including anticrético:
{"operation": "search","market": "bo","place": "bo:santa-cruz","operationType": "anticretico","propertyType": "inmuebles","publishedWithin": "0","sortBy": "newest","maxResults": 200}
Example - re-read adverts you already hold:
{"operation": "lookup","market": "py","listingUrls": ["https://www.infocasas.com.py/casa-en-venta-en-asuncion/194243388"],"listingIds": ["194243388"]}
📤 Output
Every advert is one flat row with 63 fields. The most-used ones:
| Field | Type | Description |
|---|---|---|
listingId | number | Advert id, unique across the network |
listingUrl | string | Link to the advert |
market / country | string | Country edition the row came from |
propertyTitle | string | Advert headline |
priceAmount / priceCurrency | number / string | Asking price as advertised, and the currency it was quoted in |
priceUsd | number | The same price in US dollars |
pricePerSqm | number | Asking price per square metre |
priceChangeAmount / priceChangePct / priceChangeDate | number / number / string | The most recent repricing, when the advert has one |
operationType / propertyType / condition | string | Sale or rental section, category, and off-plan / under construction / never lived in / previously occupied |
bedrooms / bathrooms / rooms / garages | number | Room counts |
areaBuilt / areaTerrain / areaTerrace | number | Built, land and terrace area in m² |
address / city / neighbourhood / state | string | Written location, as published |
latitude / longitude | number | GPS coordinates |
propertyDescription | string | The advertiser's full Spanish text, with the markup cleaned out |
photos / photoCount | array / number | Every image on the advert |
amenities / technicalSheet | array | Amenity list and the published specification rows |
advertiserName / advertiserType / isPrivateOwner | string / string / boolean | Who published it, and whether it is an agency or the owner |
advertiserWhatsapp / advertiserPhoneMasked | string | Contact numbers as published. The portal itself truncates the masked number; the WhatsApp number is often complete |
publishedAt / updatedAt / scrapedAt | string | Advert dates and the capture timestamp |
status / errorMessage | string | success on a data row, or the reason an item could not be read |
Example row (values illustrative):
{"listingId": 194243388,"market": "py","country": "Paraguay","listingUrl": "https://www.infocasas.com.py/casa-en-venta-en-asuncion/194243388","propertyTitle": "Casa en venta en Asunción, 3 dormitorios","priceAmount": 1200000000,"priceCurrency": "PYG","priceUsd": 164383,"pricePerSqm": 1252,"priceChangeAmount": null,"operationType": "venta","propertyType": "casas","condition": "usados","isProject": false,"bedrooms": 3,"bathrooms": 2,"garages": 2,"areaBuilt": 131,"areaTerrain": 300,"address": "Barrio Mburicaó, Asunción","city": "Asunción","neighbourhood": "Mburicaó","latitude": -25.2925,"longitude": -57.6178,"propertyDescription": "Casa de tres dormitorios con patio y quincho...","photoCount": 18,"photos": ["https://.../1.jpg", "https://.../2.jpg"],"amenities": ["Piscina", "Parrillero", "Aire acondicionado"],"advertiserName": "Inmobiliaria Ejemplo","advertiserType": "agency","isPrivateOwner": false,"referenceCode": "REF-1042","publishedAt": "2026-08-30","scrapedAt": "2026-09-13T10:22:41.000Z","status": "success"}
💼 Use Cases & Examples
1. Southern-Cone market analysis
Property analysts measuring a department, a city or a whole country.
Input: a country edition, a place and the sale section Output: asking price against built area, bedroom mix, the new-build share of the index Use: a quarterly market report, or a price index for the coast against the capital. The US-dollar figure on every row keeps Montevideo, Asunción, Santa Cruz and Lima in the same table.
2. Cross-border investment screening
Investors comparing yields across four countries in one workflow.
Input: the same filters run against uy, py, bo and pe
Output: one schema, so the four sets concatenate without mapping
Use: screen for price per square metre outliers, and pick up the Bolivian anticrético segment that a rent-only screen never sees.
3. New-build and development tracking
Developers and land buyers watching where new stock lands.
Input: propertyState set to off-plan, under construction or never lived in
Output: project flags, condition, publisher and first publication date
Use: measure how much new supply a submarket is absorbing and which developers are advertising into it.
4. Daily price-change monitoring
Brokers and portals tracking reductions as they are published.
Input: publishedWithin set to today, sortBy set to most recent first, on a daily schedule
Output: the repricing amount, percentage and date on adverts that carry one
Use: alert on reductions above a threshold rather than inferring them from your own snapshots.
5. Agency and advertiser intelligence
Proptech teams sizing the competition in a market.
Input: a place and a wide filter Output: publisher name, profile link, reference code and the agency-versus-owner flag Use: rank agencies by live stock, watch whose inventory is growing, and separate private listings from agency ones.
6. Comparables for valuation and lending
Appraisers and mortgage teams building a comparables set.
Input: a neighbourhood, a property type and bedroom and area bounds Output: price, area, condition, amenities and GPS on every comparable Use: an appraisal file, or the evidence pack behind a lending decision.
7. Training data and AI agents
Data teams feeding Spanish-language property text into a model.
Input: a wide sweep with maxResults raised
Output: the advertiser's full description alongside the structured fields
Use: fine-tune a listing classifier, or let an MCP-connected agent answer market questions on demand.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/infocasas-property-scraper').call({operation: 'search',market: 'py',place: 'py:asuncion',operationType: 'venta',propertyType: 'departamentos',maxResults: 200});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/infocasas-property-scraper').call(run_input={'operation': 'search','market': 'pe','place': 'pe:lima','operationType': 'alquiler','propertyType': 'departamentos','maxResults': 200,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['listingId'], item['priceUsd'], item['neighbourhood'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~infocasas-property-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation":"search","market":"bo","place":"bo:santa-cruz","operationType":"anticretico","maxResults":100}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: a daily schedule, or a webhook from your own app
- HTTP Request: start the Actor with your input and wait for the run to finish
- Process: read the dataset and filter on
priceChangePct,publishedAtorpricePerSqm - Action: append to Google Sheets, write to Postgres or Airtable, or post an alert to Slack
📊 Performance & Pricing
Free plan
- 25 adverts per run, with every field, every filter and both operations
- No credit card, no API key, no setup
- Enough to check the fields and the coverage before you commit
Paid plans
- No per-run cap - take the whole search if you want it
- 21 adverts per request, so a 1,000-advert sweep is about 48 requests
- Charged per advert returned, never for adverts that fail
| Event | Price | What it covers |
|---|---|---|
| Property Search | $0.002 per advert | Each advert returned by a results page |
| Listing Lookup | $0.004 per advert | Each advert re-read from a link or id |
| Actor start | $0.005 per run | One charge when the run begins |
$2.00 per thousand adverts on Property Search, with the full record included - description, GPS, photos, amenities and the publisher's details. There is no separate detail charge on this Actor, because an advert's own page carries the same fields its search row already has.
❓ Frequently Asked Questions
Q: Do I need an API key, a login or a proxy? A: No. Pick a country edition and a place, then press Start.
Q: Which countries does it cover? A: Uruguay, Paraguay, Bolivia and Peru - the four InfoCasas country editions. Colombia is left out on purpose: that edition is FincaRaiz, and it has its own Actor.
Q: Are prices in local currency or in dollars? A: Both, on every row. Adverts on this network quote in dollars or in the local currency, and the same street often carries some of each. Each row therefore has the advertised amount with its currency and a US-dollar figure beside it. Bolivia quotes in dollars only.
Q: What is anticrético? A: A Bolivian arrangement where the occupant lodges a lump sum with the owner instead of paying monthly rent, and gets it back at the end. It is a section of the Bolivian edition only, and it is selectable as an operation type.
Q: Does Listing Lookup return more than a search row? A: No, and it would be wrong to charge as if it did. An advert's own page carries exactly the fields a search row already has - we compared them field by field. Lookup is for when you already hold links or ids and want those specific adverts. It costs more per advert only because one request returns one advert instead of 21.
Q: Why is the place a fixed list instead of a text box? A: Because this portal answers an unknown place by searching the whole country instead of failing. A typo would then bill you for a nationwide sweep. Every one of the 105 entries was requested against the portal and confirmed to return adverts. Bolivia advertises 70 place slugs and only 30 survived that check.
Q: How many adverts can one run collect? A: As many as the search matches. Requests return 21 adverts each and paging continues until your maximum is reached or the results run out. Set the maximum to 0 only when you mean it.
Q: How do I collect only the new adverts each day? A: Set Published within to Today, sort by most recent first, and schedule the run daily. New adverts land on page one.
Q: Can one Lookup run mix adverts from different countries? A: Yes, if you pass full links, because a link carries its own country edition. Bare ids are resolved against the edition you picked, since an id is only served by its own edition.
Q: What output formats are available? A: JSON, CSV, Excel and XML, exported from the dataset or read through the API.
Q: Is the advertiser's phone number complete? A: The masked number is truncated by the site itself, so it arrives truncated here too. The WhatsApp number is frequently complete. We report the masked one as masked rather than implying the contact data is whole.
🐛 Troubleshooting
The run stopped and said the operation type does not exist on this edition
- Anticrético is published by the Bolivian edition only. Set Country edition to Bolivia, or choose venta, alquiler or alquiler temporal.
The run stopped and said the property type does not exist on this edition
- The editions use different words for the same thing. Uruguay files flats under
apartamentos; Paraguay, Bolivia and Peru usedepartamentos. The message lists the types your edition does publish.
A bare advert id came back as not found
- Ids are unique across the network but are only served by their own edition. Switch Country edition to the advert's country, or pass the full link instead, which carries the edition with it.
The run collected far more adverts than expected
- Maximum adverts was probably set to 0, which takes everything the search matches. Asunción alone carried 90,698 adverts for sale on 13 September 2026. Set a figure you are happy to pay for.
The search matched nothing
- The run ends with a message saying so and charges for no adverts. It never widens the search to fill the gap. Loosen a filter, widen the publication window, or pick the whole country by choosing the entry with an empty place suffix.
⚖️ Is it legal to scrape data?
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 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.
InfoCasas is a trademark of its owner. This Actor is not affiliated with, endorsed by or sponsored by InfoCasas, and reads only pages the site publishes publicly.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools