Chotot.com Scraper | Vietnam Classifieds & Property
Pricing
from $2.50 / 1,000 results
Chotot.com Scraper | Vietnam Classifieds & Property
Cho Tot scraper & API (Vietnam classifieds): search listings by keyword and category and export title, price, description, location, seller, attributes, photos, date and URL. Vietnam marketplace and resale market data plus seller lead gen — fast, no login.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
23
Total users
0
Monthly active users
a day ago
Last modified
Categories
Features
Share
Chotot.com Scraper — Vietnam Classifieds, Real Estate, Cars, Motorbikes & Electronics Data Extractor
Extract structured listings from Chotot.com (Chợ Tốt) — Vietnam's largest online classifieds and property marketplace. Scrape real estate (
Bất động sản— apartments, houses, land, rooms for rent), used cars (Ô tô), motorbikes (Xe máy), trucks, smartphones, laptops, home appliances, and fashion across Ho Chi Minh City (HCMC), Hanoi, Da Nang, Hai Phong, Can Tho, Binh Duong, Dong Nai, and nationwide. Returns normalized VND prices, human-readable Vietnamese price labels (triệu/tỷ VND), GPS coordinates, property specs (m², bedrooms, legal documentsSổ đỏ/Sổ hồng), vehicle specs (make, model, year, mileage, fuel, transmission), verified seller badges, and optional seller phone numbers.
⚡ At a glance
| Capability | Details |
|---|---|
| Target Platform | Chotot.com (Chợ Tốt — Vietnam's #1 peer-to-peer & dealer marketplace) |
| Supported Categories | Real Estate (1000): Apartments (1010), Houses (1020), Land (1040), Rooms (1050) · Vehicles: Cars (2010), Motorbikes (2020), Trucks (2050) · Electronics & Goods: Phones (5010), Laptops (5030), TV/Audio (5020), Appliances (9000), Fashion (3000) · All Categories (all) |
| Geographic Scope | All Vietnam (0), Hồ Chí Minh (12000), Hà Nội (13000), Đà Nẵng (15000), Hải Phòng (17000), Cần Thơ (19000), Bình Dương (24000), Đồng Nai (25000), Khánh Hòa (48000) |
| Key Extracted Fields | listingId, subject, price (VND), priceDisplay, category, type (Bán/Cho thuê), region, district, ward, latitude, longitude, sellerName, isVerified, images, date |
Detail Enrichment (scrapeDetails) | Adds sellerPhone, full description, complete photo gallery, and additional property/vehicle attributes |
| Pagination & Scale | Automatic offset pagination (maxPages: 0 = unlimited, governed by maxRecords up to 1,000–50,000+ listings) |
| Deduplication | Built-in deduplication by listingId across pages and categories (0% duplicates) |
| Export Formats | JSON, JSONL, CSV, Excel (XLSX), XML, HTML Table, REST API, Webhooks |
🔎 Why scrape Chotot.com (Chợ Tốt)?
Chotot.com (Chợ Tốt) is Vietnam's largest consumer and commercial classifieds ecosystem, hosting millions of active listings posted daily by property brokers, landlords, auto dealerships, motorbike traders, electronics resellers, and private individuals.
Collecting clean Chotot market data at scale requires overcoming several platform-specific hurdles:
- Raw đồng integers & Vietnamese shorthand: Prices range from tens of thousands of đồng (
50.000 VND) to tens of billions (15.500.000.000 VND=15.5 tỷ VND). Having both the raw numeric integer (price) for math and the formatted Vietnamese label (priceDisplay) for reporting saves hours of post-processing. - Coded vehicle & property attributes: Chotot encodes transmission (
1=Tự động,2=Số sàn), fuel (1=Xăng,2=Dầu diesel,3=Điện,4=Hybrid), deal type (s=Bán,u/k=Cho thuê), and colors as internal numeric codes. - Location vs. living area collision: In Chotot's raw data,
areais an internal district code whilesizeis the actual property square meterage (m²) — naive scrapers mix them up and corrupt vehicle rows with location codes.
This Chotot scraper handles all of those translations automatically, delivering a universal flat schema with accurate m² property areas, translated Vietnamese vehicle specs, WGS-84 GPS coordinates, ISO posting dates, and high-resolution CDN image URLs.
✨ What this Chotot data extractor does
- 🏘️ Full Real Estate Coverage (
Bất động sản): Scrape all property (1000) or target Apartments/Condos (1010), Houses (1020), Land (1040), and Rooms for Rent (1050) witharea(m²),bedroomCount,bathroomCount,houseDirection,legalDocument(Sổ hồng/Sổ đỏ),furniture, andfloorCount. - 🛵 Vietnam Automotive & Motorbike Intelligence (
Xe cộ): Extract Cars (2010), Motorbikes (2020), and Trucks (2050) withmake,model,year,mileage(km),transmission,fuelType,color,seats, andorigin. - 📱 Electronics, Appliances & Consumer Goods: Monitor second-hand Phones (
5010), Laptops (5030), TVs & Audio (5020), Home Appliances (9000), and Fashion (3000). - 🔓 Unlocked 1,000+ Deep Pagination: With
maxPages: 0by default, the actor paginates across 20-listing offsets untilmaxRecordsis reached — scaling cleanly to 1,000+ listings per category or balanced across all categories (category: "all"). - 📍 Ward, District & GPS Precision: Captures the full 3-tier Vietnamese administrative hierarchy (
region→district→ward) pluslatitudeandlongitudeon nearly 100% of listings. - 📞 Optional Detail & Phone Enrichment (
scrapeDetails: true): Fetches each listing's detail record to populatesellerPhone, full un-truncateddescription, completeimagesgallery, and backfilled property/vehicle specs.
🎯 High-value use cases & Vietnam market intelligence
1. Vietnam PropTech, AVM & Real Estate Analytics
Track asking prices and VND/m² across Ho Chi Minh City (Quận 1, Quận 2 / Thủ Đức, Quận 7, Bình Thạnh), Hanoi (Cầu Giấy, Đống Đa, Hà Đông, Nam Từ Liêm), and Da Nang. Compare sale (Bán) vs. rental (Cho thuê) yields.
2. Used Car & Motorbike Residual Value Benchmarking
Vietnam is one of the world's largest two-wheeler markets and a rapidly growing automotive market. Track depreciation curves for Honda (Vision, SH, Wave, Air Blade), Yamaha, VinFast EVs, Toyota, Hyundai, Kia, and Mazda by registration year and mileage.
3. B2B Seller, Broker & Dealer Lead Generation
Combine sellerName, isVerified, region, district, and sellerPhone (with scrapeDetails: true) to build targeted outreach lists of active property brokers, car dealers, and high-volume electronics merchants.
4. Recommerce & Second-Hand Electronics Arbitrage
Monitor live asking prices for used iPhones, Samsung Galaxy devices, MacBooks, and gaming laptops across HCMC and Hanoi to spot underpriced inventory and benchmark trade-in values.
5. Urban Economics, Relocation & GIS Mapping
Use latitude, longitude, ward, district, and price to generate heatmaps of housing affordability, commercial density, and EV adoption across Vietnamese provinces.
📥 Input parameters
All fields are optional. Running with empty input automatically extracts a balanced 100-listing sample across all major categories.
| Parameter | Type | Default / Prefill | Description |
|---|---|---|---|
category | string | Default "all" (Prefill "1000") | Category code from the dropdown: • "all" — Mixed sample across Real Estate, Cars, Motorbikes, Phones, Laptops & Appliances• "1000" — Real Estate (All) · "1010" Apartments · "1020" Houses · "1040" Land · "1050" Rooms for Rent• "2010" — Cars (Ô tô) · "2020" — Motorbikes (Xe máy) · "2050" — Trucks (Xe tải)• "5010" — Phones · "5030" — Laptops · "5020" — TVs & Audio · "9000" — Home Appliances · "3000" — Fashion |
region | string | "12000" (HCMC) | City or province filter: • "0" — All Vietnam (Nationwide)• "12000" — Hồ Chí Minh (HCMC) · "13000" — Hà Nội · "15000" — Đà Nẵng · "17000" — Hải Phòng• "19000" — Cần Thơ · "24000" — Bình Dương · "25000" — Đồng Nai · "48000" — Khánh Hòa |
scrapeDetails | boolean | false | Open each listing's detail endpoint to extract sellerPhone, full description, complete photo gallery, and extra property/vehicle specs. |
maxRecords | integer | 100 | Maximum number of listings to collect (0 = unlimited). Set to 1000+ for deep pulls. (Also accepts maxItems / maxListings). |
maxPages | integer | 0 | Optional cap on result pages per category (20 listings/page). 0 = unlimited (governed by maxRecords). |
requestDelay | integer | 500 | Pause between API requests in milliseconds (200 to 5000). |
proxyConfiguration | object | { "useApifyProxy": true } | Apify Proxy configuration. Enabled by default for smooth, uninterrupted pagination at scale. |
🛠️ Input recipes & examples
Recipe 1: Deep 1,000+ Ho Chi Minh City real estate sweep
Collect 1,500 apartments, houses, and land listings in Ho Chi Minh City:
{"category": "1000","region": "12000","scrapeDetails": false,"maxRecords": 1500,"maxPages": 0,"requestDelay": 500,"proxyConfiguration": {"useApifyProxy": true}}
Recipe 2: Used cars (Ô tô) nationwide with seller phone numbers
Extract 500 used car listings across all of Vietnam (region: "0") with detail enrichment enabled:
{"category": "2010","region": "0","scrapeDetails": true,"maxRecords": 500,"maxPages": 0,"requestDelay": 500}
Recipe 3: Multi-category nationwide marketplace snapshot (1,200 listings)
Pull 1,200 listings balanced evenly across Real Estate, Cars, Motorbikes, Phones, Laptops, and Home Appliances in Hanoi:
{"category": "all","region": "13000","scrapeDetails": false,"maxRecords": 1200,"maxPages": 0}
📤 Output schema & field reference
Every listing shares a unified flat JSON schema so property, automotive, and electronics records can be analyzed together.
🏷️ Core Listing, Price & Location Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
listingId | string | 🟢 High (100%) | Unique Chotot ad ID (list_id). Primary deduplication key. |
subject | string | 🟢 High (100%) | Listing headline in Vietnamese. |
category | string | 🟢 High (100%) | Vietnamese category name ("Căn hộ/Chung cư", "Nhà ở", "Ô tô", "Xe máy", "Điện thoại", etc.). |
type | string | 🟢 High (100%) | Transaction type: "Bán" (For Sale) or "Cho thuê" (For Rent). |
price | number | 🟢 High (~99%) | Numeric price in Vietnamese đồng (VND, e.g., 6500000, 2850000000). |
priceDisplay | string | 🟢 High (~99%) | Human-readable Vietnamese price string (e.g., "7 triệu VND", "2.9 tỷ VND"). |
region | string | 🟢 High (100%) | City or province name ("Tp Hồ Chí Minh", "Hà Nội", "Đà Nẵng"). |
district | string | 🟢 High (100%) | District name ("Quận 7", "Quận Cầu Giấy", "Thành phố Thủ Đức"). |
ward | string | 🟢 High (~96%) | Ward / commune name ("Phường Tân Phong", "Phường Kiến Hưng"). |
latitude / longitude | number | 🟢 High (~99%) | WGS-84 GPS coordinates for map plotting and spatial queries. |
condition | string | 🟡 Conditional | Item condition ("Đã sử dụng" = Used, "Mới" = New) on vehicles/electronics/goods. |
🏠 Real Estate Specific Fields (1000–1050)
| Field | Type | Coverage (Property) | Description |
|---|---|---|---|
area | number | 🟢 High (~98% Property) | Living or land area in square meters (m²). Cleanly nulled on non-property listings. |
bedroomCount | number | 🟢 High (~85% Apartments/Houses) | Number of bedrooms (phòng ngủ). |
bathroomCount | number | 🟢 High (~80% Apartments/Houses) | Number of bathrooms (phòng vệ sinh). |
legalDocument | string | 🟡 Conditional | Legal ownership status (Sổ hồng, Sổ đỏ, Hợp đồng mua bán). |
houseDirection | string | 🟡 Conditional | Facing direction (Đông, Tây, Nam, Bắc, Đông Nam, etc.). |
furniture | string | 🟡 Conditional | Furnishing status (Nội thất đầy đủ, Nội thất cơ bản, Nhà trống). |
floorCount | number | 🟡 Conditional | Total number of floors (for houses/buildings). |
🚗 Vehicle Specific Fields (2010, 2020, 2050)
| Field | Type | Coverage (Vehicles) | Description |
|---|---|---|---|
make | string | 🟢 High (~98% Cars/Bikes) | Vehicle manufacturer ("Toyota", "Honda", "Hyundai", "VinFast", "Yamaha"). |
model | string | 🟢 High (~95% Cars/Bikes) | Vehicle model ("Vios", "Air Blade", "VF 5", "Accent"). |
year | number | 🟢 High (~95% Cars/Bikes) | Registration / manufacture year (e.g., 2022). |
mileage | number | 🟢 High (~90% Used Vehicles) | Odometer reading in kilometers (km). |
transmission | string | 🟢 High (~95% Cars) | Translated transmission type ("Tự động" = Automatic, "Số sàn" = Manual). |
fuelType | string | 🟢 High (~95% Cars) | Translated fuel type ("Xăng" = Petrol, "Dầu diesel", "Điện" = Electric, "Hybrid"). |
color | string | 🟡 Conditional | Translated exterior color ("Trắng", "Đen", "Đỏ", "Bạc", etc.). |
seats / origin | number/string | 🟡 Conditional | Number of seats and manufacturing origin ("Việt Nam", "Nhập khẩu"). |
👤 Seller, Media & Timestamp Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
sellerName | string | 🟢 High (100%) | Seller or shop display name. |
isVerified | boolean | 🟢 High (100%) | true if the seller holds Chotot's verified account/shop badge. |
sellerPhone | string | 🟡 Conditional (scrapeDetails) | Seller phone number fetched from the detail API when scrapeDetails: true. |
description | string | 🟢 High (100%) | Ad description text (summary in list mode, full text in detail mode). |
images | array<string> | 🟢 High (~98%) | Array of direct cdn.chotot.com photo URLs. |
listingUrl | string | 🟢 High (100%) | Direct URL to the listing (https://www.chotot.com/{listingId}.htm). |
date | string | 🟢 High (100%) | Normalized ISO posting date (YYYY-MM-DD). |
datePosted | string | 🟢 High (~98%) | Relative Vietnamese timestamp string when provided. |
scrapedAt | string | 🟢 High (100%) | ISO-8601 UTC extraction timestamp. |
📋 Sample JSON output
{"listingId": "135580725","subject": "Cho thuê căn hộ 70m2, 2 ngủ, 1 vệ sinh đầy đủ nội thất","category": "Căn hộ/Chung cư","type": "Cho thuê","price": 6500000,"priceDisplay": "7 triệu VND","area": 70,"ward": "Phường Kiến Hưng","district": "Quận Hà Đông","region": "Hà Nội","bedroomCount": 2,"bathroomCount": 1,"houseDirection": null,"legalDocument": null,"furniture": null,"floorCount": null,"make": null,"model": null,"year": null,"mileage": null,"transmission": null,"fuelType": null,"color": null,"seats": null,"origin": null,"condition": null,"latitude": 20.952806,"longitude": 105.785,"isVerified": true,"sellerName": "nguyen duc cuong","sellerPhone": null,"description": "Căn hộ 2 phòng ngủ, 1 vệ sinh, nội thất cơ bản, vào ở ngay...","images": ["https://cdn.chotot.com/Q3ywS2lpcMQP0Obrbwj5rd9oiCqc0K2EgLnx1vF4vVQ/preset:view/plain/0a4d0aaf.jpg"],"listingUrl": "https://www.chotot.com/135580725.htm","date": "2026-11-10","datePosted": "5 phút trước","scrapedAt": "2026-11-10T02:30:00.000Z"}
🔁 Pagination & 1,000+ scaling
- Offset-Based Deep Pagination: Each request fetches 20 listings (
limit=20, o=0, 20, 40...). WithmaxPages: 0by default, the scraper continues incrementing the offset untiltotalSavedreachesmaxRecords(whether100,1,000, or10,000+) or the category is exhausted. - Balanced Multi-Category Sampling (
category: "all"): Whencategoryis set to"all", the actor automatically dividesmaxRecordsacross Real Estate (1000), Cars (2010), Motorbikes (2020), Phones (5010), Laptops (5030), and Appliances (9000) so your dataset is evenly balanced. - Fast Execution: List mode (
scrapeDetails: false) collects 100 listings in ~5–10 seconds and 1,000 listings in ~40–60 seconds.
💻 API & integration examples
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/chotot-scraper").call(run_input={"category": "1000","region": "12000","scrapeDetails": False,"maxRecords": 1000,"maxPages": 0,})for ad in client.dataset(run["defaultDatasetId"]).iterate_items():print(ad["listingId"], ad["subject"], ad["priceDisplay"], ad["district"], ad["area"])
Node.js (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('haketa/chotot-scraper').call({category: '2020',region: '13000',maxRecords: 500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Saved ${items.length} Hanoi motorbike listings`);
🗂️ Chotot category & region code reference
Category Codes (category)
| Code | Vietnamese Name | English Category | Key Extracted Attributes |
|---|---|---|---|
all | Tất cả danh mục | All Categories (Balanced Mix) | Balanced sample across Real Estate, Cars, Motorbikes, Phones, Laptops & Appliances |
1000 | Bất động sản | Real Estate (All) | area (m²), bedroomCount, bathroomCount, legalDocument, houseDirection, furniture, floorCount |
1010 | Căn hộ/Chung cư | Apartments & Condos | Apartment area, bedroomCount, bathroomCount, furniture, legalDocument |
1020 | Nhà ở | Houses & Villas | Land/living area, floorCount, bedroomCount, houseDirection, legalDocument |
1040 | Đất | Land Lots | Land area (m²), legalDocument (Sổ đỏ/Sổ hồng), houseDirection, GPS coordinates |
1050 | Phòng trọ | Rooms for Rent | Monthly rental price (VND), area (m²), ward, district, furniture |
2010 | Ô tô | Cars | make, model, year, mileage, transmission, fuelType, color, seats, origin |
2020 | Xe máy | Motorbikes & Scooters | make, model, year, mileage, condition, price (VND) |
2050 | Xe tải, xe ben | Commercial Trucks | make, model, year, mileage, fuelType, origin |
5010 | Điện thoại | Smartphones | subject, price, condition, sellerName, isVerified, district |
5030 | Laptop | Laptops & Notebooks | subject, price, condition, description, images |
5020 | Tivi, Âm thanh | TVs & Audio Equipment | subject, price, condition, description, images |
9000 | Đồ gia dụng, Nội thất | Home Appliances & Furniture | subject, price, condition, district, region |
3000 | Thời trang | Fashion & Personal Goods | subject, price, condition, sellerName, images |
Region Codes (region)
| Code | Vietnamese Region | English Name | Economic & Market Profile |
|---|---|---|---|
0 | Toàn quốc | All Vietnam (Nationwide) | Complete national inventory across all 63 provinces and municipalities |
12000 | Tp Hồ Chí Minh | Ho Chi Minh City (HCMC) | Vietnam's largest commercial hub; highest volume of condos, houses, cars & electronics |
13000 | Hà Nội | Hanoi | Capital city; high-volume residential property, automotive & consumer marketplace |
15000 | Đà Nẵng | Da Nang | Central Vietnam coastal tech, tourism & resort real estate hub |
17000 | Hải Phòng | Hai Phong | Major northern port, industrial logistics & residential market |
19000 | Cần Thơ | Can Tho | Mekong Delta commercial center |
24000 | Bình Dương | Binh Duong | Industrial park & commuter residential hub bordering HCMC |
25000 | Đồng Nai | Dong Nai | Fast-growing infrastructure & land market near Long Thanh International Airport |
48000 | Khánh Hòa | Khanh Hoa (Nha Trang) | Coastal hospitality, condo & land investment market |
🔌 Workflow automation & BI integrations
- Vietnam Property Price-Per-m² Tracker (Google Sheets / BigQuery): Schedule daily runs for
category: "1000"inregion: "12000"(HCMC) and"13000"(Hanoi), computeprice / area(VND/m²) bydistrictandward, and visualize trends in Looker Studio or Power BI. - Used Vehicle Deal Alerts (Make / Zapier / n8n / Telegram): Monitor
category: "2010"(Cars) or"2020"(Motorbikes) and trigger instant alerts when a specificmake,model, andyearappears below your target VND threshold. - B2B Seller Lead Enrichment: Run with
scrapeDetails: trueto collectsellerName,sellerPhone,isVerified,district, andregionfor CRM import.
⚠️ Known limitations
- Phone number masking on anonymous requests: When
scrapeDetails: trueis enabled,sellerPhonereturns the phone string provided by Chotot's public detail endpoint (which Chotot may partially mask on certain listings for unauthenticated visitors). - Detail mode speed: Enabling
scrapeDetails: truemakes one additional request per listing (respectingrequestDelay), so keepscrapeDetails: falsewhen performing rapid 1,000+ listing market sweeps.
❓ Frequently Asked Questions
How do I scrape 1,000+ listings in a single run?
Set maxRecords: 1000 (or 0 for unlimited) and keep maxPages: 0. The scraper will automatically paginate through as many 20-item pages as needed to reach your target.
Does the scraper preserve Vietnamese diacritics (Tiếng Việt)?
Yes. All text fields (subject, description, region, district, ward, category, sellerName) are preserved in clean UTF-8 encoding.
Why is area only populated on Real Estate listings?
area represents square meters (m²) of living or land space (ad.size), which only applies to real estate (1000–1050). Vehicle and electronics listings cleanly output area: null.
🔗 Related scrapers
- Lamudi Philippines Real Estate Scraper — Philippine property listings across Manila, Cebu, and Davao.
- Realestate.com.kh Scraper (Cambodia) — Cambodia property listings and agent data.
- Lelong.my Scraper (Malaysia) — Malaysian e-commerce and marketplace listings.
- Kleinanzeigen.de Scraper (Germany) — Germany's largest classifieds marketplace.
- OLX Brasil Scraper — Brazil's largest classifieds platform.
📋 Changelog
| Version | Date | Highlights |
|---|---|---|
| v1.2 | 2026-11 | Unlocked 1,000+ deep pagination & native Apify Proxy integration: Standardized Actor.createProxyConfiguration() session rotation, added maxItems / maxListings input aliases alongside maxRecords, verified unlimited maxPages: 0 pagination for 1,000+ listing pulls, and added explicit completion status messages. |
| v1.1 | 2026-11 | Fixed CDN image URL double-prefixing, isolated property area (m²) from vehicle internal region codes, and converted list_time epoch timestamps into ISO YYYY-MM-DD date values. |
| v1.0 | 2026-05 | Initial release covering Chotot real estate, vehicles, electronics, and multi-category nationwide extraction. |