Propiedades APIpropiedades.com ↗
Search Mexico real estate listings, get location suggestions, and retrieve property details and images via the Propiedades.com API. 4 endpoints.
What is the Propiedades API?
The Propiedades.com API provides 4 endpoints for querying real estate listings, location suggestions, property details, and gallery images from Mexico's propiedades.com platform. Use search_location to resolve neighborhoods, cities, and areas into direction IDs, then pass those IDs to search_listings to retrieve paginated property results with price, size, bedroom count, and coordinates. Listings can be filtered by transaction type, property category, and sort order.
curl -X GET 'https://api.parse.bot/scraper/8e472e31-c37a-4cf9-abab-04247e5feb37/search_location?query=Guadalajara' \ -H 'X-API-Key: $PARSE_API_KEY'
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 propiedades-com-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.
"""Walkthrough: propiedades.com SDK — search locations, list rental properties, view images."""
from parse_apis.propiedades_com_api import Propiedades, Sort, Purpose, PropertyType, LocationNotFound
client = Propiedades()
# Search for locations matching a city name — each result carries a direction_id for listings.
location = client.locations.search(query="Roma Norte", limit=3).first()
if location:
print(location.label, location.id, location.latitude, location.longitude)
# Search rental listings in a known neighborhood using enums for filters.
for listing in client.listings.search(
direction_id="733",
purpose=Purpose.RENT,
property_type=PropertyType.RESIDENTIAL,
order=Sort.PRICE_ASC,
limit=3,
):
print(listing.city, listing.price_real, listing.currency, listing.bedrooms, listing.bathrooms)
# Drill into a single listing's image gallery via sub-resource.
listing = client.listings.search(direction_id="733", purpose=Purpose.RENT, limit=1).first()
if listing:
for image in listing.images.list(limit=3):
print(image.cdn_url, image.width, image.height)
# Typed error handling — catch a location-not-found scenario.
try:
results = client.locations.search(query="NonexistentPlace12345", limit=1).first()
except LocationNotFound as exc:
print(f"Location not found: {exc}")
print("exercised: locations.search / listings.search / listing.images.list")
Get location suggestions for a search query. Returns neighborhoods, cities, and areas in Mexico with direction IDs for use with search_listings. Each result includes geographic coordinates and an associated URL on propiedades.com.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search query for a city, neighborhood, or area in Mexico (e.g. 'Guadalajara', 'Ciudad de Mexico', 'Roma Norte'). |
{
"type": "object",
"fields": {
"success": "boolean indicating if the request was successful",
"directions": "array of location objects, each with id, label, latitude, longitude, url, is_state, and other fields"
},
"sample": {
"data": {
"success": true,
"directions": [
{
"id": 56151,
"ord": 1,
"url": "https://propiedades.com/chapalita-guadalajara/residencial-renta",
"label": "Chapalita, Guadalajara, Jalisco",
"is_state": true,
"latitude": 20.660329818725586,
"longitude": -103.39424896240234,
"inverted_url": "https://propiedades.com/chapalita-guadalajara/residencial-renta",
"previous_search": false
}
]
},
"status": "success"
}
}About the Propiedades API
Location and Listing Search
The search_location endpoint accepts a free-text query (e.g., 'Roma Norte', 'Guadalajara') and returns a directions array of location objects. Each entry carries a numeric id, a human-readable label, latitude and longitude, an associated url on propiedades.com, and an is_state flag. That id value is the required direction_id input for search_listings.
search_listings is a POST endpoint that accepts the direction_id and optional filters: purpose (1 = venta / sale, 2 = renta / rent), property_type (1 = residential, 2 = commercial, 3 = industrial), order ('precio-asc' or 'precio-desc'), and a page integer for pagination. The response includes a properties array with fields like colony, city, state, price_real, currency, bedrooms, bathrooms, size_m2, latitude, longitude, and a numeric id. Top-level fields total_items, total_pages, and current_page support result set navigation.
Listing Detail and Images
get_listing_detail takes a URL slug (e.g., '/inmuebles/casa-en-venta-...') and returns structured listing data including name, offers, description, and gallery_images. For full image data, get_property_images accepts the numeric property_id from search_listings results and returns an images array where each object includes id, image filename, position, width, height, original_url, and cdn_url, plus a top-level total count.
Coverage Scope
All location data, listings, and images are scoped to Mexico. The search_location endpoint covers states, cities, and colonias (neighborhoods) indexed on propiedades.com. Pagination is handled through the pagination object returned by search_listings, which exposes current_page, pages, items, and next_page fields.
The Propiedades API is a managed, monitored endpoint for propiedades.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when propiedades.com 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 propiedades.com 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 Mexico property search app filtered by city or colonia using
search_location+search_listings - Compare rental vs. sale inventory in a neighborhood by toggling the
purposeparameter - Display property image galleries by fetching CDN URLs from
get_property_images - Aggregate price-per-square-meter data across colonias using
price_realandsize_m2fields - Map property listings geographically using
latitudeandlongitudefromsearch_listingsresults - Feed a real estate CRM with structured listing data including bedroom count, bathrooms, and property type
- Monitor listing volume and price trends in a specific direction ID across paginated result sets
| 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 propiedades.com have an official developer API?+
What does `search_listings` return for each property, and how do filters work?+
search_listings returns a properties array where each object includes colony, city, state, price_real, currency, bedrooms, bathrooms, size_m2, latitude, longitude, and a numeric id. You filter results with purpose (1 for sale, 2 for rent), property_type (1 residential, 2 commercial, 3 industrial), and order for price sorting. The direction_id is required and must come from a prior search_location call.Is mortgage, valuation, or price-history data available through this API?+
Does the API cover all of Mexico, or only certain cities?+
search_location endpoint returns matches across states, cities, and colonias throughout Mexico, but listings in smaller or rural areas may be sparse or absent if propiedades.com has limited inventory there.Can I retrieve a list of recently added or updated listings without a specific direction ID?+
search_listings requires a direction_id from search_location, so there is no browse-all or feed endpoint. You can fork the API on Parse and revise it to add a broader feed or recently-added listings endpoint.