Inmuebles24 Scraper avatar

Inmuebles24 Scraper

Pricing

Pay per event

Go to Apify Store
Inmuebles24 Scraper

Inmuebles24 Scraper

Extract Mexico property listings, prices, features, locations, advertiser names, images, and public contact-channel availability from supplied Inmuebles24 search URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Extract current Mexico property inventory from real Inmuebles24 search URLs. The Actor returns stable listing IDs, canonical URLs, asking prices, property features, locations, descriptions, images, public advertiser names, and the contact channels displayed on each result card.

Use the output for one-time market analysis, scheduled inventory refreshes, advertiser qualification, spreadsheet exports, and listing upserts in a warehouse or CRM.

What does Inmuebles24 Scraper do?

  1. Opens each supplied Inmuebles24 search-results URL with its existing filters.
  2. Uses a Mexico residential browser session because ordinary HTTP and datacenter requests are blocked by the source.
  3. Reads rendered property cards and the page's structured listing data.
  4. Follows result pages until maxItems, maxPagesPerUrl, or source exhaustion.
  5. Deduplicates records by the stable Inmuebles24 listing ID.
  6. Saves normalized property rows to the default Apify dataset.

The Actor accepts search URLs copied from the Inmuebles24 address bar. It does not invent a parallel filter language, so the source URL remains the exact and auditable scope of every run.

Who is this Mexico property scraper for?

  • Real-estate analysts comparing asking prices and inventory by city or property type.
  • Agencies and lead teams reviewing public advertisers and available contact channels.
  • PropTech teams refreshing a catalog with stable IDs and canonical source URLs.
  • Investors and developers measuring available homes, apartments, land, or commercial inventory.
  • Data engineers loading repeatable snapshots into spreadsheets, databases, and BI tools.
  • Operations teams scheduling the same URL and comparing records between runs.

What Inmuebles24 data is extracted?

Field groupIncluded data
IdentitylistingId, canonical url, listingType
Search provenancesearchUrl, pageNumber, scrapedAt
Listing contenttitle, description, datePosted
Priceparsed price, normalized currency, original priceText
Property detailsfeaturesText, bedrooms, bathrooms, parking, first displayed area
Locationpublic address and locality labels
Advertiserpublic advertiser name and publisher logo URL
Contact availabilityphone, WhatsApp, and contact-form action flags
Mediaprimary public image URL

Fields are null when Inmuebles24 does not display that value for a result. Contact flags report whether the result card offers the channel; they do not claim to reveal a phone number, email address, or private contact record.

Why use this Actor?

  • URL-faithful scope: filters remain encoded in the source URL you supplied.
  • Stable deduplication: listingId is suitable for database upserts and snapshot comparisons.
  • Typed output: numeric price and feature fields are available alongside source text.
  • Source context: every row retains its seed URL and page number.
  • Bounded recovery: verified challenge pages rotate to a fresh residential session up to three times.
  • Fail-closed behavior: malformed URLs and unrecognized blocked pages fail the run instead of returning a misleading empty dataset.

How to get started

  1. Open Inmuebles24 and apply the city, operation, property type, and price filters you need.
  2. Copy the resulting URL ending in .html.
  3. Paste it into Inmuebles24 search URLs.
  4. Set maxItems to the maximum number of listings you want.
  5. Keep maxPagesPerUrl at its default unless you need a stricter safety cap.
  6. Run the Actor and open the Property listings dataset view.
  7. Export JSON, CSV, Excel, XML, or connect the dataset API.

Start with 10 records to inspect the shape before scheduling a larger refresh.

Input parameters

ParameterTypeDefaultDescription
startUrlsarrayrequiredOne or more real Inmuebles24 search-results URLs ending in .html.
maxItemsinteger20Maximum unique listings across all supplied URLs; range 1–10,000.
maxPagesPerUrlinteger20Pagination safety limit per URL; range 1–500.

Listing detail URLs under /propiedades/ are rejected. Apply the desired filters on Inmuebles24 first and supply the resulting search URL.

Example input: CDMX apartments

{
"startUrls": [
{
"url": "https://www.inmuebles24.com/departamentos-en-venta-en-ciudad-de-mexico.html"
}
],
"maxItems": 10,
"maxPagesPerUrl": 1
}

This exact input returns current apartment records rather than placeholder data.

Example output

{
"listingId": "150316235",
"url": "https://www.inmuebles24.com/propiedades/desarrollo/ememvein-jai-reforma-36-150316235.html",
"searchUrl": "https://www.inmuebles24.com/departamentos-en-venta-en-ciudad-de-mexico.html",
"pageNumber": 1,
"listingType": "DEVELOPMENT",
"title": "Desarrollo vertical, Cuauhtémoc · Jai Reforma 36",
"description": "Departamentos en venta con ubicación céntrica...",
"price": 4500000,
"currency": "MXN",
"priceText": "MN 4,500,000",
"featuresText": "Departamentos desde 48 m²",
"bedrooms": null,
"bathrooms": null,
"parkingSpaces": null,
"areaSquareMeters": 48,
"address": "Paseo de la Reforma 36",
"location": "Cuauhtémoc",
"advertiserName": "Class Experiencia Inmobiliaria",
"publisherLogoUrl": "https://img10.naventcdn.com/empresas/.../logo.jpg",
"imageUrl": "https://img10.naventcdn.com/avisos/.../property.jpg",
"datePosted": "8/11/26",
"hasPhoneContact": true,
"hasWhatsAppContact": true,
"hasContactForm": true,
"scrapedAt": "2026-08-11T15:00:00.000Z"
}

The sample is shortened only where image paths and description text are long. Actual rows preserve the public values returned at run time.

How much does it cost to scrape Inmuebles24 property listings?

The Actor uses pay-per-event pricing:

  • a $0.0051 start event once per run;
  • one property-listing event per unique row saved;
  • the current Bronze listing price is $0.0012 per listing, with lower per-item rates on higher Apify pricing tiers.

Examples at the Bronze rate:

ListingsStartListing eventsEstimated Actor charge
10$0.0051$0.012$0.0171
100$0.0051$0.120$0.1251
1,000$0.0051$1.200$1.2051

The Actor charges only for unique rows it saves. Residential proxy and browser infrastructure are included in the Actor's event price; users do not configure a separate proxy mode.

Pagination, limits, and deduplication

Inmuebles24 normally exposes about 30 cards per page. The Actor constructs the source's -pagina-N.html URLs, then stops when:

  • maxItems is reached;
  • maxPagesPerUrl is reached;
  • the source returns no listings;
  • a page contains no new listing IDs.

When multiple start URLs overlap, a listing is saved once per run. For repeated scheduled runs, use listingId as the external upsert key.

Scheduled inventory and price monitoring

Run the same search URL daily or weekly and store each dataset snapshot. A downstream workflow can:

  1. join records on listingId;
  2. detect new and removed IDs;
  3. compare price, priceText, or advertiser fields;
  4. notify an analyst or update a dashboard.

The Actor produces snapshots. It does not retain history or send alerts by itself, which keeps each run portable and easy to integrate.

Export and integration patterns

  • Export CSV or Excel for an analyst.
  • Send dataset rows to Google Sheets with an Apify integration.
  • Upsert records into PostgreSQL, BigQuery, Snowflake, or a search index.
  • Connect scheduled runs to Make, Zapier, n8n, or webhooks.
  • Use canonical listing URLs for manual verification.
  • Use contact-channel flags to prioritize listings that expose the buyer contact action you need.

Run through the Apify API with cURL

Replace APIFY_TOKEN with your token:

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~inmuebles24-property-listings-scraper/runs?token=APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startUrls": [{"url": "https://www.inmuebles24.com/departamentos-en-venta-en-ciudad-de-mexico.html"}],
"maxItems": 10,
"maxPagesPerUrl": 1
}'

For production, prefer an authorization header rather than placing a token in logs or source files.

JavaScript API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/inmuebles24-property-listings-scraper').call({
startUrls: [{ url: 'https://www.inmuebles24.com/departamentos-en-venta-en-ciudad-de-mexico.html' }],
maxItems: 10,
maxPagesPerUrl: 1,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python API example

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/inmuebles24-property-listings-scraper').call(run_input={
'startUrls': [{'url': 'https://www.inmuebles24.com/departamentos-en-venta-en-ciudad-de-mexico.html'}],
'maxItems': 10,
'maxPagesPerUrl': 1,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use with Apify MCP and AI agents

Add the Actor to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/inmuebles24-property-listings-scraper"

Claude Desktop setup

Add this server object to Claude Desktop's MCP configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/inmuebles24-property-listings-scraper"
}
}
}

Cursor setup

Open Cursor settings, choose MCP, add a remote HTTP server named apify, and use the same Actor-specific MCP URL shown above.

VS Code setup

In VS Code with MCP support enabled, add an HTTP server named apify to the workspace MCP configuration and set its URL to the same Actor-specific endpoint.

Example prompts:

  • “Extract 20 CDMX apartments from this Inmuebles24 search URL and summarize median asking price.”
  • “Run this rental URL, then group the returned listings by advertiser.”
  • “Compare today’s listing IDs with yesterday’s dataset and list new inventory.”

Limits and troubleshooting

The run says the URL is invalid. Use an Inmuebles24 search-results URL ending in .html, not a listing detail URL.

The source shows a Cloudflare challenge. The Actor detects this and rotates the Mexico residential browser session up to three times. If every bounded attempt is blocked, the run fails clearly rather than producing zero misleading rows.

Some fields are null. Search cards vary by property and advertiser. A null means the source did not expose that field in the public search result at extraction time.

The phone flag is true but there is no phone number. The flag indicates that Inmuebles24 displayed a phone action. This Actor does not claim to reveal contact values that the search page did not disclose in its public data.

Why did fewer items return than maxItems? The search may contain fewer unique results, reach maxPagesPerUrl, or repeat IDs across supplied URLs.

Responsible use and legality

This independent Actor is not affiliated with Inmuebles24 or Navent. Use it only for lawful purposes and public property information you are entitled to process. Respect source terms, applicable privacy and marketing law, database rights, and reasonable run frequency. Do not use advertiser information for spam, harassment, discrimination, or unlawful profiling.

Property availability and asking prices can change after extraction. Verify important decisions on the canonical source URL.

FAQ

Does it support sale and rental searches? Yes. Supply the corresponding Inmuebles24 search URL.

Does it support CDMX, Guadalajara, Mérida, Puebla, and other Mexico locations? Yes, when represented by a valid public Inmuebles24 search-results URL.

Can I run it in English? The input and output schema are documented in English. Source listing text remains in the language displayed by Inmuebles24.

Does it download property photos? No. It returns the public primary image URL, avoiding unnecessary transfer and storage.

Can I scrape a single listing URL? Not in this release. The product is optimized for search inventory and scheduled refreshes.

Can I monitor changes? Yes. Schedule repeat runs and compare rows downstream using listingId.

Are empty searches successful? A recognized natural no-result page completes with zero rows. A block or unrecognized page shape fails.

For adjacent property-market workflows, explore the automation-lab Store profile for source-specific real-estate Actors. Each source has its own schema and access strategy; use this Actor specifically for Inmuebles24 Mexico search inventory.

Support

When reporting a problem, include the run URL, input search URL, expected listing count, and whether the same source URL opens in your browser. Do not post API tokens or private downstream credentials.