Thailand Used Car Market Scraper avatar

Thailand Used Car Market Scraper

Pricing

Pay per usage

Go to Apify Store
Thailand Used Car Market Scraper

Thailand Used Car Market Scraper

Scrapes and normalizes used car listings from One2car, Carsome Thailand, Taladrod, and Kaidee Auto.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

wiseld_squid

wiseld_squid

Maintained by Community

Actor stats

1

Bookmarked

5

Total users

1

Monthly active users

a day ago

Last modified

Share

Scrape and normalize Thailand used car listings from four high-value sources:

  • One2car
  • Carsome Thailand
  • Taladrod
  • Kaidee Auto

The Actor outputs one clean dataset schema across all sources, so you can compare prices, models, years, mileage, fuel type, transmission, location, and listing URLs without writing a separate scraper for each website.

What it extracts

  • Source website
  • Listing ID
  • Title
  • Make and model
  • Year
  • Price in THB
  • Mileage
  • Transmission
  • Fuel type
  • Location
  • Image URL
  • Listing URL
  • Source page URL
  • Scrape timestamp

Sources

Carsome Thailand

Carsome is the easiest source to scrape reliably because listing data is rendered in public HTML/SSR pages.

Taladrod

Taladrod has a large Thai used car marketplace and public listing pages. This Actor extracts listing links and visible card data from the search/listing pages.

Kaidee Auto

Kaidee Auto provides broad Thai classifieds coverage. This Actor supports the public auto category pages and falls back to parsing embedded Next.js data when available.

One2car

One2car is protected by Cloudflare. Normal Playwright plus residential proxy can still receive a challenge page, so One2car is disabled by default.

For reliable One2car runs, enable Include One2car and choose a one2carStrategy. The cheapest option in the May 4, 2026 test run was unblocker, because it finished in about 43 seconds with the main Actor at 1024 MB and the unblocker charged one result. Direct camoufox is useful when you want to avoid third-party Actor dependency, but it can cost more because it needs a browser, residential proxy traffic, and longer challenge waits.

Direct One2car browser-session mode uses Camoufox with Crawlee's PlaywrightCrawler, following Apify's Crawlee + Playwright + Camoufox template for anti-bot-heavy websites. You can switch one2carStrategy to playwright-extra to use playwright-extra with puppeteer-extra-plugin-stealth instead. Direct modes warm up One2car briefly, persist Crawlee sessions in a named key-value store, keep concurrency at one, block heavy assets by default, and wait for the JavaScript-rendered page to fully load before parsing JSON-LD. The Actor specifically waits until document.title no longer contains รอสักครู่, document.readyState is complete, and JSON-LD exists before extraction.

For lower-level testing, one2carDirectMode: "manual-browser" bypasses Crawlee's browser crawler and controls Playwright directly. It uses stable proxy session IDs, restores cookies per session, and retries a small number of browser sessions manually.

Input tips

  • Use sources to select websites.
  • Use searchQuery for a make/model keyword such as toyota, honda, fortuner, civic, or Thai keywords.
  • Use maxItems to cap total results across all selected sources.
  • Use maxPagesPerSource to limit pagination per generated source URL.
  • Use startUrls when you want to scrape specific listing/search URLs.
  • Use one2carStrategy: "unblocker" for lowest observed cost in the benchmark.
  • Use one2carStrategy: "camoufox" when you want the official-style Crawlee + Playwright + Camoufox direct browser approach.
  • Use one2carStrategy: "auto" to try Camoufox first and call the unblocker only if direct mode saves no items.

Example input

{
"sources": ["carsome", "taladrod", "kaidee"],
"searchQuery": "toyota",
"maxItems": 50,
"maxPagesPerSource": 2,
"includeOne2car": false,
"proxyConfiguration": {
"useApifyProxy": true
}
}

For One2car:

{
"sources": ["one2car"],
"searchQuery": "toyota",
"maxItems": 20,
"maxPagesPerSource": 1,
"includeOne2car": true,
"one2carStrategy": "unblocker",
"one2carUnblockerActor": "scrapeunblocker/scrapeunblocker",
"proxyConfiguration": {
"useApifyProxy": false
}
}

Experimental direct One2car browser mode:

{
"sources": ["one2car"],
"searchQuery": "toyota",
"maxItems": 20,
"maxPagesPerSource": 1,
"includeOne2car": true,
"one2carStrategy": "camoufox",
"one2carDirectMode": "browser-session",
"one2carChallengeWaitSecs": 30,
"one2carWarmupWaitSecs": 4,
"one2carNavigationTimeoutSecs": 60,
"one2carBlockAssets": true,
"one2carUseSessionStore": true,
"one2carDirectAttempts": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "TH"
}
}