{
  "openapi": "3.0.1",
  "info": {
    "title": "Bobaedream Scraper: Used & New Cars in South Korea",
    "description": "Scrape bobaedream.co.kr (보배드림), a major Korean car marketplace: used and new cars from dealers and private sellers with KRW price, mileage, make, model, year, fuel, photos, dealers and new-listing monitoring. No login, no proxy. Export JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "NfeovXv5WhKT6PdN1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~bobaedream-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-bobaedream-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/recordsdata~bobaedream-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-bobaedream-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/recordsdata~bobaedream-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-bobaedream-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "What to collect",
            "enum": [
              "search",
              "urls",
              "dealers"
            ],
            "type": "string",
            "description": "search = used and new car ads for the make, model and filters below. urls = the listings, listing numbers and dealer pages you list. dealers = the dealerships that sell what the search filters describe, or the dealer pages you list, with company, address, coordinates, association and stock counts.",
            "default": "search"
          },
          "maxItems": {
            "title": "Maximum items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stops after this many rows (all record types together). Free plans are limited to 10 items per run. The site has no depth limit: a search with 7,500 results can be read to the end.",
            "default": 50
          },
          "origin": {
            "title": "Origin",
            "enum": [
              "both",
              "domestic",
              "imported"
            ],
            "type": "string",
            "description": "Domestic = Korean makes (Hyundai, Kia, Genesis, KG Mobility, Renault Korea, Chevrolet Korea). Imported = every other make. Both reads the two catalogues one after the other. A make that is sold in only one origin with the other one chosen returns a clear error row.",
            "default": "both"
          },
          "inventory": {
            "title": "Section of the site",
            "enum": [
              "mycar",
              "cyber"
            ],
            "type": "string",
            "description": "Buy My Car (mycar) is the full catalogue: dealer and private ads. Cyber Store (cyber) is the narrower premium display of dealer cars; every active Cyber Store car is also in Buy My Car, so choose it only when you want that subset.",
            "default": "mycar"
          },
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Make in English or Korean, for example Hyundai, Kia, BMW, Mercedes-Benz, Porsche, 현대 or 벤츠. Case does not matter. An unknown make returns a clear error row listing examples. Empty means every make.",
            "default": ""
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Model of the make above, for example Avante, Sonata, Sportage, 3 Series, 911 or 아반떼. Needs a make. A model the make does not have returns a clear error row listing examples. Empty means every model.",
            "default": ""
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Free text matched by the site against make, model and ad title, usually in Korean (for example 스포티지 or 하이브리드). Empty means no text filter.",
            "default": ""
          },
          "listingType": {
            "title": "Offer type",
            "enum": [
              "any",
              "sale",
              "lease",
              "rent"
            ],
            "type": "string",
            "description": "Sale = cars sold outright. Lease takeover = cars whose lease contract is handed over (price is the transfer cost). Rent = long-term rental cars. Rent ads have no filter on the site, so the actor reads on until it finds them; a rare combination can take many pages.",
            "default": "any"
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "dealer",
              "private"
            ],
            "type": "string",
            "description": "Dealer = car dealers and their showrooms. Private = individual owners (ads of repeat sellers are not counted as private by the site). Private sellers are never named and their phone numbers are never output.",
            "default": "any"
          },
          "includeInactive": {
            "title": "Include sold and expired ads",
            "type": "boolean",
            "description": "Off returns ads that are for sale now. On also returns ads the site still lists as sold, expired, under contract or on hold (the listing status field tells them apart).",
            "default": false
          },
          "yearFrom": {
            "title": "Year from",
            "minimum": 1950,
            "maximum": 2100,
            "type": "integer",
            "description": "Only cars first registered or built in this year or later (the site matches either year). Empty means no limit."
          },
          "yearTo": {
            "title": "Year to",
            "minimum": 1950,
            "maximum": 2100,
            "type": "integer",
            "description": "Only cars first registered or built in this year or earlier. Empty means no limit."
          },
          "minPrice": {
            "title": "Minimum price (KRW)",
            "minimum": 0,
            "maximum": 100000000000,
            "type": "integer",
            "description": "Only ads priced at or above this amount in won, for example 10000000 for 10 million won. The site works in units of 10,000 won, so the amount is rounded up to the next full unit. Ads without a price are left out when a price filter is set."
          },
          "maxPrice": {
            "title": "Maximum price (KRW)",
            "minimum": 0,
            "maximum": 100000000000,
            "type": "integer",
            "description": "Only ads priced at or below this amount in won, for example 30000000. Rounded down to a full 10,000 won."
          },
          "minMileage": {
            "title": "Minimum mileage (km)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only cars with at least this odometer reading in kilometres. Search results show the mileage rounded to a thousand or ten thousand km; the exact value is on the listing page (fetch listing pages)."
          },
          "maxMileage": {
            "title": "Maximum mileage (km)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only cars with at most this odometer reading in kilometres, for example 50000."
          },
          "fuelType": {
            "title": "Fuel",
            "enum": [
              "any",
              "gasoline",
              "diesel",
              "lpg",
              "gasoline-lpg",
              "hybrid-gasoline",
              "hybrid-diesel",
              "electric",
              "hydrogen",
              "other"
            ],
            "type": "string",
            "description": "Fuel or drivetrain. Hybrid (gasoline) covers plug-in and regular hybrids that the site lists as gasoline plus electric.",
            "default": "any"
          },
          "transmission": {
            "title": "Transmission",
            "enum": [
              "any",
              "automatic",
              "manual",
              "cvt",
              "dct"
            ],
            "type": "string",
            "description": "Automatic covers conventional automatic, CVT and dual-clutch. CVT and dual clutch narrow the search on the site, but the result rows only say Automatic because the site prints no finer type.",
            "default": "any"
          },
          "driveType": {
            "title": "Drive type",
            "enum": [
              "any",
              "fwd",
              "rwd",
              "4wd",
              "awd",
              "rr",
              "mr"
            ],
            "type": "string",
            "description": "Which wheels are driven. Uses the site's own drive filter; ads that do not state a drive type are not returned when this is set.",
            "default": "any"
          },
          "color": {
            "title": "Colour",
            "enum": [
              "any",
              "black",
              "black-two-tone",
              "silver",
              "silver-two-tone",
              "white",
              "white-two-tone",
              "pearl",
              "pearl-two-tone",
              "brown",
              "gold",
              "navy",
              "yellow",
              "green",
              "beige",
              "purple",
              "pink",
              "red",
              "light-gold",
              "light-green",
              "silver-sky-blue",
              "magenta",
              "orange",
              "blue",
              "dark-blue",
              "turquoise",
              "bright-blue",
              "sky-blue",
              "grey",
              "dark-grey",
              "other"
            ],
            "type": "string",
            "description": "Exterior colour as the site names it. The colour is only shown on the listing page, so rows of this search always include the listing page data.",
            "default": "any"
          },
          "region": {
            "title": "Region",
            "enum": [
              "any",
              "seoul",
              "gyeonggi",
              "incheon",
              "daejeon",
              "daegu",
              "ulsan",
              "busan",
              "gwangju",
              "gangwon",
              "chungbuk",
              "chungnam",
              "gyeongbuk",
              "gyeongnam",
              "jeonbuk",
              "jeonnam",
              "jeju",
              "sejong"
            ],
            "type": "string",
            "description": "Province or metropolitan city of the seller. Dealers in the large car markets list the market hall instead, and are still found through the site filter.",
            "default": "any"
          },
          "seats": {
            "title": "Seats",
            "minimum": 1,
            "maximum": 45,
            "type": "integer",
            "description": "Number of seats, for example 5 or 7. The site groups 3 or fewer together and 10 or more together, so 2 returns every car with three seats or fewer and 12 returns ten seats or more."
          },
          "minEngineCc": {
            "title": "Minimum engine size (cc)",
            "minimum": 0,
            "maximum": 20000,
            "type": "integer",
            "description": "Only cars with at least this displacement in cubic centimetres, for example 1600. Electric cars have none and are left out when set."
          },
          "maxEngineCc": {
            "title": "Maximum engine size (cc)",
            "minimum": 0,
            "maximum": 20000,
            "type": "integer",
            "description": "Only cars with at most this displacement in cubic centimetres, for example 2000."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "oldest",
              "price-asc",
              "price-desc",
              "year-desc",
              "year-asc",
              "mileage-asc",
              "mileage-desc"
            ],
            "type": "string",
            "description": "Order of the results. Newest listings first is the default and the best choice for monitoring. Ordering by price, year or mileage uses the site's own sort over the whole result set.",
            "default": "newest"
          },
          "startUrls": {
            "title": "Addresses",
            "type": "array",
            "description": "urls mode: listing addresses (www.bobaedream.co.kr/mycar/mycar_view.php?no=... or /cyber/CyberCar_view.php?no=...). dealers mode: dealer pages (mycar/mycar_holding_list.php?sellerID=...) or listing addresses, from which the dealer is read. Listing numbers can go in the next field.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "listingIds": {
            "title": "Listing numbers",
            "type": "array",
            "description": "The letter C (Cyber Store) or M (Buy My Car) followed by the listing number, for example M2264013 or C785404. The number is the \"no\" value of the listing address.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "fetchDetails": {
            "title": "Read the listing page of every ad",
            "type": "boolean",
            "description": "Off returns the data of the search result card, which is quick. On also opens each listing page for exact mileage, first registration date, engine size, colour, fuel economy, accident and ownership history, seller company and all photos. Listings from the addresses and numbers above always include the listing page.",
            "default": false
          },
          "includeContactDetails": {
            "title": "Include dealer contact details",
            "type": "boolean",
            "description": "Adds the business landline of dealerships and keeps business phone numbers inside their descriptions. Private sellers' names, phone numbers, plate numbers and addresses are never output, whatever this setting says.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new listings (monitor)",
            "type": "boolean",
            "description": "Skips every listing seen in an earlier run with the same filters and monitor name, so scheduled runs return only what is new. Use the newest-first sort.",
            "default": false
          },
          "trackPriceChanges": {
            "title": "Report price changes",
            "type": "boolean",
            "description": "Needs Only new listings. A listing seen before whose price changed comes back again with the previous price, the change and the change in percent.",
            "default": false
          },
          "resetSeen": {
            "title": "Forget seen listings",
            "type": "boolean",
            "description": "Clears the memory of this monitor before the run, so everything counts as new again.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the memory used by Only new listings. Use one name per saved search. Empty derives a name from your filters.",
            "default": ""
          },
          "maxConcurrency": {
            "title": "Parallel page reads",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many listing pages are read at the same time (1 to 5). Requests are paced to about four per second in total, so a higher value adds little.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. Empty means direct requests, which work. Add a proxy only if your own network needs one."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}