DDProperty Scraper avatar

DDProperty Scraper

Pricing

Pay per usage

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

Pay per usage

Rating

5.0

(1)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

6

Monthly active users

8 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 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

ParameterTypeRequiredDefaultDescription
startUrlStringNohttps://www.ddproperty.com/en/property-for-sale?listingType=sale&isCommercial=falseDDProperty search URL to start from
listingTypeStringNosaleListing mode: sale or rent
isCommercialBooleanNofalseToggle commercial search context
results_wantedIntegerNo20Maximum number of listings to save
max_pagesIntegerNo5Maximum number of pages to inspect
proxyConfigurationObjectNoresidential proxy presetProxy settings for more 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
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
availabilityTextStringAvailability label
listedByTextStringListing source label
badgeTextStringListing badge text
viewedLabelStringViewer activity label
mrtNamesArrayNearby MRT 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 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
}

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: 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

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


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