Propertypal Scraper
Pricing
from $4.00 / 1,000 starter tier per 1k properties
Propertypal Scraper
Scrape propertypal.com to crawl millions of sale/rent real estate properties from Northern Ireland. Our real estate scraper also lets you monitor specific listing for new updates/listing. You can provide multiple search result listings to scrape/monitor.
Pricing
from $4.00 / 1,000 starter tier per 1k properties
Rating
5.0
(3)
Developer
Dhrumil Bhankhar
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
1
Monthly active users
19 days ago
Last modified
Categories
Share
🏡 What is Propertypal Real Estate Properties Scraper?
This Propertypal properties Scraper will enable you scrape any sale/rent listing from collection from propertypal.co.uk/.
You can simply take your listing url from browser and enter it into this actor. This actor will crawl through all pages of particular listing and generate dataset for you.
Listing url is something you get when you perform the search on propertypal site. Example listing urls :
- https://www.propertypal.com/search?sta=forSale&sta=saleAgreed&st=sale&pt=residential&max=40000¤cy=GBP&term=3
- https://www.propertypal.com/search?sta=toLet&sta=letAgreed&st=rent&pt=residential¤cy=GBP&term=3
🚪 What can this Propertypal Scraper do?
📈 Extract Propertypal market data listings on Propertypal
👀 This actor is not just scraper but also has monitoring capability. You can turn on monitoring mode and it will give you only newly added properties compared to your previous scrapes.
📩 This actor also helps yu to identify which properties are not listed anymore. Please refer to Identifying delisted properties
⬇️ Download Propertypal real estate data in Excel, CSV, JSON, and other formats
📚 How do I start scraping with this scraper?
- Register for your free Apify account here
- You don't need to provide your credit card details for free acount. Just click on "Get Started" button on above link and complete the registration only.
- Free account comes with reasonable credits to try out this actor. This actor also comes with free trial of 1 hour without any commitment/upfront charge.
- Run this actor and verify the scraped data. Apify has huge integration possibilities. You can download the data or push the data into any 3rd party platform directly.
🌳 What Propertypal data can I extract using this tool?
| 📝 | 📝 |
|---|---|
| Field | Description |
| ---------------------- | ------------------------------------ |
| id | Property ID |
| url | Listing URL |
| title | Listing Title |
| address | Full Address |
| street | Street Name |
| town | Town/City |
| nameOrNumber | Name or Number |
| addressLine1 | Address Line 1 |
| addressLine2 | Address Line 2 |
| bedrooms | Number of Bedrooms |
| bathrooms | Number of Bathrooms |
| receptionrooms | Number of Reception Rooms |
| pricePrefix | Price Prefix (e.g., Offers Over) |
| price | Price |
| priceMin | Minimum Price |
| priceMax | Maximum Price |
| status | Listing Status |
| region | Region/County |
| description | Description (HTML) |
| coordinates | Coordinates (lat/lng, etc.) |
| epcRating | EPC Rating |
| incode | Incode (postcode part) |
| outcode | Outcode (postcode part) |
| heatingType | Heating Type |
| history | Price/Status History |
| category | Category (e.g., Added) |
| listingUpdatedTime | Last Updated Time |
| type | Type (object: key/text) |
| postalCode | Postal Code |
| propertyType | Property Type |
| listingsCategory | Listings Category |
| account | Agent/Account Info (object) |
| publishedOn | Published On Date |
| images | Image URLs |
| agents | Agents (array of objects) |
| berExempt | BER Exempt (boolean) |
| broadbandSpeed | Broadband Speed Info (object) |
| brochures | Brochures (array of objects) |
| brokers | Brokers (array) |
| coOwnershipEligible | Co-Ownership Eligible (boolean) |
| coOwnershipOnly | Co-Ownership Only (boolean) |
| dateAvailableFrom | Date Available From |
| dateViewableFrom | Date Viewable From |
| features | Features (array) |
| premiumListing | Premium Listing (boolean) |
| priceTrackerAvailable | Price Tracker Available (boolean) |
⬇️ Input
For simple use, provide the browser URL of a Propertypal search result page. Other fields have sensible defaults but can be customized as needed.
Input example
{"listUrls": [{"url": "https://propertypal.com/search?sta=forSale&sta=saleAgreed&st=sale&pt=residential&max=40000¤cy=GBP&term=3"}],"monitoringMode": false,"fullPropertyDetails": true,"addEmptyTrackerRecord": false,"enableDelistingTracker": false,"email": "","proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "GB"}}
Input fields
listUrls(array): Propertypal sale or rent listing URLs to scrape.monitoringMode(boolean): If true, only newly listed properties compared to previous runs will be scraped.fullPropertyDetails(boolean): If true, scrapes each property for full details. Turn off for faster, basic scraping.addEmptyTrackerRecord(boolean): If true, adds tracker ID record in incremental mode to help identify delisted properties with a custom loader.enableDelistingTracker(boolean): If true, tracks every property with a date in KV Store to help find delisted properties. May impact billing.email(string): Email address for notifications or error reports.proxy(object, required): Proxy configuration. Defaults to Apify residential proxy for the UK. Enable Apify Proxy or provide at least one proxy URL.
⬆️ Output
Scraped data is stored in the dataset for each run. You can view or download results in JSON, CSV, Excel, XML, RSS, and HTML formats.
Output example
{"id": "1051111","url": "https://www.propertypal.com/25-hopefield-avenue-portrush/1052311","title": "4 Bed Detached House","address": "25 Hopefield Avenue, Portrush, BT56 8HB","street": "Hopefield Avenue","town": "Portrush","nameOrNumber": "25","addressLine1": "25 Hopefield Avenue","bedrooms": 4,"bathrooms": 2,"receptionrooms": 1,"pricePrefix": "Offers Over","status": "For sale","region": "Antrim","price": 395000,"description": "<h2>Additional Information</h2><ul>\n <li>Detached House</li>\n <li>Four Bedroom</li>\n <li>Garage</li>\n <li>Large Garden</li>\n <li>Oil Central Heating</li>\n <li>Private Driveway</li>\n <li>uPVC Windows & Doors</li>\n</ul>","coordinates": {"latitude": 55.1979,"longitude": -6.65297,"accuracy": "unsure","mapZoomLevel": 10,"showStreetView": true},"epcRating": "E46/E54","priceMin": 395000,"priceMax": null,"incode": "8HB","outcode": "BT56","heatingType": "Oil","history": [{"difference": null,"priceOnApplication": false,"publishedOnAwp": true,"published": true,"timeModified": "2025-12-30T15:22:35+0000","price": 395000,"status": {"key": "forSale","text": "For sale"},"previousStatus": null,"previousPrice": null,"previousPublished": false,"statusChange": true,"priceChange": false,"publishedChange": true,"publishedOnAwpChange": true,"differencePercentage": null,"pricePrefix": "Offers Over","priceSuffix": null}],"category": "Added","listingUpdatedTime": "2025-12-30T16:33:10+0000","type": {"key": "residential","text": "Residential"},"postalCode": "BT56 8HB","propertyType": "Detached Houses","listingsCategory": "Residential","account": {"accountNumber": "ST1012202","organisation": "Causeway Coast Sales & Rentals","organisationBranch": "","displayAddress": "1 Harbour Place, Portstewart, BT55 7AX","officePhone": {"countryCode": 44,"displayNumber": "+44 28 7083 2220","international": "+44 28 7083 2220","national": "028 7083 2220","uk": "028 7083 2220"},"psrLicenceNumber": null,"websiteUrl": "https://www.causewaycoastrentals.co.uk","landingPageUrl": "/estate-agents/causeway-coast-sales-rentals","groupLandingPageUrl": null,"privateDeveloper": false,"developerPrimaryContact": false,"developer": false,"agent": true,"featuredAgent": false,"detailsEnabled": true,"emailEnabled": true,"showAddress": true,"hasMicrosite": true,"includeFeeCharges": true,"logo": {"standard": "https://media.propertypal.com/logo/160816205354/400x400/ST1012202/sales.png"},"agentLogos": [{"logoType": "STANDARD","url": "https://media.propertypal.com/logo/160816205354/400x400/ST1012202/sales.png","width": 600,"height": 256,"backgroundColour": "#b5251c","accountNumber": "ST1012202","developer": false,"agent": true}],"accreditations": [{"id": 2,"label": "TPOS","textKey": "propertyOmbudsman","url": "https://www.tpos.co.uk/","imageUrl": "https://www.propertypal.com/accreditations/propertyOmbudsman.png","type": "ESSENTIAL","tooltip": "Free, impartial and independent Ombudsman service, resolving disputes between Consumers and Property Agents since 1990."}],"missingAccreditations": null,"propertypalAwards": [],"openingTimes": [{"openTime": "2019-12-30T09:00:00+0000","closeTime": "2019-12-30T17:30:00+0000","byAppointment": false,"closed": false,"lunchBreak": false}],"tier": "CUSTOM","enhancedBranding": false,"searchUrl": "/search?radius=5.0&runit=m&rlat=55.1979&rlng=-6.65297&sta=forSale&st=sale&pt=residential&min=300000&max=450000¤cy=GBP&term=397432"},"publishedOn": "2025-12-30T15:22:35+0000","images": ["https://media.propertypal.com/large/p/1051111/39832548.jpg","https://media.propertypal.com/large/p/1051111/39832545.jpg"],"addressLine2": "","agents": [{"accountNumber": "ST1012202","organisation": "Causeway Coast Sales & Rentals","organisationBranch": "","displayAddress": "1 Harbour Place, Portstewart, BT55 7AX","officePhone": {"countryCode": 44,"displayNumber": "+44 28 7083 2220","international": "+44 28 7083 2220","national": "028 7083 2220","uk": "028 7083 2220"},"psrLicenceNumber": null,"websiteUrl": "https://www.causewaycoastrentals.co.uk","landingPageUrl": "/estate-agents/causeway-coast-sales-rentals","groupLandingPageUrl": null,"privateDeveloper": false,"developerPrimaryContact": false,"developer": false,"agent": true,"featuredAgent": false,"detailsEnabled": true,"emailEnabled": true,"showAddress": true,"hasMicrosite": true,"includeFeeCharges": true,"logo": {"standard": "https://media.propertypal.com/logo/160816205354/400x400/ST1012202/sales.png"},"agentLogos": [{"logoType": "STANDARD","url": "https://media.propertypal.com/logo/160816205354/400x400/ST1012202/sales.png","width": 600,"height": 256,"backgroundColour": "#b5251c","accountNumber": "ST1012202","developer": false,"agent": true}],"accreditations": [{"id": 2,"label": "TPOS","textKey": "propertyOmbudsman","url": "https://www.tpos.co.uk/","imageUrl": "https://www.propertypal.com/accreditations/propertyOmbudsman.png","type": "ESSENTIAL","tooltip": "Free, impartial and independent Ombudsman service, resolving disputes between Consumers and Property Agents since 1990."}],"missingAccreditations": null,"propertypalAwards": [],"openingTimes": [{"openTime": "2019-12-30T09:00:00+0000","closeTime": "2019-12-30T17:30:00+0000","byAppointment": false,"closed": false,"lunchBreak": false}],"tier": "CUSTOM","enhancedBranding": false,"searchUrl": "/search?radius=5.0&runit=m&rlat=55.1979&rlng=-6.65297&sta=forSale&st=sale&pt=residential&min=300000&max=450000¤cy=GBP&term=397432",}],"berExempt": false,"broadbandSpeed": {"estimated": false,"timeLastCached": "2025-12-30T15:22:36+0000","maxPredictedDown": "900","maxPredictedUp": "110","maxBbPredictedDown": "17","maxBbPredictedUp": "1","maxSfbbPredictedDown": "76","maxSfbbPredictedUp": "17","maxUfbbPredictedDown": "900","maxUfbbPredictedUp": "110","maxFibrusDown": "982","maxFibrusUp": "310","fibrusAvailable": true},"brochures": [{"sizeDescription": "510.3KB","title": "Brochure","publicFilename": "Brochure.pdf-3310363.pdf","contentType": "application/pdf","fileType": "pdfBrochure","displayOrder": 36,"url": "https://media.propertypal.com/f/p/1051111/3310363/Brochure.pdf"}],"brokers": [],"coOwnershipEligible": false,"coOwnershipOnly": false,"dateAvailableFrom": null,"dateViewableFrom": null,"features": ["Status : For sale","Style : Detached House","Bedrooms : 4","Bathrooms : 2","Receptions : 1","Tenure : Freehold","EPC Rating : E46/E54","Heating : Oil","Broadband : Highest download speed: 900 Mbps Highest upload speed: 110 Mbps","Price : Offers Over £395,000","Stamp Duty : null","Rates : £1,841.40 pa","Views All Time : 2299"],"premiumListing": false,"priceTrackerAvailable": true}
❓Limitations
Since Propertypal allows only 3000 properties per listing/search result, you might want to break down your listing urls into smaller area if it has more than 1K results. Good News is that even if multiple list urls contains overlapping results, they will get deduplicated within same run data.
This actor has ability to bypass captcha. However, please run this actor with residential proxy with country United Kingdom to get results smoothly.
🤝 Related Actors
- Rightmove Scraper: Scrape sale/rent listings from rightmove.co.uk.
- Zoopla Scraper: Scrape sale/rent listings from zoopla.co.uk.
- OnTheMarket Scraper : Scrape property sale/rent listings, prices, and details from OnTheMarket.
- Rightmove Full Address & House Number Finder: Find full addresses and house numbers for Rightmove listings.
- Rightmove Land Registry Full Address & House Number Finder: Get full address and house number using Land Registry data for Rightmove properties.
- Rightmove EPC Full Address Finder: Find EPC and full address details for Rightmove listings.
- Rightmove Commercial Scraper: Scrape commercial property listings from Rightmove.
- Rightmove Sold House Properties Scraper: Scrape sold house price data from Rightmove.
- Rightmove Agents Scraper: Extract agent and agency details from Rightmove.
- Propertypal Sold Properties Scraper: Scrape sold property data from Propertypal.
- Propertypal Commercial Properties Scraper: Scrape commercial property listings from Propertypal.
🔎 Identifying delisted properties
This actor provides you monitoring mode configuration using which you can get only incremental updates about newly added properties. In case, you also want to identify which properties are delisted from platform, you can use any of the following techniques with the help of this actor.
-
Running Always in full scraper mode : Run this actor always in full scrape mode and cross check the new incoming batch of data with your existing database. If any property that exists in yoru database but not in newly scraped data batch, that means it's not listed anymore
-
Use Key Value Store generated by scraper : If your are monitoring very large batch of data and you don't want to scrape everything all the time, this method involves bit of technicality but achieves the goal efectively. Apify has storage feature called Key-value store. When you run this scrape, this scraper stores every single property in key value store along with timestamp in
propertypal-propertiesstore. Inside this store, key is property id itself and value is timestamp like this{ lastSeen : '2023-11-02T05:59:25.763Z'}Whenever you run this scraper, it will update the timestamp against particular id if it finds property on the platform. e.g. if we have 2 proprties with id
prop1andprop2and we scraped them both on November 1, key value storage would look like this :prop1 -> { lastSeen : '2023-11-01T05:59:25.763Z'}prop2 -> { lastSeen : '2023-11-01T05:59:25.763Z'}Now if you run this scraper again on December 1 and prop1 is not on the platform anymore but prop2 is still there, key value storage would change like this :
prop1 -> { lastSeen : '2023-11-01T05:59:25.763Z'}prop2 -> { lastSeen : '2023-12-01T05:59:25.763Z'}That means if any property has
lastSeenless than latest batch you loaded, that property is delisted now. You can directly iterate through whole Key value storage using Apify key value storage API to identify this. Please refer to this API documentation to do the same. Please remember store name generated by this scrape will bepropertypal-properties.Alternatively, you can iterate through your existing database active properties and use this API to identify listing status.
For this approach to work, it's important that you enable this feature via
enableDelistingTracker(Enable Delisting tracker) input.
� Pricing Model & Usage Logic
This actor uses Apify's Pay-Per-Event (PPE) billing model, with usage tracked and charged based on the number of properties processed and additional multipliers. Charges are triggered at specific usage thresholds and events.
🟢 Charge Events & Tiers
The actor uses a tiered pricing model based on the number of properties processed. Each tier has a specific rate per 1,000 properties:
🔻 Cost Efficiency as You Scale: The tier-based pricing model is designed to reduce your cost per property as your usage increases. The more properties you process, the lower your per-unit cost becomes, helping keep your overall costs under control as you scale up to higher volumes.
Starter Tier (starter-tier-1K)
For the first 25,000 properties processed, the cost per 1,000 properties is $2.00 USD. This tier is ideal for small to medium jobs and ensures a low entry cost for initial usage.
Growth Tier (growth-tier-1K)
For properties processed from 25,000 up to 50,000 the cost per 1,000 properties drops to $1.50 USD. This tier rewards higher volume usage with a reduced rate, making it cost-effective for scaling up.
Scale Tier (scale-tier-1K)
For properties processed from 50,000 up to 200,000 the cost per 1,000 properties is $1.00 USD. This tier is designed for large-scale operations, offering further discounts as your volume increases.
Enterprise Tier (enterprise-tier-1K)
For properties processed above 200,000 the cost per 1,000 properties is $0.80 USD. This tier is for enterprise-level usage, providing the lowest rate for very high-volume processing.
Each charge event is triggered automatically as your processed property count crosses into the next tier. The actor tracks usage and applies the correct rate for each tier, ensuring transparent and predictable billing.
These pricing tiers are applied on a monthly basis, and your usage count resets at the start of each new month. This ensures you always start fresh and only pay for what you use each month.
Example:
- Scraping 300,000 properties in a month:
- $2.00 per 1K properties for the first 25,000 properties ($50)
- $1.50 per 1K properties upto 50,000 properties ($37.50)
- $1.00 per 1K properties upto 200,000 properties ($150)
- $0.80 per 1K properties above 200,000 properties ($80)
- Total: $317.50
📊 Cost Per 1K Units – How Billing Works
The pricing is calculated in batches of 1,000 units. This means:
- Initial Charge: When you start the actor, it reserves and charges you for 1K units (1,000 properties or their equivalent based on multipliers).
- Continuous Usage: You can continue scraping in the same run or across multiple runs. As long as your usage stays within that 1K batch, no additional charges are applied.
- Next Batch: Only when you exhaust the 1K quota, the system charges you for the next 1K batch. This billing cycle repeats for every 1K units consumed.
- Pay-As-You-Go: You only pay for the batches you actually use. If you scrape 1,500 properties in total (across runs), you'll be charged for 2 batches (2K units).
Example Timeline:
- Start run #1 → Charged for 1K units (can scrape up to 1,000 properties)
- Scrape 800 properties in run #1 (200 units remaining in current 1K batch)
- Start run #2 → Use the remaining 200 units + 100 from next 1K batch → Charged for 2nd 1K batch
- Continue in run #3 → Still within the 2K batch until you exceed it
- When you exceed 2K total → Automatically charged for 3rd 1K batch
This ensures predictable billing in discrete 1K chunks, making it easier to manage your usage and costs.
⚡ Additional Usage Parameters (Multipliers)
The following options increase the usage count for each property scraped, affecting your billing. These multipliers are cumulative.
| Feature | Multiplier | Impact |
|---|---|---|
| Full Property Details | +2.0x | Fetches detailed property information beyond basic listing data |
| Monitoring Mode | +3.0x | Tracks only newly listed properties compared to previous runs; requires additional tracking logic |
| Delisting Tracker | +2.0x | Enables tracking of delisted properties with timestamps in KV Store; requires additional storage |
| Empty Tracker Records | +0.5x | Adds tracker ID records in incremental mode for delisting identification |
| Residential Proxy | +5.0x | Uses Apify's Residential proxy service for UK-based scraping (higher cost and complexity) |
| Additional Memory | +1.0x per 2GB | Charges for each 2GB block above the 2GB base allocation |
Example Calculation:
-
Scraping 100 properties with:
- Full Property Details: ON (2.0x)
- Monitoring Mode: ON (3.0x)
- Residential Proxy: ON (5.0x)
Total Units Charged = 100 × (1 + 2.0 + 3.0 + 5.0) = 100 × 11 = 1,100 units
This would trigger a 1K charge in your current tier.
Cost Optimization Tips
✅ Enable Full Details Only When Needed – If basic property info is sufficient, disable this option to reduce charges
✅ Use Monitoring Mode Strategically – Enable monitoring to scrape only new properties and avoid re-scraping old listings
✅ Batch Your Scrapes – Running multiple targeted scrapes may be more cost-effective than one massive scrape
✅ Monitor Your Usage – Keep track of your monthly usage to understand which tier you're in
✅ Budget Planning – Set a monthly budget via ACTOR_MAX_TOTAL_CHARGE_USD environment variable to control spending
💡 Tip: Run this actor on 2GB memory for optimal performance and cost efficiency. The actor is highly optimized for this setting. Only increase memory if you have specific needs, as additional memory will increase your usage charges.
�🙋♀️ For custom solutions
In case you need some custom solution, you can contact me : dhrumil@techvasu.com
Or learn more about me on github : https://github.com/dhrumil4u360

