ClasificadosOnline Scraper - Puerto Rico Property Listings
Pricing
from $1.32 / 1,000 property searches
ClasificadosOnline Scraper - Puerto Rico Property Listings
Scrape ClasificadosOnline Bienes Raíces, Puerto Rico's biggest classifieds site: homes, apartments, land and rentals with USD price, bedrooms, baths, town, neighbourhood, brokerage and photos. Filter by town, type, price, pets, parking and Section 8.
Pricing
from $1.32 / 1,000 property searches
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
a month ago
Last modified
Categories
Share
ClasificadosOnline Scraper - Puerto Rico Property Listings 🏝️
🎉 About 13,000 live Puerto Rico property adverts from ClasificadosOnline Bienes Raíces, from $1.50 per 1,000
Built for Puerto Rico brokers, investors, landlords, relocation advisors and anyone pricing homes in San Juan, Dorado or Carolina
🔎 What is the ClasificadosOnline Property Scraper — and when should you use it?
The ClasificadosOnline Property Scraper turns public ClasificadosOnline Bienes Raíces adverts from anywhere in Puerto Rico into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.
Use it when you need: Puerto Rico sale and rental adverts as rows: houses, apartments, walk-ups, multi-family, commercial, farms, lots and rooms. Every search row carries the USD price as a number, type, bedrooms, bathrooms, town, neighbourhood and whether a brokerage or an individual account listed it. Open each advert in full and you also get the description, square feet, every photo and the brokerage agent's phone.
Use something else when: you want MLS listings or property outside Puerto Rico. Use Zillow Scraper for US homes for sale and rent, Puerto Rico included. Use Realtor.com Scraper for MLS listings across the US and Puerto Rico. Use Corotos Scraper for Dominican Republic property adverts. This actor reads ClasificadosOnline only, for live adverts. Sold prices and vacation rentals are not returned, and an individual account's name or phone is never returned.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/clasificadosonline-property-scraper
Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.
Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want Puerto Rico property adverts and asking prices in US dollars from ClasificadosOnline using the Apify Actor `sian.agency/clasificadosonline-property-scraper`.Use it when I need: Puerto Rico sale and rental adverts as rows: houses, apartments, walk-ups, multi-family, commercial, farms, lots and rooms. Every search row carries the USD price as a number, type, bedrooms, bathrooms, town, neighbourhood and whether a brokerage or an individual account listed it. Open each advert in full and you also get the description, square feet, every photo and the brokerage agent's phone.Don't use it when: you want MLS listings or property outside Puerto Rico — use zillow-property-scraper or realtor-property-scraper or corotos-com-property-scraper instead.How to call it: set `dealType` (`sale` or `rent`), `propertyType` (`any`, `apartment`, `walkup`, `house`, `multifamily`, `commercial`, `farm`, `land`, `land-or-farm`, `room`) and `municipality` (a town such as `dorado`, a San Juan area such as `san-juan-condado-miramar`, a region such as `region-metro`, or `all-puerto-rico`). `minPrice` and `maxPrice` are in USD, `bedrooms` takes `any`, `efficiency`, `1` to `5` or `6plus`, and `listedBy` keeps only `brokerage` or `individual` adverts. `includeDetails` opens each advert for the description, square feet and every photo, for an extra charge per advert. To expand adverts you already have, set `operation` to `detail` and pass `listingUrls`.Start with this input:{"operation": "search","dealType": "sale","propertyType": "house","municipality": "dorado","maxPrice": 600000,"maxResults": 100}Ask me which town or San Juan area to cover, whether it is for sale or for rent, and the budget, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- List 3-bedroom houses for sale in Dorado under $600,000 and give me the median price per neighbourhood.
- Find pet-friendly apartments for rent in Condado and Isla Verde under $2,500 a month.
- Show me rentals in Carolina listed by individual accounts that accept Section 8.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/clasificadosonline-property-scraper.md.
📋 Overview
ClasificadosOnline is where Puerto Rico lists its homes. This actor reads the Bienes Raíces section of ClasificadosOnline and returns every advert as a clean row: USD price, property type, bedrooms, bathrooms, town, neighbourhood, who listed it and the main photo.
What you get:
- ✅ Puerto Rico's largest classifieds: 8,547 properties for sale and 4,561 for rent on 2026-10-03
- 🏝️ Stock the MLS portals miss: on three Puerto Rico samples only 25-40% of adverts also appeared on Zillow or Realtor.com, and just 2-17% of adverts from individual accounts
- 🙋 Who listed it: every row says brokerage or individual account, with the brokerage name, partner ID and review score
- 🎯 The site's own filters: town, type, price range, bedrooms, keyword, pets, parking and Section 8 (Plan 8)
- 💰 $1.50 per 1,000 properties: 30 adverts per results page, and you pay only for rows you get
- 📄 Full advert on demand: description, square feet, every photo and the brokerage agent's phone
✨ Features
- 🏘️ All 78 municipalities: plus the five San Juan areas, Isla Verde, Palmas del Mar, Levittown and six regions
- 🔑 Sale and rent: houses, apartments, walk-ups, multi-family, commercial, farms and lots for sale; apartments, houses, rooms and land for rent
- 💵 Typed USD prices: numbers you can sort and average; an advert with no price returns an empty price, never zero
- 🛏️ Bedrooms and bathrooms as numbers: "2 1/2 Baños" becomes 2.5, an efficiency becomes 0
- 🙋 Listed by filter: keep only brokerage adverts or only individual accounts; skipped adverts are free
- 🐾 Rental extras: pets policy and parking on every rental row, plus pets, parking and Section 8 filters
- 🗺️ Neighbourhood map pin: latitude and longitude of the urbanización or barrio each advert sits in
- 🏦 Repossessed and optioned homes: included by default, switch either off with one checkbox
- 📄 Full advert add-on: headline, description, square feet, every photo, and the agent's name and phones on brokerage adverts
- 📊 Run report: median price, a table of every property and a copy-ready list of advert links
🎬 Quick Start
Pick sale or rent, a property type and a town, then press Start. The actor reads ClasificadosOnline 30 adverts at a time until it has the number of properties you asked for. Results land in your dataset as JSON, CSV or Excel.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~clasificadosonline-property-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"dealType": "sale", "propertyType": "house", "municipality": "dorado", "maxResults": 100}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose what and where
Pick Sale or rent, a Property type and a town in Where, for example houses for sale in Dorado.
Step 2: Narrow it down
Optionally add a price range, bedrooms, a keyword such as "Dorado Beach", or keep only brokerage or individual adverts.
Step 3: Press Start
Set Properties to collect and run. Turn on Open each advert in full if you also want descriptions, square feet and every photo.
That's it! In a minute or two, you'll have:
- A table of Puerto Rico properties with USD prices, bedrooms, bathrooms and town
- The brokerage behind each advert, or a flag that it came from an individual account
- Advert links and photos ready for a spreadsheet, CRM or AI agent
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
operation | string | No | search (Property Search, default) or detail (Property Detail for pasted advert links) |
dealType | string | No | sale (default) or rent |
propertyType | string | No | any, apartment, walkup, house, multifamily, commercial, farm, land (sale only for the last four), land-or-farm, room (rent only) |
municipality | string | No | A town, San Juan area or region, e.g. san-juan-condado-miramar (default), dorado, carolina-isla-verde, region-metro, all-puerto-rico |
keyword | string | No | Neighbourhood, urbanización, building or word, e.g. "Condado" or "Palmas del Mar" |
minPrice | integer | No | Lowest price in USD (monthly rent for rentals) |
maxPrice | integer | No | Highest price in USD (monthly rent for rentals) |
bedrooms | string | No | any, efficiency, 1 to 5 (exact), or 6plus (6 or more) |
listedBy | string | No | any, brokerage or individual; skipped adverts are not charged |
includeRepossessed | boolean | No | For sale only: keep bank-owned homes (default true) |
includeUnderOption | boolean | No | For sale only: keep homes already under option (default true) |
petsAllowed | boolean | No | Rentals only: only rentals that accept pets |
section8 | boolean | No | Rentals only: only rentals that accept Section 8 (Plan 8) |
parking | boolean | No | Rentals only: only rentals with parking |
maxResults | integer | No | Properties to return (default 100, max 10,000) |
includeDetails | boolean | No | Open each advert in full (billed as one Property Detail per property) |
listingUrls | array | No | Advert links for Property Detail mode |
Example: 3-bedroom houses for sale in Dorado under $600,000:
{"dealType": "sale","propertyType": "house","municipality": "dorado","bedrooms": "3","maxPrice": 600000,"maxResults": 100}
Example: pet-friendly rentals in Carolina from individual accounts, with full adverts:
{"dealType": "rent","municipality": "carolina","petsAllowed": true,"listedBy": "individual","includeDetails": true,"maxResults": 50}
Example: open adverts you already have:
{"operation": "detail","listingUrls": [{ "url": "https://www.clasificadosonline.com/UDRealEstateDetail.asp?ID=4897480" },{ "url": "https://www.clasificadosonline.com/UDRentalsDetail.asp?ReForRentAdID=1973706" }]}
📤 Output
Results are saved to the Apify dataset with 36 fields:
| Field | Type | Description |
|---|---|---|
mainImageUrl | string | Main photo of the advert |
listingId | integer | ClasificadosOnline advert ID |
propertyTitle | string | The advert's headline as written by the advertiser |
listingUrl | string | Link to the advert on ClasificadosOnline |
dealType | string | sale or rent |
propertyType | string | House, Apartment, Walk-up apartment, Multi-family, Commercial, Farm, Lot / land, Land or farm, Room / guest house |
price | number | Asking price in USD; for rentals, the monthly rent. Empty when no price is shown |
currency | string | Always USD |
bedrooms | integer | Bedrooms as a number (an efficiency is 0) |
bedroomsText | string | Bedrooms as the site shows them, e.g. ">= 6" |
bathrooms | number | Bathrooms; a half bath counts as 0.5 |
squareFeet | number | Square feet, when the advert gives it (full advert) |
municipality | string | Town or San Juan area |
neighborhood | string | Urbanización, barrio or sector, e.g. "Urbanizacion - Dorado Reef" |
latitude | number | Latitude of the neighbourhood's map pin (not the house itself) |
longitude | number | Longitude of the neighbourhood's map pin (not the house itself) |
petsPolicy | string | Rentals: pets policy as written, e.g. "Sí" or "Menos de 25lbs." |
parkingInfo | string | Rentals: parking as written, e.g. "2 Asignados" |
listedBy | string | brokerage or individual |
brokerageName | string | The brokerage's name (brokerage adverts) |
brokerageId | integer | The brokerage's ClasificadosOnline partner ID |
brokerageRating | number | The brokerage's review score, when it has reviews |
brokerageReviews | integer | Number of reviews behind that score |
contactName | string | Agent named on a brokerage advert (full advert, brokerage adverts only) |
contactPhones | array | Phone numbers the brokerage published (full advert, brokerage adverts only) |
descriptionText | string | The advertiser's description (full advert) |
photoCount | integer | Number of photos on the advert |
imageUrls | array | Every photo, full size (full advert) |
hasDetail | boolean | true when the full advert was opened |
searchUrl | string | The results page the row came from |
searchPage | integer | Results page number |
position | integer | Position in the search results |
status | string | success or error |
errorMessage | string | What went wrong, on error rows only (never charged) |
_operation | string | search or detail |
_fetchedAt | string | When the row was collected (ISO 8601) |
Example (a search row with the full advert opened):
{"mainImageUrl": "https://imgcache.clasificadosonline.com/PP/FS/2026/7/7/77202611626PM2w40rjt1_Big.jpg","listingId": 4897480,"propertyTitle": "Terrera - Brisas del Mar - Luquillo P.R.","listingUrl": "https://www.clasificadosonline.com/UDRealEstateDetail.asp?ID=4897480","dealType": "sale","propertyType": "House","price": 210000,"currency": "USD","bedrooms": 3,"bedroomsText": "3","bathrooms": 3,"municipality": "Luquillo","neighborhood": "Urbanizacion - Brisas Del Mar","latitude": 18.37423,"longitude": -65.72034,"listedBy": "brokerage","brokerageName": "ALONSO REALTY","brokerageId": 1830,"brokerageRating": 2.75,"brokerageReviews": 2,"contactName": "Alonso Lic.13453","contactPhones": ["(787) 360-4456"],"descriptionText": "Casa Terrera Tipo Dúplex en Brisas del Mar, Luquillo\nTasación disponible | Dueños motivados\n...","photoCount": 4,"imageUrls": ["https://imgcache.clasificadosonline.com/PP/FS/2026/7/7/77202611626PM2w40rjt1_Big.jpg"],"hasDetail": true,"searchPage": 1,"position": 1,"status": "success","_operation": "search","_fetchedAt": "2026-10-03T17:20:00.000Z"}
Coverage
All of Puerto Rico: the 78 municipalities, the five San Juan areas (Condado-Miramar, Hato Rey, Río Piedras, Santurce, Old San Juan), Isla Verde, Palmas del Mar and Levittown, or a whole region (Metro, North, South, East, West, Central). Prices are in US dollars as advertised. Vacation rentals and sold prices are not included.
💼 Use Cases & Examples
1. Price comps for a Puerto Rico town
A broker preparing a listing presentation pulls every house for sale in Dorado and compares asking prices by bedrooms.
Input: dealType: sale, propertyType: house, municipality: dorado
Output: USD asking price, bedrooms, bathrooms, neighbourhood and brokerage for each house
Use: A median price per bedroom count for the town, ready in a spreadsheet
2. Rental market and Section 8 supply
A housing nonprofit measures how many voucher-ready rentals exist in Carolina and Bayamón, and at what rent.
Input: dealType: rent, municipality: carolina, section8: true
Output: Monthly rent, bedrooms, pets policy, parking and neighbourhood for each rental
Use: Track affordable supply and rents month over month
3. Individual-account inventory
An investor looks for homes advertised by individual accounts, a large share of Puerto Rico rentals that MLS-fed portals do not carry.
Input: listedBy: individual, any town
Output: Only adverts from individual accounts; brokerage adverts are skipped and not charged
Use: A shortlist of adverts that are mostly missing from Zillow and Realtor.com (2-17% overlap in our samples)
4. Brokerage market share
A brokerage owner counts live listings per competitor in San Juan.
Input: municipality: region-metro, listedBy: brokerage
Output: Brokerage name, partner ID and review score on every advert
Use: Listing counts by brokerage and town, refreshed weekly
5. Investor deal sourcing
A buy-and-hold investor watches multi-family buildings, lots and commercial property island-wide.
Input: propertyType: multifamily, municipality: all-puerto-rico, a schedule
Output: New adverts as they post, with price and town
Use: Alerts for fresh deals before they are gone
6. Relocation and Act 60 research
A relocation advisor compares Condado, Isla Verde, Dorado and Palmas del Mar for a client moving to Puerto Rico.
Input: One run per area, sale or rent Output: Asking prices and rents side by side Use: A one-page comparison of neighbourhoods by budget
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/clasificadosonline-property-scraper').call({dealType: 'rent',propertyType: 'apartment',municipality: 'san-juan-condado-miramar',maxPrice: 2500,maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/clasificadosonline-property-scraper').call(run_input={'dealType': 'sale','propertyType': 'house','municipality': 'dorado','bedrooms': '3','maxResults': 100,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['price'], item['neighborhood'], item['listingUrl'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~clasificadosonline-property-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"dealType": "rent", "municipality": "carolina", "petsAllowed": true, "maxResults": 50}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: A schedule, for example every Monday morning
- HTTP Request: Call the actor's API with your search
- Process: Read the JSON rows and keep the new advert IDs
- Action: Save to Google Sheets or Airtable, or send yourself the new adverts
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 properties per run, full feature access, same data
- No credit card required
- Enough to check a town before a bigger run
PAID Tier (Production Ready)
- Unlimited properties per run
- 30 properties per results page, a few seconds a page
- Pay per result: only delivered rows are charged
💰 $1.50 per 1,000 properties, plus $3.00 per 1,000 for the optional full advert and a $0.005 run start. Error rows and adverts skipped by the Listed by filter are never charged.
❓ Frequently Asked Questions (FAQ)
Q: Does it cover all of Puerto Rico? A: Yes. Pick any of the 78 municipalities, one of the five San Juan areas, Isla Verde, Palmas del Mar or Levittown, a whole region, or All of Puerto Rico.
Q: What currency are prices in? A: US dollars, exactly as the advert states. Rent is the monthly rent. An advert with no price returns an empty price, never a zero.
Q: Are adverts in Spanish? A: Mostly. Headlines and descriptions stay as the advertiser wrote them. Price, type, bedrooms, bathrooms and town come from the site's own fields, so they are filled either way.
Q: Do I get phone numbers? A: For brokerage adverts, the full advert returns the agent's name and the phone numbers the brokerage published. For adverts from individual accounts the actor returns neither a name nor a phone. Reach them through ClasificadosOnline.
Q: What does Listed by mean? A: Brokerage means the advert comes from a real-estate company with a ClasificadosOnline partner profile, and the row names it. Individual means any other account: private owners and landlords, and some independent agents.
Q: Is this the same data as Zillow or Realtor.com? A: Only partly. On three Puerto Rico samples 25-40% of ClasificadosOnline adverts also appeared on Zillow or Realtor.com, and only 2-17% of the adverts from individual accounts.
Q: Are the coordinates the exact house? A: No. The latitude and longitude are the map pin ClasificadosOnline uses for the neighbourhood, shared by every advert in that urbanización.
Q: What output formats are available? A: JSON, CSV, Excel, XML and more, exported straight from the Apify dataset.
🐛 Troubleshooting
The run stopped with "no ... for rent" or "only for sale"
- Commercial, multi-family, farms and lots exist only for sale; rooms and land-or-farm only for rent
- Pick another property type, or switch Sale or rent
Fewer rows than I asked for
- The search may simply have fewer adverts; the run log shows how many matched
- With Listed by set, non-matching adverts are skipped, so a town with few individual adverts returns few rows
San Juan returns very little
- ClasificadosOnline splits San Juan into five areas: pick Condado-Miramar, Hato Rey, Río Piedras, Santurce or Old San Juan
- Or pick the Metro region to cover all of them
An advert in Property Detail came back as an error
- The advert has been removed from ClasificadosOnline. You were not charged for it
⚖️ Is it legal to scrape data?
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.
You can also read Apify's blog post on the legality of web scraping.
ClasificadosOnline is a trademark of its respective owner. This actor is not affiliated with, endorsed by, or sponsored by ClasificadosOnline.
🤝 Support
Join our active support community
- For issues or questions, open an issue on the actor's Issues tab
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools