Zameen.com Scraper | Pakistan Real Estate & Property Data avatar

Zameen.com Scraper | Pakistan Real Estate & Property Data

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Zameen.com Scraper | Pakistan Real Estate & Property Data

Zameen.com Scraper | Pakistan Real Estate & Property Data

Scrape Pakistan's largest property portal Zameen.com. Houses, plots, flats & commercial listings with price in PKR/Crore, area in Marla/Kanal, agent info, DHA & Bahria Town data.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

17 days ago

Last modified

Share

Zameen.com Scraper — Pakistan Real Estate, Property Listings & Plot Files Data Extractor

The most complete Zameen.com property data extraction tool on Apify. Pull live for-sale and for-rent listings — houses, plots, flats, and commercial — from Pakistan's largest real estate portal, with prices normalized from Crore/Lakh to PKR, areas converted from Marla/Kanal to square feet, agent contact details, and society detection across DHA, Bahria Town, Capital Smart City, Gulberg, Clifton, Model Town, and more.

Apify Actor


What This Actor Does

The Zameen.com Scraper is a production-ready Apify Actor that extracts structured property listings from Zameen.com — Pakistan's largest and most-trafficked real estate portal, owned by EMPG/Dubizzle Group. Zameen is the default search engine for nearly every Pakistani home buyer, tenant, builder, and overseas Pakistani investor looking at residential and commercial real estate across Karachi, Lahore, Islamabad, Rawalpindi, Faisalabad, Multan, Peshawar, Gujranwala, Sialkot, Hyderabad, and Quetta.

The actor crawls Zameen's server-rendered listing pages, parses each property card (with JSON-LD as a fallback for structured data), and pushes a flat, analytics-ready JSON record per listing to the Apify dataset. Unlike a generic HTML scraper, it understands the Pakistani real estate vocabulary out of the box — it converts 3.5 Crore to 35,000,000 PKR, turns 10 Marla into 2,722 sq ft, detects whether a listing belongs to a known housing scheme (DHA, Bahria Town, Capital Smart City, etc.), and recognizes Zameen's hybrid URL pattern (/Homes/Lahore-for_sale-1-{page}.html).

In a single run the actor returns ready-to-use records covering:

  • Houses & Bungalows — single-family homes across DHA phases, Bahria Town, Gulberg, Model Town, Wapda Town, Johar Town, and every major society
  • Flats & Apartments — high-rise apartments in Karachi (Clifton, DHA, Bahria Icon Tower), Lahore, and Islamabad
  • Upper / Lower Portions — Pakistan-specific subdivided units common in Lahore and Karachi
  • Plots — residential, commercial, agricultural and industrial plot files (DHA, Bahria, CDA Sectors)
  • Commercial Property — shops, offices, warehouses, factories, plazas, and whole buildings
  • Penthouses, Farm Houses, Rooms — the long tail of Pakistani property inventory

Each record includes title, transaction purpose (for-sale vs for-rent), property type, normalized PKR price, original Crore/Lakh display string, beds/baths, area + unit + sq ft equivalent, city, location/neighborhood, detected housing society, agent and agency name, optional phone number, full description, feature list, image URLs, and the canonical listing URL — making this the fastest way to populate or refresh a Pakistan real estate dataset for investor analytics, AVM models, proptech apps, valuer comps, or realtor lead generation.


Why scrape Zameen yourself when this exists?

Zameen.com is technically a server-rendered Next.js site, but in practice scraping it cleanly is a multi-week engineering project. Most teams try the obvious requests-and-BeautifulSoup approach and quickly hit:

  • Mixed price formats3.5 Crore, 45 Lakh, PKR 35,000,000, Rs. 3,50,00,000 — all need to coexist in a single normalized numeric column
  • Marla / Kanal / Sq. Yd. / Sq. Ft. — four area units used interchangeably; comparing two listings means converting everything to the same denominator
  • Society & sector parsing — "House in DHA Phase 6 Block H" vs "10 Marla DHA Lahore" — extracting the society, phase, and block reliably requires a curated dictionary
  • 403 / 429 throttling — Zameen aggressively rate-limits non-residential IPs; ordinary VPS and cloud-egress IPs get blocked within a few hundred requests
  • Listing card selectors change — Zameen ships UI updates every few weeks; brittle CSS selectors break overnight
  • Pagination ambiguity — Zameen's URL scheme alternates between /Homes/Lahore-1-{page}.html and /Homes/Lahore-for_sale-1-{page}.html depending on filters
  • JSON-LD vs HTML inconsistency — some listings expose RealEstateListing JSON-LD, others only have inline HTML
  • Bot detection on detail pages — phone numbers are gated behind click events and only render after a delay; tel: links are sometimes injected client-side
  • Duplicate listings — the same property is often posted by multiple agents; deduping requires a stable identifier (the actor uses listing ID + URL)
  • Mixed English / Urdu transliteration — neighborhoods are spelled multiple ways (Gulshan-e-Iqbal / Gulshan e Iqbal / Gulshan Iqbal)
  • Phone formats — Pakistani mobiles appear as +92 300 1234567, 0300-1234567, 923001234567; the actor normalizes these
  • No public Zameen API — there is no official api.zameen.com/v2/listings endpoint; everything must be scraped from the consumer-facing HTML

This actor solves all of that: it ships with a curated society dictionary, a dual selector + JSON-LD parser, currency and area normalization functions tuned for Pakistani conventions, residential-proxy support, and a deterministic dedupe key so you can re-run safely.


Quick Start

One-Click Run

  1. Open the actor on Apify Store
  2. Pick a city (or accept the Lahore default) and a property type (Homes, Plots, Commercial, or all)
  3. Optionally set maxRecords: 50 to test, then hit Start
  4. Download your dataset as JSON, CSV, Excel, HTML, or XML the moment the run finishes

API Run (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("haketa/zameen-scraper").call(run_input={
"cities": ["Karachi", "Lahore", "Islamabad"],
"propertyType": "Homes",
"purpose": "for_sale",
"scrapeDetails": True,
"maxRecords": 500,
"requestDelay": 1000,
"proxyConfiguration": {"useApifyProxy": True}
})
for listing in client.dataset(run["defaultDatasetId"]).iterate_items():
print(
listing["city"],
listing["society"],
listing["priceDisplay"],
listing["area"], listing["areaUnit"],
listing["bedrooms"], "bed,",
listing["bathrooms"], "bath",
)

API Run (Node.js / TypeScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('haketa/zameen-scraper').call({
cities: ['Islamabad'],
propertyType: 'Plots',
purpose: 'for_sale',
maxRecords: 200,
requestDelay: 800,
proxyConfiguration: { useApifyProxy: true },
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const dha = items.filter(i => i.society === 'DHA');
const bahria = items.filter(i => i.society === 'Bahria Town');
console.log(`DHA plots: ${dha.length} | Bahria Town plots: ${bahria.length}`);

API Run (cURL)

curl -X POST "https://api.apify.com/v2/acts/haketa~zameen-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cities": ["Lahore"],
"propertyType": "Homes",
"purpose": "for_rent",
"maxRecords": 100
}'

API Run (Direct URLs)

If you already have specific Zameen search URLs (e.g., a saved filter for "5 Marla houses in DHA Phase 5 Lahore under 2.5 Crore"), pass them via startUrls to override the city/type builder:

{
"startUrls": [
"https://www.zameen.com/Homes/Lahore-for_sale-1-1.html",
"https://www.zameen.com/Plots/Bahria_Town_Rawalpindi-26922-1.html"
],
"scrapeDetails": true,
"maxRecords": 0
}

How It Works

The actor uses a direct HTTP + Cheerio architecture — no headless browser, no Puppeteer, no Playwright. Zameen's listing pages are server-rendered, so a plain got-scraping request returns the full DOM. This keeps runtime fast and memory low while still surviving Zameen's anti-bot stack.

Pipeline

StageDetail
1. Build task listEither expand cities × propertyType × purpose into search URLs, or use startUrls verbatim
2. Fetch pagegot-scraping with realistic Chrome 124 headers, optional Apify Residential proxy, 3-retry exponential backoff on 403/429
3. Try card selectors[aria-label="Listing"], [role="article"], li[aria-label], .listing-card, article, .property-card (selectors evaluated in order; first one with >2 hits wins)
4. Fallback to property linksIf no cards detected, scan for <a href*="/Property/"> and use their closest list container
5. JSON-LD harvestParse every <script type="application/ld+json"> for RealEstateListing, Apartment, SingleFamilyResidence, Product types
6. Field extractionTitle, price text, area text, beds, baths, location, agent, image — per card
7. Currency normalizationparsePrice() maps Crore, Lakh, PKR, Rs. to a single numeric PKR value
8. Area normalizationparseArea() maps Marla, Kanal, Sq. Ft., Sq. Yd. to a single areaInSqFt value
9. Society detectionLowercase title + location + full card text scanned against a 20-entry society dictionary
10. Optional detail pageIf scrapeDetails: true, visit each /Property/ URL for full description, agent phone, coordinates, images, features
11. Dedupe + push`listingId
12. PaginationIncrement {page} in URL until a page returns zero listings or maxPages reached

Source endpoints

Path patternExamplePurpose
/Homes/{City}-{code}-{page}.html/Homes/Lahore-1-1.htmlHouses + flats listing pages
/Homes/{City}-for_sale-{code}-{page}.html/Homes/Karachi-for_sale-2-1.htmlFiltered for-sale homes
/Homes/{City}-for_rent-{code}-{page}.html/Homes/Islamabad-for_rent-3-1.htmlFiltered for-rent homes
/Plots/{City}-{code}-{page}.html/Plots/Islamabad-3-1.htmlPlot listings
/Commercial/{City}-{code}-{page}.html/Commercial/Karachi-2-1.htmlShops, offices, warehouses
/Property/{slug}-{id}.html/Property/dha_phase_6-...-12345678.htmlIndividual listing detail pages

Anti-bot hardening

  • Residential proxies — enable Apify Residential when scraping >200 pages to avoid 403s
  • Configurable requestDelay — default 800 ms between requests; bump to 1500 ms for very large scrapes
  • Realistic browser headers — Chrome 124, en-US Accept-Language, full Accept header
  • Exponential backoff — 3 retries with 3 s, 6 s, 9 s sleeps on 403/429
  • Graceful pagination termination — actor stops a city when a page returns zero listings, avoiding infinite loops on changed schemas

Input Parameters

{
"startUrls": [],
"cities": ["Lahore", "Karachi", "Islamabad"],
"propertyType": "Homes",
"purpose": "for_sale",
"scrapeDetails": false,
"maxRecords": 500,
"maxPages": 10,
"requestDelay": 800,
"proxyConfiguration": { "useApifyProxy": true }
}

Parameter reference

ParameterTypeDefaultDescription
startUrlsarray<string>[]Direct Zameen listing URLs. If set, this overrides cities / propertyType / purpose. Use this when you already have a curated saved search URL.
citiesarray<string>["Lahore"]City names or numeric codes. Built-in: Lahore (1), Karachi (2), Islamabad (3), Rawalpindi (4), Multan (7), Faisalabad (8), Peshawar (9), Gujranwala (12), Sialkot (14), Hyderabad (16). Custom names accepted with a default code fallback.
propertyTypestringHomesOne of Homes, Plots, Commercial, or all. all expands into all three.
purposestringallall returns both transaction types, for_sale returns buy-only listings, for_rent returns rent-only listings.
scrapeDetailsbooleanfalseWhen true, visits each individual /Property/ page for full description, agent phone, coordinates, images, and features. Slower but richer data.
maxRecordsinteger0Hard cap on total dataset items. 0 means unlimited. Set this for cost-controlled runs.
maxPagesinteger0Maximum listing pages per city × propertyType × purpose combination. Each page has ~25 listings. 0 means unlimited (until empty page).
requestDelayinteger800Milliseconds between requests. Range: 200-5000. Increase for very large or proxy-free scrapes.
proxyConfigurationobjectApify Residential ONApify proxy settings. Residential strongly recommended for any run >200 pages — Zameen rate-limits datacenter IPs.

Output Schema

Every dataset record uses a single flat schema regardless of property type or transaction purpose — your warehouse loader does not need per-type branching.

Core fields

FieldTypeDescription
listingIdstringNumeric Zameen listing ID extracted from URL (e.g., 12345678)
titlestringListing headline as shown on Zameen (e.g., 10 Marla House for Sale in DHA Phase 6)
purposestringFor Sale or For Rent
propertyTypestringHouse, Flat, Upper Portion, Lower Portion, Plot, Farm House, Room, Penthouse, Shop, Office, Warehouse, Building
pricenumberNormalized numeric price in PKR (rupees), e.g., 35000000
priceDisplaystringOriginal human-readable price string, e.g., 3.5 Crore PKR or 45 Lakh PKR
bedroomsintegerNumber of bedrooms (null for plots / most commercial)
bathroomsintegerNumber of bathrooms (null for plots / most commercial)
areanumberNumeric area value in the original unit
areaUnitstringOriginal unit: Marla, Kanal, Sq. Ft., Sq. Yd.
areaInSqFtnumberArea normalized to square feet (1 Marla = 272.25 sq ft, 1 Kanal = 5,445 sq ft, 1 Sq. Yd. = 9 sq ft)
citystringCity name (e.g., Lahore, Karachi, Islamabad)
locationstringNeighborhood / sector / phase (e.g., DHA Phase 6, F-7, Clifton Block 2)
societystringDetected housing society (e.g., DHA, Bahria Town, Capital Smart City, Gulberg, Model Town, Clifton)
addedDatestringListing freshness text as shown (e.g., 2 days ago, 15 January 2026)
agentNamestringListing agent or property dealer name
agencyNamestringBrokerage / agency name (populated when scrapeDetails: true)
agentPhonestringPakistani mobile (+92... or 03...); only when scrapeDetails: true
descriptionstringFull listing description; only when scrapeDetails: true
featuresarray<string>Amenity list: parking, lawn, servant quarter, drawing room, etc. (detail mode only)
imagesarray<string>One image URL in list mode; full gallery (10-30 URLs) in detail mode
listingUrlstringCanonical Zameen URL for the listing
scrapedAtstringISO-8601 timestamp of extraction

Example: House for sale in DHA Lahore

{
"listingId": "12345678",
"title": "10 Marla House for Sale in DHA Phase 6 Block H",
"purpose": "For Sale",
"propertyType": "House",
"price": 35000000,
"priceDisplay": "3.5 Crore PKR",
"bedrooms": 4,
"bathrooms": 4,
"area": 10,
"areaUnit": "Marla",
"areaInSqFt": 2722,
"city": "Lahore",
"location": "DHA Phase 6 Block H",
"society": "DHA",
"addedDate": "3 days ago",
"agentName": "Ahmed Properties",
"agencyName": "Ahmed Properties & Marketing",
"agentPhone": "+923001234567",
"description": "Beautiful corner double-unit house in DHA Phase 6 Block H, located on a 50-foot road. Drawing, dining, TV lounge, 4 bedrooms with attached baths, modern kitchen, servant quarter, two-car garage, lawn. Near Lahore Grammar School, Y-Block Commercial.",
"features": ["Parking", "Lawn", "Servant Quarter", "Drawing Room", "Boundary Wall", "Electricity", "Sui Gas"],
"images": [
"https://images.zameen.com/.../listing-1.jpg",
"https://images.zameen.com/.../listing-2.jpg"
],
"listingUrl": "https://www.zameen.com/Property/dha_defence_dha_phase_6-12345678.html",
"scrapedAt": "2026-05-16T09:00:00.000Z"
}

Example: 1 Kanal residential plot in Bahria Town Rawalpindi

{
"listingId": "98765432",
"title": "1 Kanal Residential Plot for Sale in Bahria Town Phase 8",
"purpose": "For Sale",
"propertyType": "Plot",
"price": 28000000,
"priceDisplay": "2.8 Crore PKR",
"bedrooms": null,
"bathrooms": null,
"area": 1,
"areaUnit": "Kanal",
"areaInSqFt": 5445,
"city": "Rawalpindi",
"location": "Bahria Town Phase 8, Sector F",
"society": "Bahria Town",
"addedDate": "1 week ago",
"agentName": "Capital Estate",
"agencyName": "Capital Estate & Builders",
"agentPhone": "+923215554433",
"description": "Prime 1 Kanal residential plot in Bahria Town Phase 8 Sector F, near Grand Jamia Mosque. Possession plot with all utilities. Suitable for immediate construction.",
"features": ["Boundary Wall", "Possession", "Corner", "Electricity", "Sui Gas", "Water"],
"images": ["https://images.zameen.com/.../plot.jpg"],
"listingUrl": "https://www.zameen.com/Property/bahria_town_rawalpindi_phase_8-98765432.html",
"scrapedAt": "2026-05-16T09:00:00.000Z"
}

Property Type & Purpose Reference

Property categories

CategorySub-types returned
HomesHouse, Flat / Apartment, Upper Portion, Lower Portion, Farm House, Penthouse, Room
PlotsResidential Plot, Commercial Plot, Agricultural Land, Industrial Land, Plot File
CommercialShop, Office, Warehouse, Factory, Building, Plaza

Transaction purpose

Purpose valueMeaning
for_saleProperties listed to buy outright
for_rentProperties listed to lease monthly
allBoth — actor expands into two URL series per city/type

Area unit conversions

UnitSq Ft equivalentCommon usage
1 Marla272.25 sq ftStandard small-plot/house measure in Punjab
1 Kanal5,445 sq ft (≈20 Marla)Larger plots, farmhouses, big DHA homes
1 Sq. Yd.9 sq ftKarachi / Sindh property measure
1 Sq. Ft.1 sq ftApartments and commercial

Price conversions

DisplayPKR valueUSD ≈ (PKR/USD 280)AED ≈ (PKR/AED 76)
1 Lakh100,000$357AED 1,316
1 Crore10,000,000$35,714AED 131,578
3.5 Crore35,000,000$125,000AED 460,526
25 Crore250,000,000$892,857AED 3,289,473

FX rates are illustrative — your downstream pipeline should call a live FX API (e.g., openexchangerates.org) for current PKR/USD/AED/GBP/SAR/EUR rates.


Use Cases

Overseas Pakistani (OP) Investor Research

Pakistani diaspora in the UK, US, UAE, KSA, and Canada are some of the largest property buyers in Lahore, Islamabad and Karachi:

  • Track DHA and Bahria Town pricing across phases and blocks for remote investment decisions
  • Convert prices to GBP, USD, AED, SAR, CAD for like-for-like comparison with home-market real estate
  • Build dashboards for family in-country showing newly listed plots near a specific society or sector
  • Monitor plot file vs developed plot pricing — overseas buyers are heavy plot-file purchasers
  • Detect price-drop alerts by diffing daily runs against a baseline, then notifying via WhatsApp / email
  • Filter agents by responsiveness — combine agentPhone capture with downstream call tracking

Prop-tech & Automated Valuation Models (AVM)

Pakistani prop-tech startups (Graana, EasyProperty, AlphaProp, JagahOnline, etc.) and AVM builders use this dataset to:

  • Train per-Marla price models by city × society × phase × block
  • Benchmark rental yields (annual rent / sale price) per society
  • Detect over/under-priced listings automatically using society-level medians
  • Power instant-offer flows by enriching incoming seller leads with comparable listings
  • Build a national property index updated weekly with millions of normalized data points

Real Estate Brokerage Lead Generation

Agencies and individual realtors use the data to:

  • Identify private (non-agency) listings to call and convert into exclusive mandates
  • Build farming lists of every listing in DHA Phase 6 / Bahria Town Sector E posted in the last 30 days
  • Auto-import inventory from competing agencies into their own CRM / WhatsApp catalog
  • Monitor commercial listings in Gulberg, Blue Area, MM Alam Road, and Clifton for relocation clients
  • Track agency market share by counting listings per agencyName over time

Market Research & Real Estate Journalism

Consulting firms, banks (HBL, UBL, Meezan), and outlets like Dawn, Business Recorder, and Profit by Pakistan Today use the data to:

  • Quantify the "DHA premium" — average PKR/sq ft for DHA listings vs surrounding areas
  • Track Islamabad sectoral pricing (F-6, F-7, F-8, F-10, F-11, E-11, G-13, I-8) over time
  • Map commercial vs residential plot inventory by city
  • Document the cost of housing for Pakistani middle-class families in real terms
  • Investigate housing scheme launches — Capital Smart City, Top City, Park View City inventory growth

Bank Mortgage & Valuation Comps

State Bank of Pakistan licensed valuers and bank mortgage departments (HBL, Faysal, Bank Alfalah, Meezan) use the data to:

  • Pull comparable sales for residential mortgage valuation reports
  • Validate borrower-claimed property value against current Zameen listings
  • Build internal valuation reference tables by society × Marla × bedroom count
  • Cross-check declared rental income against current Zameen for-rent inventory in the same area
  • Document valuation methodology with cited comp URLs for audit compliance

Currency-Conversion Investment Comparisons

Wealth managers and family offices serving high-net-worth Pakistani clients use the data to:

  • Compare Lahore DHA prices in PKR/USD/AED/GBP against London zone 2, Dubai Marina, Toronto condos
  • Compute rental yields net of withholding tax on Pakistani vs overseas rentals
  • Hedge currency exposure by tracking PKR-denominated real estate appreciation against PKR/USD moves
  • Build investor decks with live market data instead of stale broker presentations
  • Surface arbitrage opportunities between Karachi DHA City and Dubai International City off-plan inventory

Government, Planning & Policy Research

CDA, RDA, LDA, KDA planning departments, World Bank Pakistan urban units, and academic researchers use the data to:

  • Map informal vs planned housing pricing differentials
  • Quantify housing affordability vs SBP-published median household income
  • Track post-flood reconstruction pricing in affected districts
  • Support Naya Pakistan Housing Programme planning with private-market reference pricing
  • Document urban sprawl by tracking plot-listing geographic spread per city per year

Insurance Underwriting

Pakistani non-life insurers (Adamjee, EFU, Jubilee) writing fire / home / contents policies use the data to:

  • Confirm declared property value matches current market value at policy bind
  • Stratify risk by society — DHA / Bahria vs older inner-city neighborhoods
  • Validate replacement cost for total-loss settlements
  • Price condo / apartment master policies based on local rental yield data

Sample Queries & Recipes

Recipe 1: Every 10-Marla house listed for sale in DHA Lahore

{
"cities": ["Lahore"],
"propertyType": "Homes",
"purpose": "for_sale",
"scrapeDetails": true,
"maxRecords": 500
}

Then downstream:

dha10 = [r for r in records
if r["society"] == "DHA"
and r["area"] == 10
and r["areaUnit"] == "Marla"]

Recipe 2: All 1-Kanal plots in Bahria Town Rawalpindi

{
"startUrls": ["https://www.zameen.com/Plots/Bahria_Town_Rawalpindi-26922-1.html"],
"scrapeDetails": false,
"maxRecords": 0
}

Recipe 3: Karachi Clifton & DHA apartment-rental market sweep

{
"cities": ["Karachi"],
"propertyType": "Homes",
"purpose": "for_rent",
"maxRecords": 1000,
"scrapeDetails": true
}

Then filter for propertyType == "Flat" and society in ("Clifton", "DHA").

Recipe 4: Islamabad sector-by-sector pricing snapshot

{
"cities": ["Islamabad"],
"propertyType": "Homes",
"purpose": "for_sale",
"maxRecords": 2000,
"scrapeDetails": false
}

Group results by the leading sector token (F-6, F-7, F-8, F-10, F-11, E-11, G-13, I-8) extracted from location.

Recipe 5: Commercial inventory in MM Alam, Blue Area, II Chundrigar

{
"cities": ["Lahore", "Islamabad", "Karachi"],
"propertyType": "Commercial",
"purpose": "all",
"maxRecords": 0,
"scrapeDetails": true
}

Recipe 6: Multi-city for-sale national pull (with test sampling)

{
"cities": ["Karachi", "Lahore", "Islamabad", "Rawalpindi"],
"propertyType": "all",
"purpose": "for_sale",
"maxPages": 20,
"requestDelay": 1000,
"proxyConfiguration": { "useApifyProxy": true }
}

Set maxRecords: 25 first for a sandbox run before committing budget to the full pull.


Integration Examples

Google Sheets

Schedule the actor daily on Apify, then attach the built-in Google Sheets integration to dump the latest DHA / Bahria run into a shared workbook your team and family already use.

Make.com / Zapier / n8n

Use the Apify connector to:

  • Trigger a fresh Zameen run when a row is added to a "Properties I'm watching" sheet
  • POST every new listing under PKR 1 Crore in F-8 Islamabad to a Telegram or WhatsApp group via Webhook
  • Auto-create a HubSpot deal when a For Sale listing in DHA Phase 6 drops in price by >10% vs the prior run

Power BI / Tableau / Looker / Metabase

Connect the Apify dataset URL as a JSON source. Build dashboards covering:

  • Median PKR/sq ft per society × phase × block
  • For-sale vs for-rent inventory mix per city
  • Days-on-market estimated from addedDate
  • Agent / agency league tables by listing volume
  • Heat maps of new construction (proxied by listing counts)

Postgres / Snowflake / BigQuery / ClickHouse

Use the Apify dataset webhook to push every completed run as JSON Lines into your warehouse ingestion endpoint. Suggested table:

CREATE TABLE zameen_listings (
listing_id TEXT PRIMARY KEY,
scraped_at TIMESTAMPTZ,
purpose TEXT,
property_type TEXT,
city TEXT,
society TEXT,
location TEXT,
price_pkr BIGINT,
area_sq_ft NUMERIC,
bedrooms INT,
bathrooms INT,
agent_name TEXT,
agency_name TEXT,
listing_url TEXT,
raw JSONB
);

CRM enrichment, WhatsApp/Telegram alerts, AVM endpoints

Trigger a nightly run with purpose: "for_sale" and scrapeDetails: true, then upsert against your Salesforce / HubSpot / Zoho / Bitrix24 Account or Property objects keyed on listingId. Status flips (For Sale → disappears = likely sold) auto-close opportunities. Pipe filtered output (price <= 25000000 AND society = "DHA") into a WhatsApp Business or Telegram bot for instant deal alerts to overseas Pakistani clients, or POST every fresh record to your in-house AVM endpoint to refresh per-society price curves throughout the day.


Major Pakistani Markets & Society Coverage

CityPopulationMajor Societies / Sectors
Karachi17M+DHA (Defence) Phase 1-8, Clifton Blocks 1-9, Gulshan-e-Iqbal, Gulistan-e-Jauhar, PECHS, North Nazimabad, Nazimabad, Bahria Town Karachi, Federal B Area, Malir Cantt
Lahore13M+DHA Phases 1-9 + EME, Bahria Town Lahore Sectors A-G, Bahria Orchard, Gulberg I-IV, Model Town, Johar Town, Wapda Town, Garden Town, Cantt, Askari, Valencia, Eden, Paragon City, Lake City, Citi Housing
Islamabad1.1M+F-6, F-7, F-8, F-10, F-11, E-11, G-13, G-14, G-15, I-8, I-10, B-17, DHA Islamabad, Bahria Town Phases 1-8, Capital Smart City, Park View City, Top City
Rawalpindi2.3M+Bahria Town Phases 1-8, DHA Phase 1-4, Adyala Road, Bahria Garden City, Saddar, Westridge, Chaklala Scheme
Faisalabad3.5M+Wapda City, Eden Valley, Citi Housing, Madina Town, Susan Road, Saeed Colony, D-Ground
Multan2.0M+DHA Multan, Wapda Town, Model Town, Buch Villas, Royal Orchard
Peshawar2.0M+DHA Peshawar, Hayatabad, University Town, Cantt, Regi Model Town
Gujranwala2.0M+Citi Housing, DC Colony, Satellite Town, Wapda Town
Sialkot0.8M+Cantt, Defence Road, Bismillah Housing
Hyderabad1.7M+Latifabad, Qasimabad, Auto Bhan Road
Quetta1.1M+Satellite Town, Jinnah Town, Brewery Road
Abbottabad0.4M+Mansehra Road, Karakoram Highway corridor

Society detection is built-in for the major schemes (DHA, Bahria Town, Capital Smart City, Gulberg, Model Town, Johar Town, Askari, Cantt, Clifton, PECHS, Nazimabad, North Nazimabad, Wapda Town, Eden, Valencia, Paragon City, Lake City, Citi Housing, Park View, Al Kabir). Other societies are returned in the raw location and title fields for downstream parsing.


Cost & Performance

MetricValue
EngineHTTP + Cheerio (no headless browser)
Runtime (1 city, 1 page, list mode)5-15 seconds
Runtime (3 cities, ~500 records, list mode)3-7 minutes
Runtime (1 city, ~500 records, scrapeDetails: true)10-25 minutes
Cost per typical 500-record runsmall fraction of $1 (pay-per-event)
Pricing modelPay-per-event — actor start + per dataset item
Data freshnessLive at run time — Zameen listings update minute-by-minute
Auth requiredNone
Proxy requiredApify Residential recommended for >200 pages
ConcurrencySafe to run multiple city configurations in parallel
Memory footprint256 MB sufficient (max 1024 MB allocated)
Output formatsJSON, JSONL, CSV, Excel (XLSX), HTML, XML, RSS

  • Public data only — every field is publicly visible on zameen.com without login
  • No PII beyond listing-side agent contact — agent name and phone are intentionally published by the agent for lead capture
  • No buyer-side PII — no prospective buyer searches, saved listings, or messaging history is scraped
  • No financial / banking data — only listing-side asking prices
  • Respect Zameen ToS — keep request delays at >=500 ms, use Apify Residential proxies for large runs, and avoid hammering the same URL
  • Pakistan PECA 2016 & PDPA-style guidance — consumers should not use agent contact data for unsolicited bulk WhatsApp / SMS / robo-calls
  • GDPR / UK GDPR / CCPA — if you're processing data on behalf of EU/UK/California residents (e.g., overseas Pakistani investors), apply your normal lawful-basis assessment; agent contact info that the agent voluntarily published on a public portal generally qualifies as "manifestly made public"
  • No copyrighted scraping — listing photos remain copyright of the original lister; the actor returns URLs only, not re-hosted bytes
  • Robots / fair use — Zameen does not block crawling of public listing pages in its robots.txt as of the actor's release; behavior should be re-checked periodically

Important: Use the data responsibly. Do not impersonate listings, generate fake comparables, or use scraped phone numbers for SMS spam — these are illegal under Pakistan's PECA Act, UAE/KSA telecoms regulations, and most Western jurisdictions.


Frequently Asked Questions

How fresh is the data?

Live at run time. Zameen listings update minute-by-minute as agents post, edit, and remove inventory. Each actor run re-fetches every requested URL — there is no internal cache.

How many listings will I get per run?

Depends on filters. A single city / single propertyType / single purpose Zameen search typically exposes a few thousand pages × ~25 listings each, capped by Zameen's pagination ceiling. Use maxRecords and maxPages to control cost.

Do I need to log in to Zameen?

No. The actor scrapes only public listing pages — no Zameen account, no API key, no authentication needed. You only need an Apify account.

Does Zameen rate-limit?

Yes. Datacenter IPs get 403/429 quickly on large scrapes. Enable Apify Residential proxies (default ON) and use requestDelay: 1000+ for runs over a few hundred pages.

Can I get the agent's phone number?

Yes — set scrapeDetails: true. The actor opens each individual /Property/ page and extracts the +92... or 03... mobile from the tel: link and inline HTML. List mode (without scrapeDetails) does NOT include phone numbers.

What's the difference between Marla and Kanal?

In Punjab and AJK, 1 Marla = ~272.25 sq ft and 1 Kanal = 20 Marla = ~5,445 sq ft. The actor returns the original number + unit AND a normalized areaInSqFt so you can compare any two listings on a single axis.

Are prices in PKR or some other currency?

The numeric price field is always Pakistani Rupees (PKR). The string priceDisplay preserves the original Crore / Lakh formatting for human-readable dashboards. Convert PKR to USD / AED / GBP downstream using your preferred FX feed.

Does this work for plots and commercial, not just houses?

Yes — set propertyType: "Plots", "Commercial", or "all". Plot listings have null bedrooms / bathrooms. Set purpose: "for_rent" for rent-only, "for_sale" for buy-only, or "all" for both.

Does it cover Quetta, Peshawar, Faisalabad, Gujranwala, Hyderabad?

Yes for Faisalabad (code 8), Peshawar (9), Gujranwala (12), Sialkot (14), Hyderabad (16). For cities without a built-in code (Quetta, Abbottabad, etc.), pass the city name and use startUrls with a Zameen-search URL you've copied from the site.

Can I filter by price range?

The actor doesn't apply price filters at the source (Zameen's URL scheme doesn't expose stable price-range parameters across all property types). Instead, scrape the relevant city/type, then filter on the numeric price field in your warehouse / Sheets / Python.

How do I get listings from a specific society like Bahria Town Karachi or DHA Phase 6?

Two options. (a) Run a city-wide scrape and filter on society and location downstream. (b) Open the Zameen society/sector page in your browser, copy its URL, and pass it via startUrls.

What if Zameen changes its HTML structure?

The actor uses multiple fallback selectors plus a JSON-LD parser plus a /Property/ href fallback — if Zameen changes one card class, the others typically still match. Open an Issue on the Apify Store page if a redesign breaks parsing and the maintainer ships a fix.

Does the actor deduplicate and follow detail pages by default?

Dedupe yes — key is listingId || listingUrl || title, so overlapping start URLs or pagination overlap are dropped. Detail pages no — set scrapeDetails: true to fetch full description, phone, coordinates, and full image galleries per listing.

Can I run this on the Apify Free Plan and schedule it?

Yes to both — small runs fit comfortably on the free tier, and Apify's built-in Scheduler triggers the actor on any cron expression. Combine with Google Sheets / webhook / dataset integrations for fully automated daily inventory pulls. Export formats: JSON, JSON Lines, CSV, Excel (XLSX), HTML, XML, and RSS.

Is there a Zameen API alternative?

Not officially — Zameen does not publish a public REST or GraphQL listings API to third-party developers. This actor is the practical equivalent: a maintained, schema-stable, normalized JSON feed of Zameen.com inventory.

Can I use this data commercially?

Yes — the data itself is publicly listed. Respect Zameen's ToS, agents' phone-number consent intent (don't use them for SMS / WhatsApp spam), and any local data-protection law that applies to your downstream use.

Does this work for other portals (Graana, OLX Pakistan, JagahOnline)?

No — this actor is Zameen-only. For other Asian, Latin American, European, and North American real estate portals, see the Related Actors section below.


If you need real estate inventory from other countries, or marketplace classifieds adjacent to property, these complementary actors are maintained by the same developer:


Comparison vs. Alternatives

ApproachSetup timeData freshnessPer-1K records costPKR + Marla normalizationMaintenance
This actor< 2 minutesLive at runsmall fraction of $1Built-inMaintained
Manual Zameen browsingHoursLiveFree + your timeNoneNone
DIY Python + BeautifulSoup1-3 weeks devLiveFree + infraDIYDIY, breaks on UI updates
Hire a freelance scraper$200-1000+VariableVariableVariableNone after delivery
Paid Pakistan real estate APIHours setupReal-time$100s-1000s/monthVariesVendor
Zameen's own exportNot availableN/AN/AN/AN/A

Why Pay-Per-Event Pricing?

This actor uses pay-per-event pricing instead of a flat monthly fee:

  • Only pay when the actor runs — no idle subscription burn
  • Costs scale linearly with how many listings you actually collect
  • Transparent line-item billing inside the Apify console
  • No monthly minimums or annual commitments
  • Trivially cheap to sandbox: maxRecords: 25 runs cost pennies
  • Predictable cost-per-record makes ROI math obvious for prop-tech and AVM teams

Changelog

VersionDateNotes
1.0.02026-05Initial public release — Cheerio + got-scraping, Crore/Lakh and Marla/Kanal normalization, society detection, JSON-LD fallback, optional detail-page mode, residential-proxy support

Keywords

Zameen scraper · Zameen.com data · Zameen API alternative · Pakistan real estate data · Pakistan property scraper · Karachi property scraper · Lahore property scraper · Islamabad property scraper · Rawalpindi property data · DHA property listings scraper · Bahria Town property scraper · Capital Smart City listings · Gulberg property data · Model Town Lahore property · Clifton Karachi apartments · PECHS Nazimabad listings · F-6 F-7 F-8 F-10 Islamabad sector data · Pakistan plot file data · Marla Kanal property scraper · PKR Crore Lakh price normalization · Pakistan real estate API · Pakistan property listings JSON · for sale Pakistan property data · for rent Pakistan property data · Pakistan agent dealer contact data · DHA Bahria Town comparable sales · overseas Pakistani property investor data · Pakistan AVM data feed · prop-tech Pakistan dataset · Pakistan house price scraper · Pakistan commercial property data · Pakistan plot file scraper · Faisalabad Multan Peshawar property data · Lahore Islamabad Karachi property feed · Apify Pakistan real estate actor · Zameen.com listings extractor · Zameen.com pagination scraper · Pakistan real estate lead generation


Support

  • Bug reports: Use the Issues tab on the Apify Store actor page
  • Feature requests: Same place — please include a sample Zameen URL and the field/behavior you'd like added
  • Direct contact: Through the Apify developer profile

If this actor saves you time, a 5-star rating on the Apify Store helps overseas Pakistani investors, prop-tech teams, valuers, and realtors discover it. Shukriya!