Bobaedream Used Cars Scraper (Korea, new listing & price alert) avatar

Bobaedream Used Cars Scraper (Korea, new listing & price alert)

Pricing

from $8.40 / 1,000 car listing scrapeds

Go to Apify Store
Bobaedream Used Cars Scraper (Korea, new listing & price alert)

Bobaedream Used Cars Scraper (Korea, new listing & price alert)

Scrape Bobaedream (보배드림) cyber-store, Korea's dealer used-car listings, domestic and imported: price in won, mileage, year, fuel, dealer and region per car, newest first, labelled new, price_drop, price_rise or unchanged since your last run.

Pricing

from $8.40 / 1,000 car listing scrapeds

Rating

0.0

(0)

Developer

Superslow Sloth

Superslow Sloth

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Bobaedream Used Cars Scraper (Korean used cars, new listing & price alert)

Scrape the Bobaedream (보배드림) cyber-store - the dealer used-car showroom of one of Korea's biggest car communities, about 420 domestic and 1,900 imported cars for sale at any time - and get one flat row per car: the asking price in won (Bobaedream prints 만원; the actor converts), first registration year, mileage, fuel, horsepower and drivetrain, the region, the dealer, how many views the listing has, and the date it was listed.

Built as a new-listing and price feed for exporters, dealers and buyers of Korean used cars: schedule the same search every morning, newest first, and each row tells you whether the car is new since the last run, had a price drop or a price rise, or is unchanged. Turn on Only changes and you get - and pay for - just the new cars and the price moves.

What the store holds (measured 2026-10-27)

domestic (국산차)imported (수입차)both
rows in the date-ordered list7,551 (108 pages)20,843 (298 pages)28,394 (406 pages)
of which for sale4241,8782,302
new listings a dayabout 3about 9about 12

The store keeps every listing it ever held, dated back to 2021. Most rows of the default list are history - sold (팔림), expired (만료) or under contract (계약) - with no price. The actor drops sold and expired rows by default and stops reading once three pages in a row hold nothing for sale (the last for-sale car was on page 15 of 108 domestic, page 49 of 298 imported). Every sort except newest lists only the cars for sale, which makes it the cheapest way to take the whole current inventory: 7 pages domestic, 27 imported.

Input

fieldmeaning
marketdomestic (국산차, default), imported (수입차) or all (both together)
makersOptional. Makers, one per line, English or Korean: Hyundai, Kia, Genesis, Toyota, Mercedes-Benz, 벤츠... Each maker is its own search sharing the maxItems budget. Names not in Bobaedream's maker list for the market are skipped and logged
fuelsOptional. gasoline, diesel, lpg, gasoline_lpg, gasoline_cng, gasoline_hybrid, lpg_hybrid, diesel_hybrid, cng, electric, hydrogen, other. Several are OR-ed
yearMin, yearMaxOptional car-year range (연식), as Bobaedream's own year filter counts it
priceMin, priceMaxOptional price range in 만원 (3000 = 30,000,000 won). The site's price filter drops every listing with no price on file, including most imported cars listed as 상담 (ask the dealer): 0 to 999,999 keeps 5,691 of 20,843 imported rows
mileageMin, mileageMaxOptional odometer range in km
searchUrlsOptional. /cyber/CyberCar.php list URLs copied from your browser after you set filters on the site - model, grade, region, colour, options, body type. Every parameter is kept; page=3 starts on page 3. Single-car pages and other sites are skipped and logged
sortnewest (default, 최근 등록순), price_asc, price_desc, year_newest, year_oldest, mileage_asc, mileage_desc. Everything but newest lists only cars for sale
maxItemsStop after reading this many listings in total, shared by every search, in order. Bobaedream shows 70 per page. For a feed this is the window watched: "the newest 100"
registeredSinceOptional YYYY-MM-DD (Korean time). Skip listings registered before it; with the newest sort the run stops at the first older one, so a daily feed reads only the pages it needs
includeSoldOff by default: sold and expired listings are dropped, not charged and not remembered
changesOnlyOutput only listings that are new or whose price moved since the previous run of the same search. Off by default
proxyConfigurationApify datacenter proxy by default - see Proxy

Paging walks ?page=1, ?page=2, ... and stops on the pager's last page, when maxItems is reached, when a page brings no listing not already seen, or (newest sort, sold dropped) after three pages with nothing for sale. Past the last page Bobaedream answers 200 with the same total and no rows - no 404 - so the actor stops on the empty page. There is no page cap.

Output

fieldmeaning
changenew, price_drop, price_rise or unchanged against the previous run of this search - see Change tracking
listing_id, url, marketBobaedream's listing number (785410), the detail page, and domestic or imported
titleThe full title as printed, Korean: maker, model, trim
maker, maker_en, modelThe maker the title starts with (현대 / Hyundai) and the rest of the title. maker is null when the title starts with a coach-builder's own name (e.g. 유니캠프); model is then the whole title
subtitleThe dealer's one-line pitch
price_krwAsking price in won, a whole number: "1,250 만원" is 12500000
price_man_wonThe same price as printed, in 만원: 1250
price_note, statusWhen the row prints a word instead of a price: 상담 ask the dealer (negotiable), 계약 under contract (reserved), 팔림 sold (sold), 만료 listing expired (expired), 렌트 for rent (rent), 운용리스 / 금융리스 lease (lease). With a price, status is available
first_registration_year, first_registration_month, model_yearFrom the row's "YY/MM" and "(NN년형)". Month is null when the row prints 00
fuel, fuel_koEnglish (gasoline, diesel, gasoline_hybrid, electric, lpg, hydrogen, ...) and as printed (가솔린+전기)
mileage_km, mileage_unitOdometer in km. Bobaedream prints it rounded ("15만km" is 150000, "9천km" is 9000); a few imported rows print miles (만ml) and are converted at 1.609344, mileage_unit: "mi"
seats, cylinders, horsepower, torque_kgm, drivetrain, transmissionThe spec chips under the title. transmission is manual only when the 수동 chip is shown
badges, has_videoTag chips as printed (튜닝카 tuned, 캠핑카 camper, 올드카 classic, 희귀차 rare, dealer-group names) and whether the photo has a video
region, province, districte.g. 대구 동구 / 대구 / 동구
registered_month_day, registered_date, viewsWhen the dealer listed the car (10-26, and with its year 2026-10-26) and its view count when read. See Dates
seller_name, seller_type, seller_type_ko, seller_id, seller_urlThe dealer. seller_type is dealer (딜러) or private (개인), null for other tags such as 반복 (kept in seller_type_ko)
image_urlMain photo
queryThe market (and maker) or search URL this row came from

Everything is read off the list page - no detail page is opened - which is what keeps a row cheap.

Dates

Bobaedream prints a registration date as "10.26", with no year. The actor counts the year down the list: the date-ordered list runs strictly newest to oldest (walked end to end, 7,551 rows, no row newer than the one before it), so the first row is this year's and the year drops by one each time the date jumps back up (five times, back to 2021). That is exact on a newest-first walk that starts at page 1, which is the default and what a feed does. On any other walk - a price or year sort, a pasted URL starting on a later page - the rows have no order to count in, so registered_date is null and registered_month_day carries the date as printed. registeredSince needs the newest sort for the same reason.

null is not zero

Every column except change, listing_id, url, market, title, status, badges, has_video and query can be null, and is null whenever the row simply does not print that value - never 0 or an empty string, because a 0 reads as a measurement. Measured over about 600 rows on seventeen pages (2026-10-27):

  • price_krw, price_man_won are null on rows with a word instead of a price (price_note); on imported page 1, 53 of 70 are 상담 (ask the dealer);
  • mileage_km is null for 미등록 (never registered);
  • maker is null for coach-builders; fuel is null for a fuel word outside the mapped list (fuel_ko still carries it);
  • the spec chips are present on about 2 of 3 rows;
  • seller_* and region are null on some sold rows, which Bobaedream prints without a seller block; seller_type is null for the 반복 tag.

Change tracking

Each run remembers what it saw - listing id and price in won - in a named key-value store on your account, bobaedream-used-cars-watch, one record per search (the exact URLs fetched, so a different filter or sort is a different search). The next run of the same search labels each car:

  • new - not seen by the previous run of this search;
  • price_drop / price_rise - seen before, and the price moved;
  • unchanged - seen before at the same price. A price unknown on either side (상담, 계약) is never a change.

The first run of a search has nothing to compare with, so every car is new - the run log says "change tracking: first run". From the second run on, the labels mean what they say.

With changesOnly on, unchanged cars are skipped: not in the dataset and not charged. maxItems still bounds how many cars are read, so a run where nothing changed reads your window and stops.

Proxy

Apify datacenter proxy is the default. Measured 2026-10-27 from inside Apify: 10 of 10 datacenter fetches of a results page returned HTTP 200 with all 70 listings (about 455 KB each). No refusal has been seen. If one does come back - a 403, 429 or 5xx, or a 200 without the result total - the actor switches to a new exit address and retries. A page still refused after the retries is logged as a failure and nothing is charged for it.

Billing

Pay per event: $0.0084 per listing row, plus a fixed actor-start fee per run. Platform usage - compute and proxy - is included. A listing is charged at most once per run, even when two of your searches both return it. Sold and expired listings (unless includeSold) and, with changesOnly, unchanged cars are not charged. A run that fails on its own input is not charged at all.

Limits

  • This is the cyber-store (사이버매장), the dealer showroom, not Bobaedream's separate mycar private-seller list.
  • The store is small. About 2,300 cars are for sale at once and about 12 new ones appear a day, so a daily feed of the whole market is a dozen rows and a full inventory pull is one run of about 2,300.
  • A page is about 455 KB for 70 listings (about 6.5 KB a listing when the page is full of cars for sale) whatever the filter, because Bobaedream sends its whole page chrome with every list; an empty page is still about 140 KB. The server sends no compression.
  • Oldest-first (order=S12) is not offered: it starts about 90 pages deep in sold history before the first car for sale.
  • New listings arriving while a long walk is running move older ones one slot down a page; the actor de-duplicates, so a car can be read twice but never charged twice.
  • maker and model are split from the Korean title by matching the maker names Bobaedream lists (plus the aliases its titles use: GM대우, 르노삼성, 쌍용, 도요타); a title starting with anything else keeps no maker.
  • The change label compares the price only. A new photo or a changed pitch is unchanged.
  • Bobaedream's refusal page has never been observed, so its classification is by elimination: anything without the result total is treated as a refusal and retried.