Imovirtual property search

GET https://api.api.sh/imovirtual/v1/search
1 credit / call real estate try it in the playground →

Homes, land and commercial property for sale and rent in Portugal on Imovirtual with the site's filters: place, transaction, property type, price, area, price per m², rooms, build year, plot area, days since listed, radius, floors, extras, building type, advertiser type (private, agency, developer), new or resale, keywords, plus sort. Each result has id, link, title, property type, transaction, price, price per m², area, rooms, floor, street and place (district, council, parish), dates, promoted and exclusive flags, advertiser type, the agency or developer (name, type, page, logo; a private owner's name is left out), development details and photos. Pass next_page back as page; null on the last page.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
location string Place path as in imovirtual.com links: a district (lisboa, porto, faro), a council (lisboa/cascais) or a parish path; default all of Portugal. Example: lisboa
url string Or an imovirtual.com/pt/resultados/... search link (its filters are used as they are).
transaction sale | rent Buy or rent. Example: sale
estate flat | house | room | plot | commercial | warehouse | garage | development Property type. Example: flat
price_min number Minimum price (EUR).
price_max number Maximum price (EUR).
area_min number Minimum area (m²).
area_max number Maximum area (m²).
price_m2_min number Minimum price per m².
price_m2_max number Maximum price per m².
rooms string Rooms (T0..T10), comma list of numbers; 11 = more.
build_year_min integer Built from year.
build_year_max integer Built up to year.
plot_area_min number Minimum plot area (m²).
plot_area_max number Maximum plot area (m²).
days_since_created integer Listed in the last N days (1, 3, 7, 14, 30).
radius_km number Extra distance around the place (km).
floors string Floors, comma list as on the site (GROUND, FIRST, ... HIGHER_10, GARRET).
extras string Extras, comma list as on the site (BALCONY, TERRACE, GARAGE, LIFT, POOL, GARDEN, AIR_CONDITIONING...).
building_type string Building types, comma list as on the site (BLOCK, DETACHED, TERRACED...).
owner_type all | private | agency | developer Advertiser type.
market all | primary | secondary New (primary) or resale (secondary).
keywords string Words in the description.
sort relevance | newest | price_asc | price_desc | area_asc | area_desc | price_m2_asc | price_m2_desc Sort order. Example: relevance
limit 24 | 36 | 48 | 72 Results per page.
page integer Result page (1 = first). Example: 1

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/imovirtual/v1/search?location=lisboa" \
  -H "x-api-key: $APISH_KEY"

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).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.