InfoCasas Scraper — Uruguay, Paraguay & Bolivia Property avatar

InfoCasas Scraper — Uruguay, Paraguay & Bolivia Property

Pricing

from $3.50 / 1,000 results

Go to Apify Store
InfoCasas Scraper — Uruguay, Paraguay & Bolivia Property

InfoCasas Scraper — Uruguay, Paraguay & Bolivia Property

Scrape InfoCasas property listings across Uruguay, Paraguay and Bolivia. Extract price in local currency and USD, area, bedrooms, amenities, GPS and the listing agency's name, phone and WhatsApp. No API key, no login.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

8 days ago

Last modified

Share

InfoCasas Scraper — Uruguay, Paraguay & Bolivia Property Data

Extract the South American property market that almost nobody indexes: InfoCasas listings from Uruguay, Paraguay and Bolivia, with price in local currency and USD, amenities, GPS — and the listing agency's phone and WhatsApp number.

What does the InfoCasas Scraper do?

This Actor collects live property listings from InfoCasas, the largest real-estate marketplace in Uruguay, Paraguay and Bolivia. InfoCasas is a Next.js site that ships its entire result page as a JSON payload, so this Actor reads that payload directly and gets exactly the objects the site's own front end renders — 21 fully-populated listings per page, no browser, no selector guesswork.

Pick a country, sale or rent, a property type and optionally a city, and the Actor pages through the results writing one flat row per listing: title and full description, price with its currency plus a USD conversion the site itself computes, total and built area, bedrooms and bathrooms from the technical sheet, construction state and year, the amenity list, neighbourhood, department, GPS coordinates — and the advertising agency's name, type, phone number and WhatsApp availability. That last part is rare: most property portals hide contact details behind a form, while InfoCasas publishes them on the card.

Who is it for?

  • Real-estate investors comparing price per square metre between Montevideo, Punta del Este, Asunción and Santa Cruz.
  • Lead-generation teams building agency contact lists for three under-served markets.
  • Proptech and portal operators seeding or benchmarking a Southern-Cone inventory.
  • Relocation and residency advisers — Uruguay and Paraguay both attract residency-driven buyers who need current price evidence.
  • Analysts and journalists covering markets with almost no open property data.

Use cases

  • Track asking prices per square metre in Montevideo neighbourhoods, week over week.
  • Build a complete agency directory for Uruguay: name, type, phone, WhatsApp and live-listing count.
  • Compare Punta del Este holiday-home pricing against Montevideo residential pricing in USD.
  • Monitor new-build ("A estrenar") supply separately from resale stock using constructionState.
  • Feed an AI agent live listings so it can answer "what does a 3-bedroom in Asunción cost?".

Why use this InfoCasas Scraper?

  • Keyless and login-free — nothing to register, nothing to rotate.
  • Agency phone and WhatsApp on every row — the contact data most property scrapers cannot reach.
  • Three countries from one Actor — Uruguay, Paraguay and Bolivia, each with its own marketplace.
  • Dual pricing — local currency plus the USD figure InfoCasas publishes, so cross-border comparison needs no FX guesswork.
  • 38 fields per listing, including amenities, construction state, GPS and the reference code sellers quote on the phone.
  • Bulk by design — 21 listings per page and roughly 60,000 live in Uruguay alone.

What data can you extract?

One row per listing. Anything the advertiser left blank comes back as null.

FieldTypeDescription
listingIdstringInfoCasas listing id
referenceCodestringAgency reference code, e.g. "K6E857"
titlestringListing headline
urlstringDirect link to the listing
descriptionstringFull description, HTML stripped
pricenumberAsking price in the quoted currency
currencystringCurrency as displayed, e.g. U$S or $
priceUsdnumberPrice in USD as computed by InfoCasas
priceWithAdminnumberPrice including the building's admin fee, where applicable
priceWithAdminUsdnumberThe same figure in USD
isPriceHiddenbooleanWhether the seller chose to hide the price
operationTypestringVenta (sale) or Alquiler (rent)
propertyTypestringApartamento, Casa, Terreno, Oficina, Local…
bedroomsnumberBedroom count from the technical sheet
bathroomsnumberBathroom count
totalAreaSqmnumberTotal area in m²
builtAreaSqmnumberBuilt area in m²
usableAreaSqmnumberUsable area in m²
constructionStatestringe.g. "A estrenar" (brand new), "Usado"
constructionYearnumberYear built
floorNumbernumberFloor the unit is on
amenitiesstringAmenity list, pipe-separated
addressstringAddress as published
neighbourhoodstringNeighbourhood (barrio)
statestringDepartment or state
countrystringUruguay, Paraguay or Bolivia
latitude / longitudenumberGPS coordinates
agencyIdstringAgency identifier
agencyNamestringAdvertising agency
agencyTypestringAgency or private seller
agencyPhonestringContact phone in international format
agencyHasWhatsappbooleanWhether that number takes WhatsApp
agencyLogoUrlstringAgency logo
agencyProfileUrlstringAgency profile page
imageUrlstringMain photo
imageCountnumberNumber of photos
scrapedAtstringISO 8601 collection timestamp

Sample output

{
"listingId": "194109355",
"referenceCode": "K6E857",
"title": "Apartamento frente al Puerto del Buceo",
"url": "https://www.infocasas.com.uy/apartamento-frente-al-puerto-del-buceo/194109355",
"description": "Apartamento frente al Puerto del Buceo con excelente vista. Exclusivo apartamento ubicado frente al Puerto del Buceo...",
"price": 420000,
"currency": "U$S",
"priceUsd": 420000,
"priceWithAdmin": 442000,
"isPriceHidden": false,
"operationType": "Venta",
"propertyType": "Apartamento",
"bedrooms": 3,
"bathrooms": 2,
"totalAreaSqm": 115,
"builtAreaSqm": 105,
"constructionState": "A estrenar",
"amenities": "Garaje | Balcón / Terraza | Calefacción Central | Aire Acondicionado | Lavadero",
"address": "Puerto del Buceo",
"neighbourhood": "Puerto Buceo",
"state": "Montevideo",
"country": "Uruguay",
"latitude": -34.9049452,
"longitude": -56.1287644,
"agencyId": "202914",
"agencyName": "Vista Inmobiliaria",
"agencyType": "inmobiliaria",
"agencyPhone": "+59899000233",
"agencyHasWhatsapp": true,
"imageCount": 14,
"scrapedAt": "2026-08-13T17:52:18.006Z"
}

How to use the InfoCasas Scraper

Option A — a whole country

Leave the city empty and the Actor covers the entire national marketplace.

{
"country": "uy",
"operation": "venta",
"propertyType": "casas-y-apartamentos",
"city": "",
"maxResults": 1000,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "UY" }
}
  1. Choose a Country — Uruguay, Paraguay or Bolivia.
  2. Choose Sale or rent.
  3. Choose a Property type — houses & apartments is the broadest residential filter.
  4. Set Max results and run.

Option B — one city

Pass the city slug exactly as InfoCasas writes it in its own URLs — montevideo, punta-del-este, asuncion, santa-cruz. This is how you build a comparable set for one market.

{
"country": "uy",
"operation": "alquiler",
"propertyType": "apartamentos",
"city": "montevideo",
"maxResults": 500,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "UY" }
}

Input parameters

ParameterTypeDefaultDescription
countrystringuyuy (Uruguay), py (Paraguay) or bo (Bolivia).
operationstringventaventa for sale, alquiler for rent.
propertyTypestringcasas-y-apartamentosHouses & apartments, apartments, houses, land, offices or commercial premises.
citystringCity slug from InfoCasas' own URL; empty means the whole country.
maxResultsinteger500How many listings to collect.
proxyConfigurationobjectResidential / UYResidential proxies pinned to the selected country.

Tips for best results

  • Copy the city slug from the site's URL. InfoCasas uses its own slugs (punta-del-este, ciudad-de-la-costa); guessing a spelling is the most common reason a run comes back empty.
  • Use priceUsd for cross-country comparison. Uruguayan listings are often quoted in dollars and Paraguayan or Bolivian ones in local currency; the USD column removes the FX step.
  • priceWithAdmin matters for apartments. In Montevideo the monthly gastos comunes can be a meaningful share of the cost; comparing headline prices alone understates apartments against houses.
  • constructionState separates new builds from resale — "A estrenar" is brand new, which is the segment most developers care about.
  • Agency phone numbers come in international format and are WhatsApp-capable more often than not; agencyHasWhatsapp tells you which.
  • Split by property type to go deeper. Each type has its own result cap in practice, so four narrow runs beat one broad run for total coverage.
  • Keep the proxy country aligned with the marketplace you selected — each national site serves local traffic more reliably.
  • Deduplicate on listingId across scheduled runs; agencies refresh listings frequently.
  • Zero rows? Clear the city first. If that fixes it, the slug was wrong.

Integrations

  • Google Sheets — send each run's dataset to a sheet your acquisitions or sales team already uses.
  • Slack — alert a channel when new listings appear in a target neighbourhood.
  • Zapier / Make — push agency contacts straight into a CRM.
  • Webhooks — receive the dataset id the moment a run completes.
  • Schedules — daily runs turn this into a price and supply history for three markets.

API usage

cURL

curl -X POST "https://api.apify.com/v2/acts/logiover~infocasas-property-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"country":"uy","operation":"venta","city":"montevideo","maxResults":200}'

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('logiover/infocasas-property-scraper').call({
country: 'py',
operation: 'venta',
propertyType: 'casas-y-apartamentos',
city: 'asuncion',
maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, 'listings');

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("logiover/infocasas-property-scraper").call(run_input={
"country": "uy",
"operation": "alquiler",
"propertyType": "apartamentos",
"city": "montevideo",
"maxResults": 500,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["neighbourhood"], item["priceUsd"], item["agencyName"], item["agencyPhone"])

Use with AI agents (MCP)

Expose this Actor through Apify's MCP server (https://mcp.apify.com) and an assistant can answer live questions about three property markets that are otherwise invisible in training data.

"Use the InfoCasas scraper to collect 300 apartments for sale in Montevideo, then rank neighbourhoods by median price per square metre in USD."

FAQ

Do I need an InfoCasas account or API key?

No. The Actor reads the public page payload that serves InfoCasas' own front end. There is nothing to register.

Which countries are supported?

Uruguay, Paraguay and Bolivia — the three markets where InfoCasas is the leading portal. Each is a separate marketplace with its own listings and currency.

How many listings can one run return?

Uruguay alone carries around 60,000 live listings, at 21 per page. Set maxResults to what you need; split by city or property type for the deepest coverage.

Why did my run return zero rows?

Nine times out of ten the city slug does not exist. Clear the city field and re-run: if listings appear, correct the slug against the site's own URL.

Are the agency phone numbers really public?

Yes. InfoCasas publishes the advertiser's contact number on the result card itself, which is why it appears in the page payload this Actor reads. Nothing is unmasked, decoded or reverse-engineered. Treat those numbers as business contact data and follow the note below.

What is the difference between price and priceUsd?

price is the figure in whatever currency the seller quoted; priceUsd is InfoCasas' own conversion. Uruguayan listings are frequently priced in dollars already, in which case the two match.

What does priceWithAdmin mean?

Apartment listings in the region often quote a separate monthly building fee (gastos comunes). Where InfoCasas publishes a combined figure, it appears in this column.

Why are some fields null?

Because the advertiser left them blank. Construction year, floor number and usable area are optional and are missing from a fair share of listings. A null means "not published", never "zero".

Can I export to CSV or Excel?

Yes — JSON, CSV, Excel, XML and RSS from the run's Storage tab or through the API.

How fresh is the data?

Every run fetches live pages. scrapedAt timestamps each row, so scheduled runs give you a precisely dated price history.

How often is the Actor updated?

It is monitored and maintained. Reading the site's own structured payload rather than its markup makes it resistant to redesigns.

This Actor collects publicly available information only — listings InfoCasas publishes openly to every visitor, including the contact details advertisers choose to display on their own cards. Collecting public data is broadly lawful in most jurisdictions, but you are responsible for what you do with it.

Contact numbers deserve particular care. A number belonging to an agency is business contact data; a number belonging to a private individual selling their own home may be personal data under Uruguay's Law 18.331, Paraguayan and Bolivian data-protection rules, or the GDPR if you operate in the EU. Marketing to those numbers may additionally fall under anti-spam rules. Make sure you have a lawful basis before storing or contacting, and review InfoCasas' Terms of Service before large-scale or commercial collection. This is not legal advice.