Zameen Scraper — Pakistan Property Listings & Agents avatar

Zameen Scraper — Pakistan Property Listings & Agents

Pricing

from $3.50 / 1,000 results

Go to Apify Store
Zameen Scraper — Pakistan Property Listings & Agents

Zameen Scraper — Pakistan Property Listings & Agents

Export Pakistani property listings from Zameen.com: sale and rental price, property type, bedrooms, bathrooms, area in marla, kanal, m² and sq ft, exact coordinates, city and locality, plus the listing agency, contact name and phone number behind every ad.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

2 days ago

Last modified

Share

Zameen Scraper — Pakistan Property Listings & Agent Contacts

Zameen.com is Pakistan's largest property portal, and a single city section on it holds tens of thousands of live listings — 25,000+ homes for sale in Karachi, 37,000+ plots in Lahore, 13,000+ rentals in Lahore alone. This Actor walks any of those result lists and turns them into a clean, typed table: price, property type, bedrooms, bathrooms, area in marla / kanal / m² / sq ft, exact latitude and longitude, city and locality, and the listing agency with its contact name and phone number.

Nothing here is guessed from the visible card. Zameen ships the full search result set inside the page it serves, so every listing comes back with the same fields the site itself renders from — including the coordinates and the phone numbers that the card only exposes after a click.

What you get

One row per listing, 48 columns:

GroupFields
IdentitylistingId, url, title, titleUrdu, description, listingState, source, country
Commercialpurpose (for-sale / for-rent), price, currency, priceLabel, pricePerSqm
PropertypropertyType, propertySection, bedrooms, bathrooms, areaSqm, areaMarla, areaKanal, areaSqft
Locationcity, locality, subLocality, province, locationPath, latitude, longitude, hasExactLocation
Seller / leadagencyName, agencyId, agencyTier, agencyProduct, agencySince, agencyLogo, contactName, phone, allPhones, whatsapp
Quality signalsisVerified, listingTier, hasVideo, hasVirtualTour, photoCount, coverPhoto
TimestampscreatedAt, updatedAt, scrapedAt

Measured on a 500-listing run over Lahore: phone 100%, price 100%, latitude/longitude 100%, areaMarla 100%, agencyName 98%, whatsapp 98%, contactName 83%.

Sample row

{
"listingId": "51483576",
"url": "https://www.zameen.com/Property/dha_defence_dha_phase_6_ultra_luxury_1_kanal...html",
"title": "ULTRA LUXURY 1 KANAL BRAND NEW BUNGALOW | DHA PHASE 6 | 100% ORIGINAL DEAL",
"purpose": "for-sale",
"price": 91500000,
"currency": "PKR",
"priceLabel": "PKR 91,500,000",
"propertyType": "Houses",
"bedrooms": 5,
"bathrooms": 6,
"areaSqm": 418.06,
"areaMarla": 16.53,
"areaKanal": 0.826,
"areaSqft": 4500,
"pricePerSqm": 218866,
"city": "Lahore",
"locality": "DHA Defence",
"subLocality": "DHA Phase 6",
"province": "Punjab",
"latitude": 31.471571,
"longitude": 74.445906,
"agencyName": "Aslam Real Estate",
"agencyTier": 4,
"contactName": "Mohsin Ali (CEO)",
"phone": "+923213260605",
"whatsapp": "923213260605",
"isVerified": false,
"listingTier": "superhot",
"photoCount": 47,
"createdAt": "2026-08-11T09:37:55.000Z"
}

Input

FieldWhat it does
Property sectionHomes (houses + flats for sale), Houses_Property, Apartments_Flats, Plots, Commercial, or Rentals for everything offered to rent.
City25 cities from Lahore and Karachi down to Mirpur and Wah Cantt. Zameen identifies a city by name and numeric ID, which is why the values read Lahore-1.
Listing URLOptional. Paste any Zameen result URL and it overrides the two fields above — every filter you set on the site (price range, bed count, sort order, area unit) is kept while the Actor pages through.
Maximum listingsStop after this many rows. 25 listings arrive per page.
ProxyResidential, pinned to Pakistan by default.
{
"section": "Homes",
"city": "Lahore-1",
"maxResults": 500,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "PK" }
}

To reuse a filtered search instead, paste the URL from your browser:

{
"listingUrl": "https://www.zameen.com/Homes/Lahore-1-1.html?price_min=10000000&beds_in=3",
"maxResults": 2000
}

What it is good for

Agent and agency lead lists. Every row carries the agency, the named contact and a dialable phone number, so a run over a city section is a ready-made prospect list for CRM vendors, mortgage brokers, interior firms and portal competitors. agencyTier and agencyProduct tell you how much that agency already spends on the portal — the cheapest qualifier there is.

Price and yield research. pricePerSqm is computed for every listing, and area is given in all four units Pakistani buyers actually use. Pull the same city weekly and you have a price index by locality; pull Rentals and Homes for the same locality and you have a gross-yield estimate per neighbourhood.

Mapping and site selection. latitude / longitude are exact for the vast majority of listings and hasExactLocation tells you when they are not, so listings drop straight into a GIS layer or a heat map without geocoding.

Supply monitoring. createdAt and updatedAt let you separate genuinely new stock from re-posted stock, and listingTier (superhot, hot, basic) shows which sellers are paying for visibility this week.

Training and enrichment data. Urdu and English titles come as separate columns, which makes the output usable for bilingual model training or for matching against Urdu-language sources.

How it works

Zameen renders its search results server-side and embeds the full result set — the same one its own front end reads — inside the page. The Actor requests each result page through a Pakistani residential IP, lifts that embedded result set, and maps every listing to a flat row. Because the data comes from the embedded set rather than from HTML selectors, a cosmetic redesign of the card does not break the output.

Pagination follows Zameen's own -<page>.html scheme and is verified page by page: pages 1, 15 and 40 of the same search return entirely distinct listings, so deep runs genuinely reach deep stock rather than re-serving page one.

Robustness details that matter on long runs:

  • Fresh IP per retry. A single 403 from one residential exit node says nothing about the next, so failed requests are retried on a new IP rather than on the same session.
  • A failed page is skipped, not fatal. One unreachable page costs one page, not the run; three consecutive failures stop it.
  • Three stop conditions. Target reached, list exhausted, or time budget spent — rows already collected are always pushed.
  • De-duplication by listing ID across the whole run, so a listing promoted onto two pages is saved once.

Cost and limits

Billing is per result, so cost scales with rows saved and not with pages fetched or retries burned. Store discounts apply on paid Apify plans.

  • Zameen's own search caps out around 950 pages (~23,000 listings) per query. To go past that, split by city, by section, or by price band using the Listing URL field.
  • Rental prices on Zameen are monthly.
  • contactName is filled by roughly 8 listings in 10; agency-posted ads without a named person leave it blank rather than inventing one.

This Actor collects publicly available listing data. It does not log in, does not bypass access control, and does not touch anything behind a login. Contact details published on the listings are personal data in many jurisdictions — if you process them, make sure you have a lawful basis (GDPR and Pakistan's PECA both apply depending on your position) and honour opt-outs.

Not affiliated with, endorsed by, or connected to Zameen.com or Empire Holdings. "Zameen" is used here only to describe the public source of the data.


*Maintained: last verified 2026-09-01 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).


Use cases

  • Export listings in bulk and analyse them in a spreadsheet or database.
  • Track how the data changes over time by scheduling repeat runs.
  • Feed listings into a dashboard, CRM or internal tool through the Apify API.
  • Build a research dataset without writing or maintaining a scraper.
  • Monitor Zameen for new entries and alert your team when they appear.

Pricing

This Actor is pay per result: you are charged for the rows it writes to your dataset, not for the time it spends running. There are no platform fees to calculate on top, and higher Apify plans pay a lower rate per result. A run that returns nothing costs nothing.

Other Actors from the same collection:

How much Zameen data can you extract in one run?

A single run returned 1,000 listings in 208 seconds on the example input, and it was still going when the measurement stopped — raise the result limit and it keeps paginating. That is roughly 288 listings a minute.

There is no hard ceiling built into this Actor. What bounds a run is the result limit you set, the breadth of the input you give it, and how much Zameen itself publishes. Because billing is per result, a wider run costs proportionally more and a narrow one costs almost nothing — so it is worth starting small and scaling once the output looks right.

Zameen scraping — frequently asked questions

Do I need a Zameen API key, account or login?

No. This Actor reads publicly available pages and feeds, so there is nothing to register for and no credentials to manage.

How do I export Zameen data to CSV, Excel, JSON or Google Sheets?

Open the Storage tab after a run and pick the format you want — CSV, Excel, JSON, XML or an HTML table. For Google Sheets, Airtable or a database, use the dataset URL or the Apify API so the sheet refreshes itself on every run.

Can I schedule this Zameen scraper to run daily or hourly?

Yes. Use the Schedules tab and pick a cadence. Daily is enough for most tracking work; pick hourly only if the listings you care about really do change that fast.

How many listings can I get, and what does it cost?

See the volume section above for a measured figure. Billing is per result, so you pay for the rows you actually receive and a run that finds nothing costs nothing.

This Actor collects only information that Zameen publishes publicly. It does not log in, does not defeat access controls and does not touch private data. You remain responsible for how you use the output, including under GDPR and similar rules where personal data is involved.

What happens if Zameen blocks the run or changes its layout?

A refused exit IP is swapped for a fresh one within a quarter of a second and retried, and rate limiting is waited out rather than fought. If nothing gets through, the run fails with the reason instead of reporting success with zero rows — so an empty result always means "no matches", never "the source would not answer".

Can I use this with an AI agent, LangChain or an MCP client?

Yes. The Actor is callable over the Apify API and through Apify's MCP server, so an agent can run it and read the dataset back as a tool call.

How to scrape Zameen without an API

Zameen has no public bulk export for this data, which normally leaves copy-and-paste or a custom crawler. This Actor is the second one, already built and maintained: it reads the public pages, follows the pagination, and hands back clean rows.

  1. Fill in the input below — the example is prefilled, so Start works straight away.
  2. Watch the log name each page it walks and how many listings each one returned.
  3. Export from Storage, or pull the dataset over the API into your own pipeline.

No API key, no account, no browser extension, no manual copying.

Export Zameen data to CSV, Excel, JSON or Google Sheets

Every run writes a dataset you can download as CSV, Excel, JSON, JSONL, XML or an HTML table. For a live feed rather than a download, point Google Sheets, Airtable, Power BI or your own database at the dataset URL and it refreshes with each run.