DDProperty Scraper avatar

DDProperty Scraper

Pricing

from $1.49 / 1,000 results

Go to Apify Store
DDProperty Scraper

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

from $1.49 / 1,000 results

Rating

5.0

(2)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

1

Bookmarked

17

Total users

4

Monthly active users

13 days ago

Last modified

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.

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.

Data Pipeline Automation

Feed structured listing data into dashboards, alerts, or CRM tools for continuous real estate intelligence.


Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoDDProperty sale search URLSearch URL to start from
listingTypeStringNosaleListing mode - sale or rent
isCommercialBooleanNofalseToggle commercial property search
results_wantedIntegerNo20Maximum number of listings to save
max_pagesIntegerNo5Maximum result pages to inspect
proxyConfigurationObjectNoResidential proxy presetProxy settings for reliable runs

Output Data

Each item in the dataset contains:

FieldTypeDescription
idStringListing ID
externalIdStringExternal listing ID
titleStringListing title
urlStringListing URL
listingTypeStringSale or rent label
propertyTypeStringProperty type (Condo, House, etc.)
statusCodeStringListing status code
priceNumberNumeric listing price
priceTextStringFormatted listing price
pricePerAreaStringPrice per area text
currencyStringCurrency code
bedroomsNumberBedroom count
bathroomsNumberBathroom count
floorAreaSqmNumberFloor area in square meters
landAreaSqmNumberLand area in square meters
addressStringFull address
districtStringDistrict name
regionStringRegion name
projectNameStringProject or development name
developerNameStringDeveloper name when available
agentNameStringAgent name
agentIdNumberAgent ID
agentVerifiedBooleanAgent verification flag
imageUrlStringMain listing image URL
photoGalleryArrayFull-resolution photo URLs from the listing gallery
availabilityTextStringAvailability label
listedByTextStringListing source label
badgeTextStringListing badge text
viewedLabelStringViewer activity label
mrtNamesArrayNearby MRT station names
featureTextsArrayFeature summary text values
isVerifiedBooleanListing verification flag
isOfficialListingBooleanOfficial listing flag
isDeveloperListingBooleanDeveloper listing flag
isDeveloperUnitListingBooleanDeveloper unit listing flag
isPrioritizedBooleanPrioritized listing flag
isPhoneOtpEnabledBooleanPhone verification flag
accountTypeCodeStringListing account type
recencyTextStringRecency text
postedOnTextStringDisplay posting date
postedOnUnixNumberPosting timestamp
sourceUrlStringSearch page URL used for collection
pageNumberSearch result page number
scrapedAtStringISO timestamp when the record was collected

Usage Examples

Basic Sale Listings

Collect 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
}

Collect commercial property listings with residential proxies for better continuity:

{
"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"],
"imageUrl": "https://th1-cdn.pgimgs.com/project-listing-project/60248606/PLPHO.134568456.V550/example.jpg",
"photoGallery": [
"https://th1-cdn.pgimgs.com/project-listing-project/60248606/PLPHO.134568456.V800/example.jpg",
"https://th1-cdn.pgimgs.com/project-listing-project/60248606/PLPHO.134568457.V800/example-2.jpg"
],
"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: 20 for faster validation runs
  • Increase max_pages gradually for larger collection jobs

Choose Stable Search URLs

  • Use working DDProperty search URLs with the correct listingType
  • Keep isCommercial aligned 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

Proxy Configuration

For reliable results, residential proxies are recommended:

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

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 all available listings the selected search exposes. Set results_wanted to your target number and increase max_pages for deeper pagination.

Can I collect both sale and rent listings?

Yes, you can. Set listingType to sale for for-sale properties or rent for rental listings, and provide a matching DDProperty search URL.

What fields does each listing record contain?

Each record includes 43 fields covering price, property type, bedrooms, bathrooms, floor area, land area, address, district, region, project name, developer name, agent details, MRT station names, feature summaries, verification flags, and timestamps.

Why do some fields appear empty?

Not every listing exposes all data points. Empty values are omitted automatically so the exported dataset stays clean and analysis-ready.

Why should I use proxies?

Residential proxies provide better continuity for repeated or large-scale collection runs. They help reduce the chance of rate limiting and access interruptions.

What happens if no listings are found?

The run stops with a clear error message instead of returning a fake success record. This makes it straightforward to diagnose issues and adjust your input parameters.

Can I automate this on a schedule?

Yes. Apify supports scheduled runs. You can configure daily or weekly collection jobs and pipe results into Google Sheets, Slack, or custom webhooks.

Is this compliant with DDProperty terms?

You are responsible for using this actor in accordance with DDProperty's terms of service and robots.txt. Always respect rate limits and applicable laws.


Support

For issues or feature requests, contact support through the Apify Console.

Resources


Use this actor responsibly and in compliance with DDProperty terms, robots policies, and applicable laws. You are responsible for lawful use of collected data.