Property Finder Scraper — Saudi, Qatar, Bahrain & Egypt
Pricing
from $1.00 / 1,000 listing scrapeds
Property Finder Scraper — Saudi, Qatar, Bahrain & Egypt
Scrape rent and sale listings from Property Finder Saudi Arabia, Qatar, Bahrain and Egypt (propertyfinder.sa, .qa, .bh, .eg): price in SAR/QAR/BHD/EGP, size, bedrooms, location, coordinates, amenities and agency. Fast HTTP-only, no personal data, respects robots.txt.
Pricing
from $1.00 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Clearrow Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare
What does Property Finder Scraper — Saudi, Qatar, Bahrain & Egypt do?
Property Finder Scraper — Saudi, Qatar, Bahrain & Egypt extracts rent and sale listings from the Property Finder country sites – propertyfinder.sa, propertyfinder.qa, propertyfinder.bh and propertyfinder.eg – and returns them as clean, structured data: price in local currency (SAR, QAR, BHD, EGP), price frequency, bedrooms, bathrooms, size (sqm and sqft), furnishing, completion status, community, coordinates, amenities, agency and listing URL. Think of it as an unofficial Property Finder API for Riyadh, Jeddah, Doha, Lusail, Manama, Cairo, the North Coast and more.
It is fast and lightweight (pure HTTP, no browser), polite to the website, and collects no personal data – no agent names, phone numbers or emails, only the agency's company name.
Looking for the UAE? Use the sibling Property Finder UAE Listings Scraper for propertyfinder.ae.
Why scrape Property Finder in Saudi Arabia, Qatar, Bahrain and Egypt?
- 📈 Market research – track asking rents and sale prices per district, bedroom count or property type.
- 🌍 Cross-market comparison – one Actor, one output format for four GCC / MENA markets.
- 🏘️ Investment analysis – compare yields across areas, spot off-plan supply in Lusail or New Capital City, monitor new listings daily.
- 🗺️ Geo analysis – every listing has latitude/longitude, ready for maps and heatmaps.
- 🏢 Competitive intelligence – see which agencies list most in a given area.
Running on Apify gives you scheduling (e.g. every morning), API access, integrations (Google Sheets, Make, Zapier, webhooks) and run monitoring out of the box.
Supported countries
| Country | Site | Currency | Example locations |
|---|---|---|---|
| 🇸🇦 Saudi Arabia | propertyfinder.sa | SAR | Riyadh, Makkah region (Jeddah), Eastern Province (Dammam, Khobar), Madinah, Al Qassim, Asir, Jazan |
| 🇶🇦 Qatar | propertyfinder.qa | QAR | Doha, Lusail, Al Wakra, Al Daayen, Umm Salal, Al Khor, Al Shamal |
| 🇧🇭 Bahrain | propertyfinder.bh | BHD | Capital, Muharraq, Northern, Central, Southern governorates |
| 🇪🇬 Egypt | propertyfinder.eg | EGP | Cairo, Giza, Alexandria, North Coast, Red Sea, Suez, Al Daqahlya |
Prices are returned in the currency the site shows. Any other city or community works through category URLs (see Input).
What data can it extract?
| Field | Type | Description |
|---|---|---|
listingId | string | Property Finder listing ID |
country | string | sa, qa, bh or eg |
title | string | Listing headline |
price / currency | number / string | Asking price, e.g. 1250000 QAR |
priceFrequency | string | yearly, monthly, weekly, daily (rent) or sale |
propertyType | string | Apartment, Villa, Townhouse, Chalet, … |
bedrooms / bathrooms | integer | Bedrooms (0 = studio) and bathrooms |
sizeSqft / sizeSqm | number | Built-up area in sq ft and m² |
furnished | string | furnished, unfurnished, partly-furnished |
completionStatus | string | completed, off_plan, completed_primary, off_plan_primary |
community / subCommunity / city | string | Location hierarchy (district / area / city or governorate) |
latitude / longitude | number | Coordinates |
agencyName | string | Listing agency (company name only; null for individual brokers) |
listedDate | string | ISO 8601 publish date |
verified | boolean | Property Finder "verified" badge |
amenities | array | e.g. ["Shared Pool", "Covered Parking"] |
imageCount | integer | Number of photos |
listingUrl | string | Link to the listing |
How to scrape Property Finder Saudi, Qatar, Bahrain or Egypt
- Click Try for free / Start.
- Pick a Country, then a City / region, Rent or buy and Property type – or paste one or more Property Finder category URLs such as
https://www.propertyfinder.eg/en/buy/cairo/villas-for-sale.html. - Set Maximum listings.
- Click Start and download your data as JSON, CSV, Excel or HTML.
How much will it cost to scrape Property Finder?
This Actor uses pay-per-event pricing. You pay for two events:
| Event | Price | When it is charged |
|---|---|---|
actor-start | $0.005 | Once per run |
listing-scraped | $0.001 ($1 per 1,000 listings) | Once per listing saved to the dataset |
Cost examples:
| Listings per run | Calculation | Total |
|---|---|---|
| 100 | $0.005 + 100 × $0.001 | $0.105 |
| 1,000 | $0.005 + 1,000 × $0.001 | $1.005 |
| 10,000 | $0.005 + 10,000 × $0.001 | $10.005 |
A daily run of 1,000 listings for a month costs about $30.15.
- Free Apify plan: runs are capped at 20 listings so you can test the output.
- Paid plans: up to your
maxResults. The Actor also stops automatically when your maximum cost per run is reached, so you never pay more than you set.
Input
See the Input tab for all options. Example:
{"country": "qa","city": "lusail","offeringType": "buy","propertyType": "apartments","maxResults": 100}
or
{"startUrls": [{ "url": "https://www.propertyfinder.sa/en/rent/makkah-al-mukarramah/apartments-for-rent.html" },{ "url": "https://www.propertyfinder.bh/en/buy/muharraq-governorate/villas-for-sale.html" }],"maxResults": 200}
Leave City / region empty to use the country's main market (Riyadh region, Doha, Capital Governorate, Cairo). The city must belong to the selected country – otherwise the run stops with a list of valid values.
Accepted URLs: category pages of the form https://www.propertyfinder.{sa|qa|bh|eg}/en/{rent|buy}/{city}/{type}-for-{rent|sale}.html, optionally with ?page=N. Community-level category pages work too, and URLs from different countries can be mixed in one run (each row's country comes from its URL). Search URLs (/en/search?…) and filter parameters (bedrooms=, price=, ob=, …) are skipped, because Property Finder's robots.txt disallows them – see Limitations.
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. Sample item (values anonymized):
{"listingId": "100000001","country": "qa","title": "Luxury Living | 10% Down Payment | 7-Year PP","price": 1591506,"currency": "QAR","priceFrequency": "sale","propertyType": "Apartment","bedrooms": 2,"bathrooms": 3,"sizeSqft": 1389,"sizeSqm": 129,"furnished": "furnished","completionStatus": "off_plan_primary","community": "Lusail City","subCommunity": "Miran","city": "Lusail","latitude": 25.4286,"longitude": 51.5074,"agencyName": "Example Real Estate","listedDate": "2026-11-05T14:47:50Z","verified": false,"amenities": ["Central A/C", "Balcony", "Shared Pool", "Shared Gym", "Covered Parking", "Security"],"imageCount": 15,"listingUrl": "https://www.propertyfinder.qa/en/plp/buy/apartment-for-sale-lusail-lusail-city-miran-100000001.html"}
Limitations
- Lebanon is not supported. Property Finder no longer operates a Lebanon site (propertyfinder.lb does not exist), so there is nothing to scrape.
- No search / filter URLs. Property Finder's robots.txt disallows
/en/search?…and filter query parameters, so the Actor only crawls category pages (city × rent/buy × property type, or a community category page). Filter by bedrooms, price, etc. in the downloaded dataset instead. - Not every property type exists everywhere. E.g. chalets are mostly an Egyptian category and compounds a Saudi / Qatari one. A category that doesn't exist (HTTP 404) is reported in the log and the run finishes with 0 listings – try "All properties".
- Results come from search result pages only (about 25 listings per page). Detail pages are not opened, so long descriptions and full floor plans are not included. New-project / developer "project" cards are skipped – only individual listings are returned.
- Agency reference numbers are not included, because agencies on these sites often build them from people's names.
- Data is as entered by the lister. Sizes and prices are not corrected – occasional outliers (e.g. a plot size entered as the apartment size) come straight from the site.
- Hidden prices are returned as
null.completionStatusis usually empty for rentals. - Polite by design: max 2 concurrent requests, 500 ms between requests to the same domain, and a descriptive User-Agent. Large scrapes therefore take a while (~1,000 listings in a few minutes).
- No blocking bypass. If Property Finder blocks the crawler (HTTP 403/429 or a CAPTCHA page), the Actor stops cleanly, keeps what it has already scraped, and reports the reason in the run status. It never tries to solve CAPTCHAs.
- The Actor relies on the JSON embedded in Property Finder's pages; if the site changes its structure, it may need an update.
FAQ, disclaimers and support
Does it collect personal data? No. Agent names, photos, phone numbers, WhatsApp links and emails are never stored – only the agency's company name. In Saudi Arabia individual licensed brokers can list under their own name; in that case agencyName is null. Free-text descriptions and agency reference numbers are not stored either, because they often contain phone numbers or names.
Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
This Actor is not affiliated with or endorsed by Property Finder. Found a bug or need a field? Open an issue in the Issues tab. For programmatic access, see the API tab.