DDProperty Scraper
Pricing
Pay per usage
DDProperty Scraper
Scrape property listings from DD websites with precision. Extracts prices, locations, descriptions & more. Residential proxy compulsory for reliable data collection. Perfect for real estate analytics, market research & investment tracking. High-speed, accurate property data extraction.
Pricing
Pay per usage
Rating
5.0
(1)
Developer
Shahid Irfan
Maintained by CommunityActor stats
0
Bookmarked
15
Total users
6
Monthly active users
8 days ago
Last modified
Categories
Share
DDProperty Listings Scraper
Extract DDProperty property listings for sale or rent and collect clean, analysis-ready real estate data at scale. Gather pricing, property details, location context, agent information, and listing quality signals for research, monitoring, and lead generation workflows.
Features
- Comprehensive listing coverage — Collect pricing, property specs, address details, project names, agent metadata, and listing status signals
- Duplicate-safe collection — Save unique listings only, even across multiple result pages
- Adaptive continuity — Keeps collection stable when one access pattern stops returning usable listing data
- Rich location context — Capture district, region, nearby MRT references, and feature summaries
- Clean output records — Automatically removes empty values so exported data stays ready for analysis
Use Cases
Market Monitoring
Track sale and rent inventory over time to understand pricing shifts, listing freshness, and supply changes in target areas.
Lead Research
Build structured property datasets with agent and project context for outreach, qualification, and portfolio review.
Competitive Analysis
Compare property types, pricing, and listing visibility signals across districts, projects, and commercial versus residential segments.
Investment Screening
Review floor area, price-per-area, building context, and recency indicators to shortlist attractive property opportunities faster.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | https://www.ddproperty.com/en/property-for-sale?listingType=sale&isCommercial=false | DDProperty search URL to start from |
listingType | String | No | sale | Listing mode: sale or rent |
isCommercial | Boolean | No | false | Toggle commercial search context |
results_wanted | Integer | No | 20 | Maximum number of listings to save |
max_pages | Integer | No | 5 | Maximum number of pages to inspect |
proxyConfiguration | Object | No | residential proxy preset | Proxy settings for more reliable runs |
Output Data
Each item in the dataset contains:
| Field | Type | Description |
|---|---|---|
id | String | Listing ID |
externalId | String | External listing ID |
title | String | Listing title |
url | String | Listing URL |
listingType | String | Sale or rent label |
propertyType | String | Property type |
statusCode | String | Listing status code |
price | Number | Numeric listing price |
priceText | String | Formatted listing price |
pricePerArea | String | Price per area text |
currency | String | Currency code |
bedrooms | Number | Bedroom count |
bathrooms | Number | Bathroom count |
floorAreaSqm | Number | Floor area in square meters |
landAreaSqm | Number | Land area in square meters |
address | String | Full address |
district | String | District name |
region | String | Region name |
projectName | String | Project or development name |
developerName | String | Developer name when available |
agentName | String | Agent name |
agentId | Number | Agent ID |
agentVerified | Boolean | Agent verification flag |
imageUrl | String | Main listing image URL |
availabilityText | String | Availability label |
listedByText | String | Listing source label |
badgeText | String | Listing badge text |
viewedLabel | String | Viewer activity label |
mrtNames | Array | Nearby MRT names |
featureTexts | Array | Feature summary text values |
isVerified | Boolean | Listing verification flag |
isOfficialListing | Boolean | Official listing flag |
isDeveloperListing | Boolean | Developer listing flag |
isDeveloperUnitListing | Boolean | Developer unit listing flag |
isPrioritized | Boolean | Prioritized listing flag |
isPhoneOtpEnabled | Boolean | Phone verification flag |
accountTypeCode | String | Listing account type |
recencyText | String | Recency text |
postedOnText | String | Display posting date |
postedOnUnix | Number | Posting timestamp |
sourceUrl | String | Search page URL used for collection |
page | Number | Search result page number |
scrapedAt | String | ISO timestamp when the record was collected |
Usage Examples
Basic Sale Listings
Collect the default sale search results:
{"startUrl": "https://www.ddproperty.com/en/property-for-sale?listingType=sale&isCommercial=false","listingType": "sale","isCommercial": false,"results_wanted": 20,"max_pages": 3}
Rent Listings
Switch to rent inventory:
{"startUrl": "https://www.ddproperty.com/en/property-for-rent?listingType=rent&isCommercial=false","listingType": "rent","isCommercial": false,"results_wanted": 30,"max_pages": 4}
Commercial Search
Collect commercial property listings with residential proxies:
{"startUrl": "https://www.ddproperty.com/en/property-for-sale?listingType=sale&isCommercial=true","listingType": "sale","isCommercial": true,"results_wanted": 20,"max_pages": 5,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Sample Output
{"id": "12345678","externalId": "12345678","title": "3 Bedroom Condo for sale at Example Residence","url": "https://www.ddproperty.com/en/property/example-residence-for-sale-12345678","listingType": "For Sale","propertyType": "Condo","statusCode": "ACT","price": 8500000,"priceText": "฿8,500,000","pricePerArea": "฿94,444 / sqm","currency": "THB","bedrooms": 3,"bathrooms": 2,"floorAreaSqm": 95,"address": "Bang Na, Bang Na, Bangkok","district": "Bang Na","region": "Bangkok","projectName": "Example Residence","developerName": "Example Developer","agentName": "Example Agent","agentId": 81234,"agentVerified": true,"availabilityText": "Available now","listedByText": "Listed by agent","badgeText": "Verified","viewedLabel": "Viewed 120 times","mrtNames": ["Bang Na"],"featureTexts": ["3 Beds", "2 Baths", "95 sqm"],"isVerified": true,"isOfficialListing": false,"isDeveloperListing": false,"isPrioritized": true,"accountTypeCode": "agent","recencyText": "2 days ago","postedOnText": "2 days ago","postedOnUnix": 1772755200,"sourceUrl": "https://www.ddproperty.com/en/property-for-sale?listingType=sale&isCommercial=false","page": 1,"scrapedAt": "2026-06-15T12:00:00.000Z"}
Tips for Best Results
Start Small
- Use
results_wanted: 20for faster validation runs - Increase
max_pagesgradually for larger collection jobs
Choose Stable Search URLs
- Use working DDProperty search URLs with the correct
listingType - Keep
isCommercialaligned with the chosen search page
Improve Continuity
- Use residential proxies for larger or repeated runs
- Rerun with a lower page limit first if the site returns fewer records than expected
Integrations
Connect your data with:
- Google Sheets — Review property inventory in a spreadsheet workflow
- Airtable — Build searchable listing databases
- Webhooks — Send fresh listing data to downstream systems
- Make — Automate lead and monitoring workflows
- Zapier — Trigger alerts and reporting steps
Export Formats
- JSON — For APIs and custom applications
- CSV — For spreadsheet analysis
- Excel — For business reporting
- XML — For system integrations
Frequently Asked Questions
How many listings can I collect?
You can collect as many listings as the selected search results expose, subject to your results_wanted and max_pages settings.
Can I collect both sale and rent listings?
Yes. Set listingType to sale or rent and use a matching DDProperty search URL.
Why do some fields appear empty?
Some listings do not expose every data point. Empty values are omitted automatically so the dataset stays clean.
Why should I use proxies?
Residential proxies generally provide better continuity for repeated or larger collection runs.
What happens if no listings are found?
The run stops with a clear error instead of returning a fake success record, so it is easier to diagnose and correct.
Support
For issues or feature requests, contact support through the Apify Console.
Resources
Legal Notice
Use this actor responsibly and in compliance with DDProperty terms, robots policies, and applicable laws. You are responsible for lawful use of collected data.