Corotos Property Scraper
Pricing
from $1.31 / 1,000 property listings
Corotos Property Scraper
Dominican Republic property adverts from Corotos: asking price in pesos or dollars, bedrooms, bathrooms, built area, province and town, photos and the advertiser behind each advert. Search 30 provinces and 72 towns across houses, apartments, penthouses, land, holiday homes, offices and shared rooms,
Pricing
from $1.31 / 1,000 property listings
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Corotos Scraper - Dominican Republic Property Listings & Prices 🏝️
🎉 All 32,090 live Dominican property adverts — 30 provinces, 72 towns, one run
For investors, agencies and analysts who need the Dominican market as rows, not browser tabs
🔎 What is the Corotos Dominican Republic Property Scraper — and when should you use it?
The Corotos Dominican Republic Property Scraper turns public Corotos property adverts from anywhere in the Dominican Republic 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: Dominican sale and rental adverts as rows. Each carries the asking price in the currency the advertiser quoted — pesos or US dollars, both common on one board. A peso-normalised price rides alongside it, so the two compare on one scale. Bedrooms, bathrooms, built area, price per square metre, the province and town, the lead photo and the advertiser's name come through as well. Switch to Property Detail and a row gains the advertiser's own Spanish description, the complete photo set, and the approximate map point with a flag saying how precise it is. It also gains the published date, the sector, half-bathrooms, parking spaces, the furnished and condition values, and the advertiser's shop, account age and verification badge. Coverage is 32,090 live adverts across 30 provinces and 72 towns, every place verified by fetching it.
Use something else when: the property is not in the Dominican Republic. Use Encuentra24 Scraper for the rest of Central America and the Caribbean — Panama, Costa Rica, Nicaragua, Guatemala, Honduras, El Salvador, Puerto Rico and Colombia. Use Fincaraiz Scraper for Colombia, from the country's leading portal, with estrato and the agency behind each advert. Use Inmuebles24 Scraper for Mexico, sale and rental, across every state. This actor covers the property surfaces Corotos publishes: apartments, houses, penthouses, land and plots, holiday homes, commercial offices and premises, shared rooms and the portal's other-property board, each for sale or to rent. It reads what the portal serves to a visitor. Corotos' other verticals — cars, electronics, jobs and household goods — are not part of it. The portal publishes asking prices only, so there is no sold-price history to return, and advertiser phone and WhatsApp numbers are deliberately not extracted because they belong to private individuals.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/corotos-com-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 property listings and asking prices from corotos.com.do across the Dominican Republic using the Apify Actor `sian.agency/corotos-com-property-scraper`.Use it when I need: Dominican sale and rental adverts as rows. Each carries the asking price in the currency the advertiser quoted — pesos or US dollars, both common on one board. A peso-normalised price rides alongside it, so the two compare on one scale. Bedrooms, bathrooms, built area, price per square metre, the province and town, the lead photo and the advertiser's name come through as well. Switch to Property Detail and a row gains the advertiser's own Spanish description, the complete photo set, and the approximate map point with a flag saying how precise it is. It also gains the published date, the sector, half-bathrooms, parking spaces, the furnished and condition values, and the advertiser's shop, account age and verification badge. Coverage is 32,090 live adverts across 30 provinces and 72 towns, every place verified by fetching it.Don't use it when: the property is not in the Dominican Republic — use encuentra24-property-scraper or fincaraiz-property-scraper or inmuebles24-property-scraper instead.How to call it: set `dealType` to `sale`, `rent` or `any`, and `propertyType` to apartamentos, casas, penthouses, solares-terrenos, casas-vacacionales, oficinas-comerciales, habitaciones-compartidas, otros-inmuebles or `all`. Narrow the place with `location`, which lists 30 provinces and 72 towns exactly as the portal writes them. `santo-domingo/distrito-nacional` is the deep market at 18,615 adverts, then `santo-domingo/santo-domingo-este`, `santiago` and `la-altagracia/bavaropunta-cana`. A place the portal does not recognise stops the run before anything is fetched, rather than quietly widening to the whole country. `minPrice` and `maxPrice` are in Dominican pesos, and the portal applies them to dollar-priced adverts too, on its own conversion. `minAreaSqm`, `maxAreaSqm`, `minBedrooms`, `minBathrooms` and `condition` narrow further, and `searchText` matches words inside the advert. `advertiser` keeps only registered shops or only verified accounts. `sortBy` decides which adverts a capped run keeps. `maxItems` sets the depth — adverts arrive 24 to a request and the deepest board runs to 1,338 pages. To reach a board the pickers do not cover, paste its Corotos address into `searchUrls` and it is used exactly as written. Switch `operation` to `detail` with `listingUrls` only to open adverts you already hold. That returns the description, photo set, coordinates and advertiser block a search row cannot carry.Start with this input:{"operation": "search","dealType": "sale","propertyType": "apartamentos","location": "santo-domingo/distrito-nacional","maxItems": 100}Ask me which part of the Dominican Republic to cover, whether they want adverts for sale or to rent, and whether the full advert text, photo set and map point are worth opening each advert separately, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- Pull apartments for sale in Distrito Nacional between 5 and 10 million pesos and rank sectors by median price per square metre.
- Find holiday homes and villas for sale in Bávaro, Punta Cana and Las Terrenas, priced in dollars, with the photo set for each.
- Give me every off-plan apartment listed nationally, grouped by the developer or agent selling it.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/corotos-com-property-scraper.md.
📋 Overview
Corotos is where Dominicans actually list property. This actor turns that whole section into a dataset, for investors, agencies, valuers and analysts who need the market as rows.
What you get:
- ✅ Complete coverage: 32,090 live property adverts on 2026-09-13, split 20,833 for sale and 11,257 to rent
- ⚡ Reads to the end: a full drain of the apartments-for-sale board returned 11,842 unique adverts against a declared 11,844, with no paging ceiling
- 🎯 Real geography: 30 provinces and 72 towns, every one of them verified to return its own results
- 💰 Pay per advert: only adverts actually returned are charged, never errors
- 💎 Honest filters: the two narrowing controls the portal shows but its server ignores are not offered here, so nothing you pick quietly returns the whole market
- ✨ Both currencies, kept straight: each advert keeps the currency its advertiser quoted, and a peso-normalised price rides alongside it
✨ Features
- 🏠 Eight property boards: apartments, houses, penthouses, land and plots, holiday homes, offices and commercial premises, shared rooms, other property
- 📍 102 places: 30 provinces plus 72 towns, each one checked against the national board
- 💱 Dual currency: prices in Dominican pesos or US dollars exactly as advertised, plus a peso figure for sorting and comparison
- 📐 Full specs: bedrooms, bathrooms, half-bathrooms, built area, parking, price per square metre
- 🗺️ Coordinates: latitude and longitude where the advert publishes them, with a flag saying whether the point is exact
- 📸 Every photo: advert pages carry the whole gallery, ten images on average
- 👤 Advertiser block: name, type, shop address, account age and verification badge
- 🏗️ Condition filter: first-owner, resale, new, under construction, off-plan or other
- 🔎 Free-text search: match words inside the advert, the way the portal's own search box does
- 📅 Published dates: returned as ISO dates, so they sort and join without guesswork
🎬 Quick Start
Pick a place, pick what you are looking for, press Start. Results land in a dataset you can export as JSON, CSV or Excel. A bare run with no settings reads the newest adverts from the whole country.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~corotos-com-property-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"operation": "search", "dealType": "sale", "propertyType": "apartamentos", "location": "santo-domingo/distrito-nacional", "maxItems": 100}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose where
Pick a province or a town from the place list. Leave it on "All of the Dominican Republic" to read the whole market.
Step 2: Choose what
Set the market to for sale, to rent or both, and pick a property type. Add price, area, bedroom, bathroom, condition or advertiser filters if you want a narrower slice.
Step 3: Set the depth and run
Raise the maximum adverts to read a whole market, or leave it low to sample one. Press Start.
That's it! In a couple of minutes, you'll have:
- A row per advert with price, rooms, area, place and advertiser
- A dataset you can export to JSON, CSV or Excel
- A run report summarising what was collected and what it cost
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
operation | string | No | search to walk a board, detail to open adverts you already have |
dealType | string | No | any, sale or rent |
propertyType | string | No | all, apartamentos, casas, penthouses, solares-terrenos, casas-vacacionales, oficinas-comerciales, habitaciones-compartidas, otros-inmuebles |
location | string | No | any, a province such as santiago, or a town written province-then-town such as santo-domingo/distrito-nacional |
searchText | string | No | Words to match inside the advert |
minPrice | integer | No | Lowest asking price in Dominican pesos, 0 for no bound |
maxPrice | integer | No | Highest asking price in Dominican pesos, 0 for no bound |
minAreaSqm | integer | No | Smallest built area in square metres |
maxAreaSqm | integer | No | Largest built area in square metres |
minBedrooms | integer | No | Fewest bedrooms |
minBathrooms | integer | No | Fewest full bathrooms |
condition | string | No | any, Primer Uso, Segundo Uso, Nuevo, En construcción, En planos, Otros |
advertiser | string | No | anyone, shops or verified |
sortBy | string | No | recent, relevance, price-asc or price-desc |
searchUrls | array | No | Corotos result-page addresses, used exactly as written |
listingUrls | array | No | Corotos advert addresses to open, for detail |
maxItems | integer | No | How many adverts to return before the run stops |
Example — apartments for sale in the capital:
{"operation": "search","dealType": "sale","propertyType": "apartamentos","location": "santo-domingo/distrito-nacional","maxItems": 500}
Example — beachfront holiday homes, dollar range, newest first:
{"operation": "search","dealType": "sale","propertyType": "casas-vacacionales","location": "la-altagracia/bavaropunta-cana","minPrice": 6000000,"minBedrooms": 2,"sortBy": "recent","maxItems": 300}
Example — open specific adverts in full:
{"operation": "detail","listingUrls": ["https://www.corotos.com.do/anuncio/inmuebles-en-venta/apartamentos/apartamento-en-venta-avenida-jacobo-majluta-4ta-con-terraza-kdj6prz"]}
📤 Output
Results are saved to the Apify dataset with 45 fields including:
| Field | Type | Description |
|---|---|---|
listingId | number | The advert's own number on Corotos |
propertyTitle | string | Advert headline |
url | string | Link to the advert |
price | number | Asking price, as advertised |
currency | string | DOP or USD — the currency the advertiser quoted |
priceDop | number | The same price in Dominican pesos, for comparison |
pricePerSqm | number | Asking price divided by built area |
dealType | string | sale or rent |
propertyType | string | Apartment, house, penthouse, land and so on |
bedrooms | number | Bedroom count |
bathrooms | number | Full bathroom count |
areaSqm | number | Built area in square metres |
province | string | Province the advert sits in |
town | string | Town within that province |
sector | string | Neighbourhood, where the advert names one |
latitude | number | Map latitude, where published |
longitude | number | Map longitude, where published |
locationIsExact | boolean | Whether that point is exact or approximate |
imageUrls | array | Every photo on the advert |
publishedAt | string | Published date, as YYYY-MM-DD |
advertiserName | string | Who placed the advert |
advertiserVerified | boolean | Whether Corotos has verified the account |
Example:
{"listingId": 10321070,"listingCode": "kdj6prz","propertyTitle": "Apartamento en venta la Jacobo Majluta 4ta con terraza","url": "https://www.corotos.com.do/anuncio/inmuebles-en-venta/apartamentos/apartamento-en-venta-avenida-jacobo-majluta-4ta-con-terraza-kdj6prz","price": 5900000,"currency": "DOP","priceDop": 5900000,"pricePerSqm": 46456.69,"dealType": "sale","propertyType": "apartamentos","bedrooms": 3,"bathrooms": 2,"halfBathrooms": 1,"areaSqm": 127,"parkingSpaces": 2,"furnished": "No","province": "Santo Domingo","town": "Santo Domingo Norte","sector": "Mal Nombre","latitude": 18.60631944635355,"longitude": -69.91304341592394,"locationIsExact": false,"imageCount": 16,"publishedAt": "2026-09-12","advertiserName": "Alexander Arias","advertiserVerified": true,"status": "success"}
💼 Use Cases & Examples
1. Price the capital by sector
Valuers and investors who need asking price against built area, sector by sector.
Input: location set to santo-domingo/distrito-nacional, propertyType apartamentos
Output: Up to 18,615 adverts across the capital, each with price, area and price per square metre
Use: Build a per-sector price map from live asking prices instead of last year's report.
2. Track the Punta Cana second-home market
Agencies and funds watching Caribbean holiday stock.
Input: propertyType casas-vacacionales, location la-altagracia/bavaropunta-cana
Output: The 1,331 adverts Bávaro / Punta Cana carries, plus hundreds more in Las Terrenas, Sosúa, Juan Dolio and Bayahibe
Use: Follow dollar-priced beachfront supply the international portals only partly index.
3. Find off-plan supply before it lists elsewhere
Developers and analysts who want a pipeline view, not a stock view.
Input: condition set to En planos or En construcción
Output: 220 off-plan and 632 under-construction apartment adverts on the for-sale board
Use: See which towers are being marketed early, and at what price per square metre.
4. Build a Dominican agency directory
Recruiters, proptech founders and anyone mapping the market's supply side.
Input: advertiser set to shops, a high maxItems
Output: Every advert with its agency name, account age and verification badge
Use: Rank the country's active property sellers by how much stock each one carries.
5. Monitor a competitor's listings
Agencies watching what a rival adds, withdraws and reprices.
Input: The same filters on a schedule, run weekly Output: A dated dataset per run, keyed on the advert number Use: Diff two runs to see exactly what moved.
6. Feed an AI agent a live property index
Teams building assistants that answer questions about Dominican real estate.
Input: Any board, via the Apify MCP server Output: Typed rows with prices, areas, rooms, coordinates and photos Use: Let an assistant answer from current adverts rather than guessing.
7. Rental yield research
Investors comparing what a flat sells for against what it rents for.
Input: Two runs. Set dealType to sale, then to rent, keeping the same place and type
Output: 11,845 sale and 5,484 rental apartment adverts nationally
Use: Pair them by sector and size to estimate gross yield.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/corotos-com-property-scraper').call({operation: 'search',dealType: 'sale',propertyType: 'apartamentos',location: 'santo-domingo/distrito-nacional',maxItems: 200});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/corotos-com-property-scraper').call(run_input={'operation': 'search','dealType': 'rent','propertyType': 'apartamentos','location': 'santiago/santiago-de-los-caballeros','maxItems': 200,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['propertyTitle'], item['price'], item['currency'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~corotos-com-property-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation": "search", "dealType": "sale", "propertyType": "casas", "location": "puerto-plata/puerto-plata", "maxItems": 150}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule, weekly or daily
- HTTP Request: Call the Actor API with your filters
- Process: Diff the new dataset against last run on
listingId - Action: Write to a sheet, a database, or a Slack alert for new stock
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 adverts per run, every field, same quality
- No credit card required
- Enough to check the data before you commit
PAID Tier (Production Ready)
- Unlimited adverts per run, to the end of any board
- Pay per advert returned. Errors are never charged
- $0.0015 per advert from a search, $0.0045 per advert opened in full, and $0.005 to start a run
💰 Adverts arrive 24 to a request, so a whole province is minutes of work.
❓ Frequently Asked Questions
Q: Do I need an API key, a login or a proxy? A: No. Pick a place and press Start.
Q: Are prices in pesos or dollars? A: Both, and each row says which. Dominican advertisers quote in pesos or US dollars depending on the market. Of 120 adverts sampled, 95 were in dollars. A peso-normalised price ships alongside, so everything sorts on one scale.
Q: Are the map coordinates exact?
A: Almost never, and the row says so. Corotos publishes an approximate point for most adverts and an exact one only where the advertiser released it. Of 120 adverts sampled, one was exact. The locationIsExact field carries that flag.
Q: Can I filter by whether a property is furnished? A: Not as a search filter, and the reason is worth knowing. Corotos shows a furnished filter in its own panel, but its server ignores it. Asking for furnished, unfurnished or nonsense all return the identical unfiltered board. Offering it would charge you for the whole market while appearing to narrow it. The furnished value still ships on every detail row, so you can filter after the fact.
Q: How many adverts are there in total? A: 32,090 across the whole property section on 2026-09-13: 20,833 for sale and 11,257 to rent. Apartments alone hold 17,329.
Q: How deep can a single run go? A: To the end of the board. A full drain of the apartments-for-sale board returned 11,842 unique adverts against a declared 11,844, with no paging ceiling.
Q: Do you return advertiser phone numbers? A: No. Phone and WhatsApp numbers belong to private individuals and the portal puts them behind a click. You get the advertiser's name, type, shop address, account age and verification badge instead.
Q: What output formats are available? A: JSON, CSV and Excel — export directly from the Apify dataset.
Q: Does the search operation return descriptions and every photo? A: No. A search row carries the lead photo, price, rooms, area, town and advertiser name. Descriptions, the full gallery, coordinates and the published date come from Property Detail, which opens one advert per request.
🐛 Troubleshooting
A run returned nothing
- Check the place and property type actually pair up. Some towns carry very little stock
- Widen the price, area or bedroom bounds, or clear the condition filter
- Try
dealTypeonanyto read both sides of the market
Fewer adverts than expected
maxItemscaps the run; raise it to read the whole board- The FREE tier stops at 25 rows per run
- A narrow filter combination can legitimately match only a handful of adverts
An advert came back as an error row
- Adverts get withdrawn. A taken-down address comes back as a marked row and is not charged
- Run a search over the same place and type to pick up what replaced it
A pasted address behaved unexpectedly
- Addresses in
searchUrlsare used exactly as written, including any filters and ordering they already carry - Check the address opens in a browser first
⚖️ 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.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Corotos is a trademark of its owner. This actor is not affiliated with, endorsed by, or sponsored by Corotos.
Built by SIÁN Agency | More Tools