Skip to content

List cars with filters. Pass ?currency= to receive an additive convertedPrice (raw × your tenant markup × FX) per car; your tenant is auto-resolved from the API key.

GET
/api/v1/cars
curl --request GET \
--url 'https://api.dokanmazad.com/api/v1/cars?page=1&limit=20&makeEn=BMW&modelEn=3%20Series&makeModel=BMW%2CAudi%3AA4&modelGroupEn=3-Series&generationCode=G20&gradeEn=320i%20M%20Sport&trim=320i%20M%20Sport%7C%7C%7C320d%20M%20Sport%20Package&yearFrom=2020&yearTo=2024&priceFrom=1000&priceTo=5000&kmFrom=0&kmTo=100000&fuelType=Gasoline&transmission=Automatic&vehicleType=SUV&color=white&drivetrain=AWD&provider=encar&published=true&search=BMW%20320i&fields=id%2CmakeEn%2CmodelEn%2Cprice%2Cyear&damage=cutChassis%2CwaterFlood&options=sunroof%2Cnavigation&city=Seoul&sortBy=price&sortOrder=asc&currency=SAR&customerSubdomain=harajkorea' \
--header 'X-API-Key: <X-API-Key>'
page
number

Page number (1-based)

Example
1
limit
number

Items per page (default 20)

Example
20
makeEn
string

Filter by make in English

Example
BMW
modelEn
string

Filter by model in English

Example
3 Series
makeModel
string

Comma-separated make or make:model pairs (e.g. “BMW,Audi:A4”)

Example
BMW,Audi:A4
modelGroupEn
string

Filter by model group (e.g. “3-Series”)

Example
3-Series
generationCode
string

Filter by generation code (encar only, e.g. “G20”)

Example
G20
gradeEn
string

Filter by grade/trim in English

Example
320i M Sport
trim
string

Brand-aware trim filter. Use “|||” to join multiple raw grade values (e.g. “320i M Sport|||320d M Sport Package”). Obtain valid values from GET /v1/cars/makes/:make/model-groups/:modelGroup/trims

Example
320i M Sport|||320d M Sport Package
yearFrom
number

Minimum manufacture year (min 1900)

Example
2020
yearTo
number

Maximum manufacture year

Example
2024
priceFrom
number

Minimum price in 만원 units (×10000 = KRW)

Example
1000
priceTo
number

Maximum price in 만원 units (×10000 = KRW)

Example
5000
kmFrom
number

Minimum odometer reading (km)

Example
0
kmTo
number

Maximum odometer reading (km)

Example
100000
fuelType
string

E.g. Gasoline, Diesel, Electric, Hybrid

Example
Gasoline
transmission
string

E.g. Automatic, Manual

Example
Automatic
vehicleType
string

Body style — e.g. Sedan, SUV, Hatchback

Example
SUV
color
string

Exterior color (English)

Example
white
drivetrain
string

E.g. AWD, FWD, RWD

Example
AWD
provider
string

Auction provider slug — lotte | autohub | kcar | glovis | encar | sk

Example
encar
published
boolean

Filter by published flag. Pass true or false (string “true”/“false” also accepted)

Example
true
search
string

Full-text search in title

Example
BMW 320i
fields
string

Comma-separated field projection for mobile optimization

Example
id,makeEn,modelEn,price,year
damage
string

Comma-separated damage exclusions (e.g. “cutChassis,waterFlood”)

Example
cutChassis,waterFlood
options
string

Comma-separated car options/features to filter by (e.g. “sunroof,navigation”)

Example
sunroof,navigation
city
string

Source city/region in Korea

Example
Seoul
sortBy
string

Sort field. Allowed: price | year | kilometers | createdAt | auctionDate (default createdAt)

Example
price
sortOrder
string

Sort direction. asc | desc (default desc)

Example
asc
currency
string

ISO 4217 DISPLAY currency (SAR | USD | AED | KRW | …). When set, every car gains an additive convertedPrice = raw price × YOUR tenant markup × FX, expressed in this currency. Omit it → you get the raw price (만원) only, with NO markup applied. This is how you receive marked-up prices.

Example
SAR
customerSubdomain
string

NOT normally needed. Your institution (tenant) — and therefore both the price markup AND the visible inventory — is resolved automatically from your API key. Only pass this to view a DIFFERENT tenant’s storefront.

Example
harajkorea

Success

Media typeapplication/json
object
success
required
boolean
data
required
meta
object
page
integer
limit
integer
total
integer
totalPages
integer
data
required
Array<object>
object
id
required

Integer car ID

number
advertisementNumber
required

Provider listing number

string
makeEn
required

Make (English)

string
modelEn
required

Model (English)

string
year
required

Manufacture year

number
price
required

RAW price in 만원 (×10000 = KRW, e.g. 2800 = 28,000,000 KRW), BEFORE markup. The marked-up price is convertedPrice — request it with ?currency=.

number
convertedPrice

DISPLAY price = raw × YOUR tenant markup × FX, single terminal round. Present ONLY when ?currency= is set; null if the FX pair is unavailable. This is the price to show your customers.

number
priceCurrency

ISO 4217 currency of convertedPrice (echoes ?currency=). null when no currency was requested.

string
fuelType

Fuel type

string
transmission

Transmission type

string
color

Exterior color

string
kilometers

Odometer reading (km)

number
provider
required

Source auction provider slug

string
auctionDate

Auction date

string format: date-time
published
required

Visible on platform

boolean
thumbnailUrl

Thumbnail image URL (150px)

string
meta
object
page
integer
limit
integer
total
integer
totalPages
integer
Examples
Examplesuccess
{
"success": true,
"data": [
{
"id": 10482,
"advertisementNumber": "50012493",
"makeEn": "BMW",
"modelEn": "3 Series",
"year": 2023,
"price": 2800,
"fuelType": "Gasoline",
"transmission": "Automatic",
"color": "Alpine White",
"kilometers": 12500,
"provider": "encar",
"auctionDate": "2026-05-10",
"published": true,
"thumbnailUrl": "https://cdn.dokanmazad.com/encar-provider/10482_t.jpg"
}
],
"meta": {
"page": 1,
"limit": 20,
"total": 1,
"totalPages": 1
}
}

Unauthorized — missing or invalid API key

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}

Forbidden — route not in this key’s allowedRoutes

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}

Rate limit exceeded

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}
Retry-After
integer

Seconds to wait before retrying