Zameen property search
Property for sale and rent in Pakistan on Zameen.com with the site's filters: city or area, purpose, property type (homes, houses, flats, portions, plots, commercial, offices, shops...), price, area, bedrooms, bathrooms, keywords, listing age, cash or installment payment, occupancy, verified listings, listings with video, minimum photos, plus sort. Each result has id, link, title, purpose, type, price (PKR), rent frequency, bedrooms, bathrooms, area (m²), location path, city, area name and its slug, coordinates, summary, verified flag, listing tier, photo and video counts, cover photo, dates and the agency (id, name, tier, logo, profile) with the agent's name and phone (an individual's own advert carries no name or phone). Pass next_page back as page; null on the last page.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
locationrequired | string | A city (lahore, karachi, islamabad, rawalpindi, faisalabad, multan, peshawar, quetta, ...), a Zameen area slug such as Lahore_DHA_Defence-9 (location_slug of a result), or a zameen.com search link. Example: lahore |
purpose | sale | rent | Buy or rent. Example: sale |
type | Homes | Houses_Property | Flats_Apartments | Upper_Portions | Lower_Portions | Farm_Houses | Rooms | Penthouse | Plots | Residential_Plots | Commercial_Plots | Agricultural_Land | Industrial_Land | Plot_Files | Commercial | Offices | Shops | Warehouses | Factories | Buildings | Property type. Example: Homes |
price_min | number | Minimum price (PKR). |
price_max | number | Maximum price (PKR). |
area_min | number | Minimum area (m²). |
area_max | number | Maximum area (m²). |
bedrooms | string | Bedrooms, comma list (0 = studio). |
bathrooms | string | Bathrooms, comma list, e.g. 2,3. |
keywords | string | Words the listing must contain, e.g. corner. |
added | week | 2_weeks | 3_weeks | month | 2_months | 3_months | Only listings added within this period. |
payment | cash | installments | For sale only: cash price or installment plans. |
occupancy | vacant | occupied | Occupancy status. |
verified | boolean | true: verified listings only. |
has_video | boolean | true: listings with a video only. |
photos_min | integer | Listings with at least this many photos (1-50). |
sort | relevance | newest | oldest | price_asc | price_desc | verified | Sort order. Example: relevance |
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/zameen/v1/search?location=lahore" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/zameen/v1/search",
params={"location": "lahore"},
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/zameen/v1/search");
url.searchParams.set("location", "lahore");
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).