Inmuebles24 property search
Property in Mexico on Inmuebles24 by type, operation and place, or any Inmuebles24 search link (with all the filters in it: price, bedrooms, bathrooms, area, amenities, sort...). Each result has id, code, link, title, type, prices per operation and currency, maintenance fee, main features (area, rooms, bathrooms, parking...), flags, address, location tree (zone, city, state), coordinates, description, media flags, status, date and the advertiser (agency name, page, logo and WhatsApp; a private owner's number is left out), plus photos. 30 per page; pass next_page back as page; null on the last page. With type, operation and location you can add minimum bedrooms, bathrooms and parking spaces, one price or area bound (min_price, max_price, min_area or max_area: the site reads only one of them per search) and a sort order.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
type | inmuebles | departamentos | casas | terrenos | oficinas | locales-comerciales | bodegas-comerciales | casas-en-condominio | desarrollos | ranchos | edificios | naves-industriales | cuartos | Property type. Example: departamentos |
operation | sale | rent | temporary | Operation. Example: sale |
location | string | Place as in Inmuebles24 links (e.g. ciudad-de-mexico, guadalajara, benito-juarez, cancun). Example: ciudad-de-mexico |
bedrooms | integer | Minimum bedrooms (1-10). |
bathrooms | integer | Minimum bathrooms (1-10). |
parking | integer | Minimum parking spaces (1-10). |
min_price | integer | Minimum price in pesos. Only one of min_price, max_price, min_area and max_area per call. |
max_price | integer | Maximum price in pesos. Only one of min_price, max_price, min_area and max_area per call. |
min_area | integer | Minimum area in m². Only one of min_price, max_price, min_area and max_area per call. |
max_area | integer | Maximum area in m². Only one of min_price, max_price, min_area and max_area per call. |
sort | relevance | price_asc | price_desc | newest | Order: relevance (default), price_asc, price_desc, newest. |
url | string | Instead of the filters: an inmuebles24.com search link ending in .html, used with all its filters (not combinable with bedrooms, bathrooms, parking, price, area or sort). |
page | integer | Page number, starting at 1. Pass next_page back as page; it is null on the last page. Example: 1 |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/inmuebles24/v1/search?type=departamentos" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/inmuebles24/v1/search",
params={"type": "departamentos"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/inmuebles24/v1/search");
url.searchParams.set("type", "departamentos");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).