Remax APIremax.pt ↗
Access RE/MAX Portugal real estate developments, unit listings, pricing, and region data via 3 structured endpoints. Filter by county, price, bedrooms, and area.
What is the Remax API?
The RE/MAX Portugal API exposes 3 endpoints for searching and retrieving real estate developments (empreendimentos) listed on remax.pt. The search_developments endpoint accepts filters for county, price range, bedroom count, and area, returning paginated results with nested unit listings. Individual development records include agent details, geographic coordinates, images, videos, and virtual tour availability.
curl -X POST 'https://api.parse.bot/scraper/4712a94d-de4e-4a83-bacd-a5a1dbcb4f5a/search_developments' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"page": "0",
"sort": "-PublishDate",
"county": "lisboa",
"page_size": "5"
}'Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace remax-pt-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.re_max_portugal_developments_api import Remax, Sort, DevelopmentNotFound
remax = Remax()
# List available regions
for region in remax.regions.list(limit=5):
print(region.name, region.district_name, region.region_search)
# Search developments sorted by price descending
for dev in remax.developments.search(county="cascais", sort=Sort.PRICE_DESC, limit=3):
print(dev.name, dev.minimum_price, dev.listings_count)
for unit in dev.units:
print(unit.listing_type, unit.price, unit.bedrooms, unit.bathrooms)
# Get detailed development by ID
detail = remax.developments.get(development_id="8882")
print(detail.name, detail.agent_name, detail.agent_phone)
for desc in detail.descriptions:
print(desc.language_code, desc.description)
for unit in detail.units:
print(unit.listing_title, unit.price, unit.total_area, unit.has_floor_plan)
Search developments (empreendimentos) on RE/MAX Portugal with optional filters for county, price range, bedrooms, and area. Returns paginated results with development details and their associated units. Paginates via zero-based page number. Each development contains nested unit listings with pricing, area, and status information.
| Param | Type | Description |
|---|---|---|
| page | integer | Zero-based page number for pagination. |
| sort | string | Sort field with optional - prefix for descending. |
| county | string | County (concelho) slug to filter by, lowercase with hyphens (e.g. 'lisboa', 'cascais', 'porto'). Use list_regions endpoint to get valid values from the region_search field. |
| bedrooms | string | Filter by number of bedrooms in units (e.g. '2'). |
| max_area | string | Maximum total area filter in square meters (e.g. '200'). |
| min_area | string | Minimum total area filter in square meters (e.g. '50'). |
| max_price | string | Maximum price filter in euros (e.g. '500000'). |
| min_price | string | Minimum price filter in euros (e.g. '100000'). |
| page_size | integer | Number of results per page (1-100). |
| search_value | string | Free-text search query to filter developments by name. |
{
"type": "object",
"fields": {
"page": "integer - current zero-based page number",
"total": "integer - total number of matching developments",
"results": "array of development objects with nested units",
"page_size": "integer - number of results per page",
"total_pages": "integer - total number of pages available",
"has_next_page": "boolean - whether more pages exist after this one",
"has_previous_page": "boolean - whether pages exist before this one"
},
"sample": {
"data": {
"page": 0,
"total": 645,
"results": [
{
"id": 8890,
"name": "Edificio Cais",
"units": [
{
"id": 7157920,
"floor": 1,
"price": 215000,
"garage": false,
"is_sold": false,
"parking": false,
"bedrooms": 0,
"lot_size": null,
"bathrooms": 1,
"is_active": true,
"total_area": 39,
"living_area": 48,
"garage_spots": 0,
"listing_type": "Apartamento",
"publish_date": "2026-06-09T11:13:23.237",
"region_name2": "Figueira da Foz",
"region_name3": "Buarcos e Sao Juliao",
"business_type": "Venda",
"listing_title": "126641022-63",
"energy_efficiency": 11
}
],
"active": true,
"agent_id": "126641022",
"latitude": 40.237,
"pictures": [
"developments/8890/349316dc.jpg"
],
"zip_code": "3080-052",
"is_online": true,
"longitude": -8.829,
"office_id": 630,
"agent_name": "Nuno Rodrigues",
"is_special": false,
"local_zone": "Figueira Da Foz",
"office_name": "RE/MAX Paixao",
"publish_date": "2026-06-09T11:58:31.963",
"region_name1": "Coimbra",
"region_name2": "Figueira da Foz",
"region_name3": "Buarcos e Sao Juliao",
"minimum_price": 215000,
"listings_count": 16,
"has_active_listings": true
}
],
"page_size": 5,
"total_pages": 129,
"has_next_page": true,
"has_previous_page": false
},
"status": "success"
}
}About the Remax API
Endpoints and Data Coverage
The API covers three operations against RE/MAX Portugal's development listings. search_developments accepts POST requests with optional filters — county (a lowercase hyphenated slug such as 'lisboa' or 'cascais'), min_price/max_price in euros, min_area/max_area in square meters, and bedrooms. Results are paginated using a zero-based page parameter and return top-level fields including total, total_pages, has_next_page, and a results array of development objects, each containing nested unit listings.
Development Detail
get_development takes a numeric development_id (obtainable from results[*].id in search results) and returns a single development record with expanded unit detail. Fields include name, latitude, zip_code, pictures (array of image paths), videos (array of video paths), is_online, active, agent_id, and per-unit data such as original price, floor plans, and virtual tour availability. Descriptions are returned as arrays of text segments.
Region Reference
list_regions requires no inputs and returns the complete list of Portuguese counties (concelhos) available for filtering, including each region's id, name, region_search slug, district information, and geographic coordinates. Use this endpoint to get valid county slug values before calling search_developments.
The Remax API is a managed, monitored endpoint for remax.pt — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when remax.pt changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official remax.pt API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Portugal property search tool filtered by county slug, bedroom count, and price range from
search_developments. - Aggregate development inventory across Lisbon and Porto by iterating paginated results and collecting unit-level pricing.
- Map active developments geographically using
latitudecoordinates returned byget_development. - Display development media galleries by consuming the
picturesandvideosarrays from the detail endpoint. - Identify developments with virtual tour availability for a remote-buyer property platform.
- Populate a county selector UI using the
nameandregion_searchfields fromlist_regions. - Monitor new RE/MAX Portugal development listings by periodically polling
search_developmentssorted by recency.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does RE/MAX Portugal have an official developer API?+
How do I filter search results by location?+
county slug to search_developments — for example, 'lisboa', 'porto', or 'cascais'. Valid slugs are the region_search values returned by list_regions. County is the finest geographic granularity the search endpoint supports; filtering by parish or street is not available.What pagination model does `search_developments` use?+
page=0 is the first page. The response includes total, total_pages, page_size, has_next_page, and has_previous_page so you can iterate without guessing bounds. Sorting can be controlled with the sort parameter, using a - prefix for descending order.Does the API cover rental listings or only developments for sale?+
Are agent contact details exposed in the responses?+
get_development endpoint returns an agent_id field identifying the responsible agent, but full agent contact details such as phone numbers or email addresses are not currently exposed. You can fork the API on Parse and revise it to add an agent detail endpoint that retrieves contact information.