RE/MAX Spain Property Listings Scraper avatar

RE/MAX Spain Property Listings Scraper

Pricing

Pay per event

Go to Apify Store
RE/MAX Spain Property Listings Scraper

RE/MAX Spain Property Listings Scraper

🏠 Extract public RE/MAX Spain sale and rental listings with prices, locations, property facts, descriptions, galleries, offices, and agents.

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

5 days ago

Last modified

Categories

Share

Extract public property listings from RE/MAX España (remax.es) into clean, structured data.

Collect sale and rental inventory with listing IDs, reference codes, prices, locations, bedrooms, bathrooms, floor area, descriptions, images, RE/MAX office context, agent names, and canonical property URLs.

Use exact RE/MAX Spain search pages, individual property URLs, or a structured province/city search.

  • 🏠 Track active Spanish property inventory
  • 💶 Build comparable-property and price datasets
  • 🔔 Monitor new or changed opportunities
  • 🤝 Route listings to brokers, investors, and lead systems
  • 📊 Export to JSON, CSV, Excel, XML, RSS, or your data warehouse

No login, browser automation, or private RE/MAX account is required for the supported public pages.

What does RE/MAX Spain Property Listings Scraper do?

The Actor visits public RE/MAX Spain search pages, follows pagination, and saves each unique property as one dataset record.

When detail enrichment is enabled, it also opens each public property page to collect:

  • the full property description;
  • the complete available image gallery;
  • normalized numeric price and area values;
  • locality and province from structured page data;
  • RE/MAX office and agent context.

Search-card data is retained when one optional detail page cannot be enriched, so a temporary detail-page issue does not discard otherwise useful inventory.

Who is this property scraper for?

Real-estate investors

Refresh neighborhoods regularly, compare asking prices, identify new opportunities, and feed acquisition models.

Brokers and agencies

Monitor competing public inventory, discover listing patterns, and enrich internal market reports.

Proptech teams

Create normalized feeds for search, analytics, valuation, alerting, and Spanish housing-data products.

Market researchers

Study property type, price, bedroom, bathroom, and area distributions across locations and time.

Lead-generation operators

Route relevant public listing and office context into qualification and outreach workflows.

Data engineers

Schedule repeat runs and load stable records into a warehouse without maintaining a custom crawler.

Why use this RE/MAX España scraper?

  • Spain-specific: built for public remax.es search and property pages.
  • Flexible targeting: accept exact URLs or generate a search from location fields.
  • Localized normalization: preserve displayed Spanish values and provide numeric fields.
  • Stable deduplication: use RE/MAX listing IDs instead of title text.
  • Optional enrichment: choose fast search-card extraction or richer property details.
  • Pagination support: follow all available pages until maxItems is reached.
  • Fail-closed URL validation: reject non-RE/MAX hosts and unsupported paths.
  • Integration ready: use datasets, API calls, webhooks, schedules, and MCP.

What RE/MAX Spain property data can you extract?

FieldTypeDescription
listingIdstringStable numeric RE/MAX listing identifier
referencestringPublic property reference such as RMA-AVENIDA
operationstringsale or rent
propertyTypestringPublic property type, for example Piso
titlestringListing title shown by RE/MAX Spain
pricenumber/nullNormalized numeric asking price
priceRawstring/nullOriginal localized price such as 1.380.000 €
currencystringEUR
locationstringDisplayed neighborhood/city location
citystring/nullCity or locality
provincestring/nullProvince or region
bedroomsnumber/nullNumber of bedrooms
bathroomsnumber/nullNumber of bathrooms
areaM2number/nullNormalized area in square metres
areaRawstring/nullOriginal displayed area
descriptionstring/nullExcerpt or full enriched description
imageUrlstring/nullPrimary property image
imageUrlsarrayAvailable property gallery images
officeNamestring/nullRE/MAX office context
agentNamestring/nullPublic agent name when available
urlstringCanonical property page URL
sourceSearchUrlstringSearch or detail URL that produced the record
detailsEnrichedbooleanWhether the property page was parsed
scrapedAtstringISO 8601 extraction timestamp

How to scrape RE/MAX Spain listings

  1. Open the Actor input page.
  2. Keep the prefilled Madrid search URL, paste your own remax.es URL, or remove URLs and use structured location fields.
  3. Choose sale or rent and a property type when using structured search.
  4. Set a low maxItems for your first run.
  5. Enable detail enrichment when you need full descriptions, galleries, offices, or agents.
  6. Click Start.
  7. Preview results in the dataset table.
  8. Export or integrate the dataset in your preferred format.

A small run usually completes quickly because it uses direct HTTP rather than a browser.

Input parameters

ParameterRequiredDefaultPurpose
startUrlsNoMadrid/Chamartín sampleRE/MAX Spain search or property URLs
operationNosaleSale or rent for generated searches
propertyTypeNoallAll, apartment, house, commercial, or land
provinceNoMadridProvince for a generated search
cityNoMadridCity or municipality for a generated search
districtNoemptyOptional district or neighborhood
maxItemsNo20Maximum unique listings to save
includeDetailsNotrueOpen property pages for richer fields

When startUrls contains values, those exact URLs take priority over structured location fields.

Example input: exact RE/MAX search URL

{
"startUrls": [
{
"url": "https://www.remax.es/buscador-de-inmuebles/venta/todos/madrid/madrid/chamartin/"
}
],
"maxItems": 10,
"includeDetails": true
}

Use exact URLs when you already configured filters on the RE/MAX Spain website or need reproducible monitoring.

{
"operation": "sale",
"propertyType": "apartment",
"province": "Madrid",
"city": "Madrid",
"district": "Chamartín",
"maxItems": 50,
"includeDetails": false
}

Remove startUrls when you want the Actor to generate the search URL from these fields.

Example output

{
"listingId": "887680",
"reference": "RMA-AVENIDA",
"operation": "sale",
"propertyType": "Piso",
"title": "Piso en venta, Chamartín - Prosperidad, Madrid",
"price": 1380000,
"priceRaw": "1.380.000 €",
"currency": "EUR",
"location": "Chamartín - Prosperidad, Madrid",
"city": "Madrid",
"province": "Madrid",
"bedrooms": 3,
"bathrooms": 3,
"areaM2": 161,
"areaRaw": "161 m2",
"description": "ESPECTACULAR PISO EN PLANTA 14...",
"imageUrl": "https://anaconda-guru.s3.eu-west-1.amazonaws.com/.../4-1.jpg",
"imageUrls": ["https://anaconda-guru.s3.eu-west-1.amazonaws.com/.../4-1.jpg"],
"officeName": "RE/MAX Action",
"agentName": "Luis Diéguez Villarejo",
"url": "https://www.remax.es/buscador-de-inmuebles/venta/piso/madrid/madrid/chamartin-prosperidad/RMA-AVENIDA/",
"detailsEnriched": true,
"scrapedAt": "2026-07-19T00:00:00.000Z"
}

Actual listings change continuously; the example illustrates the output shape rather than guaranteed availability.

How much does it cost to scrape RE/MAX Spain property listings?

This Actor uses pay-per-event pricing:

  • Start: $0.005 per run
  • Property listing: tiered by Apify plan
Apify tierPrice per saved listing
FREE$0.00018534
BRONZE$0.00016116
SILVER$0.00012571
GOLD$0.000096697
PLATINUM$0.000064465
DIAMOND$0.000045125

A 100-listing BRONZE run is approximately $0.0211: one start event plus 100 property events.

Tier discounts apply automatically for eligible Apify plans. Check the Actor pricing tab for the live rates before a large run.

Use includeDetails: false when search-card fields are sufficient. Charges are based on saved listings, not on raw HTTP requests.

Tips for reliable property extraction

  • 🧪 Start with 5–20 listings before scheduling a large job.
  • 🔗 Prefer a copied RE/MAX search URL for uncommon site filters.
  • 📍 Use Spanish province, city, and district names for structured searches.
  • 🖼️ Enable details only when full descriptions or galleries are required.
  • 🆔 Join snapshots by listingId or reference, not by title.
  • 🕒 Compare scrapedAt timestamps across scheduled datasets.
  • 📦 Export raw JSON when you need the full imageUrls array.

Monitoring new and changed RE/MAX listings

Create an Apify schedule that runs the same search daily or hourly.

For each new snapshot:

  1. join records on listingId;
  2. detect IDs absent from the previous snapshot as new listings;
  3. compare price, description, and detailsEnriched for changes;
  4. route matches to email, Slack, a CRM, or a webhook;
  5. retain historical rows in your warehouse for trend analysis.

For many neighborhoods, submit multiple search URLs and use sourceSearchUrl to preserve provenance.

Integrations and automation workflows

Google Sheets inventory feed

Connect the dataset to Google Sheets and refresh a table of price, area, location, and property URL for an investment team.

Webhook alerts

Use a run-finished webhook, compare the output with yesterday's dataset, and notify a broker when a new matching reference appears.

CRM lead routing

Send enriched office and agent context with the property URL into HubSpot, Salesforce, or your internal qualification queue.

Data warehouse analysis

Load JSON records into BigQuery, Snowflake, PostgreSQL, or object storage. Partition by scrapedAt and join on listingId.

Valuation models

Use price, areaM2, bedrooms, bathrooms, location, and property type as comparable-property features. Treat asking price as a public listing value, not a completed transaction price.

JavaScript API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/remax-spain-property-listings-scraper').call({
startUrls: [{
url: 'https://www.remax.es/buscador-de-inmuebles/venta/todos/madrid/madrid/chamartin/'
}],
maxItems: 20,
includeDetails: true
});
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/remax-spain-property-listings-scraper').call(run_input={
'operation': 'sale',
'propertyType': 'apartment',
'province': 'Madrid',
'city': 'Madrid',
'maxItems': 20,
'includeDetails': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL API example

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~remax-spain-property-listings-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"operation": "rent",
"propertyType": "all",
"province": "Madrid",
"city": "Madrid",
"maxItems": 10,
"includeDetails": false
}'

Poll the returned run or use a synchronous Actor API endpoint when your client needs to wait for completion.

Use RE/MAX Spain Scraper with MCP and AI agents

Apify MCP lets Claude Code, Claude Desktop, Cursor, and VS Code run the Actor as a tool.

Claude Code

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

Claude Desktop, Cursor, or VS Code

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

Example prompts:

  • “Scrape the first 20 RE/MAX Spain sale listings in Madrid and rank them by price per square metre.”
  • “Extract this RE/MAX property URL and summarize the description, office, agent, and image count.”
  • “Run my Chamartín listing monitor and identify references not present in yesterday’s dataset.”

Performance and limits

The Actor uses direct HTTP with conservative sequential detail enrichment.

  • Search-only mode is faster and makes one request per result page.
  • Detail mode adds approximately one public page request per saved property.
  • maxItems supports 1 to 5,000 records.
  • Memory is set to 256 MB for an HTTP workload.
  • The default timeout is five minutes; keep first runs small.

Site inventory and pagination determine how many records are available. Duplicate listing IDs are emitted only once per run.

Data quality notes

Public real-estate pages may omit bedrooms, bathrooms, prices, agents, or exact addresses for some listings. Missing source values are represented as null rather than invented.

price and areaM2 are parsed numbers. priceRaw and areaRaw preserve the visible localized text for auditing.

Search cards can contain abbreviated descriptions. Set includeDetails to true for the full public description where available.

Image URLs point to RE/MAX Spain’s public content delivery host and may change after the source removes a listing.

This Actor extracts publicly accessible information. Whether a particular use is lawful depends on your jurisdiction, purpose, volume, contracts, and handling of personal information.

You are responsible for:

  • complying with applicable laws and RE/MAX terms;
  • respecting intellectual-property and database rights;
  • avoiding excessive request volume;
  • establishing a lawful basis for any personal-data processing;
  • honoring deletion, retention, and access requirements;
  • not using the data for discrimination, harassment, or unlawful outreach.

Consult qualified legal counsel for production use cases. This documentation is not legal advice.

Frequently asked questions

Does this scraper require a RE/MAX login?

No. The supported search and property pages are public and were designed for anonymous extraction.

Can I scrape rentals as well as properties for sale?

Yes. Paste a rental search URL or set operation to rent when using structured search.

Can I scrape one property URL?

Yes. Add an individual remax.es/buscador-de-inmuebles/.../<reference>/ URL to startUrls. The Actor emits one enriched record.

Why is a field null?

The public source may not expose that value for the listing, or detail enrichment may have been disabled. The Actor does not fabricate missing facts.

Why did my structured search return no records?

Check the spelling and hierarchy of province, city, and district. Copying the exact working RE/MAX Spain search URL is the best troubleshooting step for uncommon locations or filters.

Why did the Actor reject my URL?

Only HTTPS remax.es search and property paths are accepted. External URLs and unrelated RE/MAX country domains fail closed to prevent accidental out-of-scope crawling.

How do I make runs faster?

Disable includeDetails when card-level price, location, bedrooms, bathrooms, area, image, and URL are sufficient.

Will the Actor return historical sold prices?

No. It extracts current public listing data, not official transaction or registry records.

Choose this Actor when your source is specifically public RE/MAX Spain inventory on remax.es.

Support

If a source page works in your browser but produces an extraction error, share:

  • the public RE/MAX Spain URL;
  • a redacted input example;
  • the run ID;
  • the approximate time of the run;
  • the fields or records you expected.

Do not share private account credentials or personal API tokens. The run log includes page and extraction context needed for troubleshooting.