Skip to main content

Kia America Public API Sources

Kia America exposes several public JSON endpoints on https://www.kia.com. No authentication credentials are required. A Referer header pointing to https://www.kia.com/us/en is required on the JSON endpoints below.

Postman: Postman collection - Kia public APIs

Endpoints

JSON endpoints

EndpointMethodURLPrimary data
Vehicle models catalogGEThttps://www.kia.com/us/services/en/vehicle/allSeries/buildSeries, model years, trims, exterior colors, interiors
Inventory BnPPOSThttps://www.kia.com/us/services/en/inventory/bnp/dealervehicles/{seriesId}/{year}/{zipCode}Dealer inventory for one series/year
Dealer searchPOSThttps://www.kia.com/us/services/en/dealers/searchDealer locator by ZIP or full dealer record lookup by Kia dealer code
Build & Price configuratorGEThttps://www.kia.com/us/services/en/bnpVehicle/{seriesId}/{year}Trim tree, MSC options, packages, color combinations
Offers dropdownsGEThttps://www.kia.com/us/services/en/offers/dropDownsOffer category IDs, active offer model/year combinations, offer images
OffersPOSThttps://www.kia.com/us/services/en/offers/{zipCode}Current incentive offers by requested model/year and offer category

Vehicle Models Catalog

GET https://www.kia.com/us/services/en/vehicle/allSeries/build

Required headers

HeaderValue
Acceptapplication/json, text/plain, */*
Refererhttps://www.kia.com/us/en

Query parameters

None — a single GET returns all active Kia US model series.

Response shape

The API returns an envelope with a top-level allSeries array.

{
"allSeries": [
{
"name": "Sorento",
"seriesId": "7AC",
"categories": [{"name": "SUVs/Crossovers/MPV", "order": 2}],
"years": [
{
"year": 2026,
"baseMsrp": 32390,
"trims": [
{
"name": "LX",
"code": "LX",
"baseMsrp": 32390,
"baseModel": "7AC3225",
"exteriors": [
{
"displayName": "Panthera Metal",
"sapName": "Panthera Metal",
"hex": "515357",
"cost": 0,
"baseMsrp": 32390
},
{
"displayName": "Glacial White Pearl",
"sapName": "Glacial White Pearl",
"hex": "EBF0F5",
"cost": 400,
"baseMsrp": 32790
}
],
"interiors": [
{
"name": "Black Woven Cloth Seat Trim",
"fabricName": "Woven Cloth Seat Trim"
}
]
}
]
}
]
}
],
"vehicleCategories": [...]
}

A single request returns all ~18 active series.

Notable response fields

API fieldNotes
allSeries[].seriesIdInternal model-series identifier, e.g. 7AC for Sorento
allSeries[].namePublic model name
allSeries[].categories[]Model category labels and ordering
allSeries[].years[].yearModel year
allSeries[].years[].baseMsrpBase MSRP for the model year
allSeries[].years[].trims[].codePublic trim code, e.g. LX
allSeries[].years[].trims[].namePublic trim name
allSeries[].years[].trims[].baseModelSAP/base model code, e.g. 7AC3225
allSeries[].years[].trims[].exteriors[]Available exterior colors, hex values, and color cost
allSeries[].years[].trims[].interiors[]Available interior names and fabric names

Coverage

Returns all ~18 active US model series. Series IDs as of mid-2026:

Series IDModel
7ACSorento
7AHSorento Hybrid
7APSorento PHEV
4ACSportage
4AHSportage Hybrid
4APSportage PHEV
3CBTelluride
3CHTelluride Hybrid
GAHNiro
GAENiro EV
KACSeltos
LAC / K5AK5
2ACK4
MACCarnival
MAHCarnival Hybrid
CV6EV6
CV9EV9

Inventory BnP (dealervehicles)

POST https://www.kia.com/us/services/en/inventory/bnp/dealervehicles/{seriesId}/{year}/{zipCode}

Required headers

HeaderValue
Acceptapplication/json, text/plain, */*
Content-Typeapplication/json
Refererhttps://www.kia.com/us/en/inventory/landing

Path parameters

ParameterExampleNotes
seriesId7ACFrom the allSeries/build response
year2026From the allSeries/build response
zipCode10001Required in path; not used for geographic filtering

Request body

{}

An empty object returns full national inventory for the model/year. Observed request arguments appear to be ignored when passed in the JSON body; one observed body was {"packs":[],"radius":50,"status":["DS","IT"],"trim":"LX","exterior":"Panthera Metal","interior":"Saturn Black Woven Cloth Seat Trim","fabric":"Woven Cloth","drivetrain":"Front-Wheel Drive (FWD)","transmission":"Automatic Transmission"}. There is no pagination — one POST per (seriesId, year) returns the complete fleet. Live probes with pageSize: 1, page: 2, and no pagination fields returned the same totalCount, vehicle count, and first/last VIN for Sorento 2026.

ZIP behavior validation

The {zipCode} path parameter is required syntactically, but live probes on June 8, 2026 showed that it does not scope the result set for the empty-body BNP inventory request. Sorento 2026 (seriesId=7AC, year=2026) returned the same count and boundary VINs for east coast and west coast ZIP codes:

ZIPtotalCountvehicles lengthFirst VINLast VIN
1000123,59023,5905XYRG4JC0TG4759875XYRL4JC3TG414404
9410323,59023,5905XYRG4JC0TG4759875XYRL4JC3TG414404
9000123,59023,5905XYRG4JC0TG4759875XYRL4JC3TG414404

The vehicle-list payloads also matched by VIN-list comparison. Treat dealervehicles/{seriesId}/{year}/{zipCode} with {} as ZIP-insensitive. The Kia website's visible 250-mile radius behavior appears to come from another endpoint or request shape, not this BNP inventory request.

Response shape

{
"vehicles": [
{
"vin": "5XYRG4JC0TG475987",
"dealerCode": "NJ028",
"year": {"id": 123, "year": "2026"},
"model": {"id": 456, "model": "Sorento"},
"modelCode": "7AC3225",
"trim": {"id": 2456683, "name": "LX", "longName": "LX"},
"msrp": 34305,
"dealerPrice": 33746,
"exteriorColor": {
"code": "RSL",
"name": "Ivory Silver",
"edwColorName": "IVORY SILVER"
},
"interiorColor": {
"code": "WK",
"name": "Black",
"fabricName": "Woven Cloth Seat Trim"
},
"transmission": {"transmission": "Fwd Auto"},
"status": "DS",
"location": {"longitude": -74.885, "latitude": 40.058},
"seriesId": "7AC",
"mileage": "23 City 31 Highway",
"packs": [
{
"code": "PR7",
"description": "EX Premium Package"
}
]
}
],
"totalCount": 23414
}

Notable response fields

API fieldNotes
vehicles[].vinVehicle VIN
vehicles[].dealerCodeKia dealer code
vehicles[].year.yearModel year
vehicles[].seriesIdSeries identifier, e.g. 7AC
vehicles[].modelCodeSAP/base model code, e.g. 7AC3225
vehicles[].trim.nameTrim code
vehicles[].trim.longNamePublic trim name
vehicles[].exteriorColor.codeInventory exterior color code
vehicles[].exteriorColor.namePublic exterior color name
vehicles[].exteriorColor.imagesExterior profile and 360 image paths when available
vehicles[].interiorColor.codeInventory interior color code, e.g. WK or GYT
vehicles[].interiorColor.namePublic interior color name
vehicles[].interiorColor.fabricNameInterior fabric name
vehicles[].interiorColor.imagesInterior still and panorama image paths when available
vehicles[].transmission.transmissionTransmission description
vehicles[].msrpVehicle MSRP
vehicles[].dealerPriceDealer price shown by the API
vehicles[].statusInventory status code; see status codes below
vehicles[].locationVehicle/dealer longitude and latitude
vehicles[].mileageEPA mileage string when available
vehicles[].options[]Human-readable option/package names
vehicles[].packs[]Structured package objects, e.g. {code, description}
totalCountCount reported by the endpoint

Inventory status codes

CodeMeaning
DSDealer Stock — physically at dealership (~91%)
ITIn Transit to dealer (~9%)
AVAvailable — observed in API docs; rare in practice

Coverage

Observed nationwide inventory counts by model from live (seriesId, year) requests in June 2026:

ModelApproximate count
Sportage 2026~25,800
Sorento 2026~23,400
Telluride 2027~8,300
EV9 2026~2,400
EV6 2026~1,550

Total fleet: ~165,000 vehicles across all series/year combinations.

POST https://www.kia.com/us/services/en/dealers/search

This is the public JSON service endpoint for dealer lookup. Do not confuse it with the website page route https://www.kia.com/us/en/dealers/search, which is not the JSON service URL.

Required headers

HeaderValue
Acceptapplication/json, text/plain, */*
Content-Typeapplication/json
Refererhttps://www.kia.com/us/en

Request body

The ZIP locator variant accepts a ZIP code and returns nearby dealer records. The Kia dealer locator frontend uses type: "zip", not type: "zipCode".

{
"type": "zip",
"zipCode": "10001",
"dealerCertifications": [],
"dealerServices": [],
"numberOfDealers": 10000
}

Observed parameters:

ParameterExampleNotes
typezipRequired for ZIP locator search
zipCode10001Required for ZIP locator search
dealerCertifications[]Optional certification feature filters
dealerServices[]Optional service feature filters
numberOfDealers10000Optional result count override; live probes returned 801 records

The dealer-code variant accepts a known Kia dealer code and returns the matching dealer record.

{
"type": "dealerCode",
"dealerCode": "NJ080",
"dealerCertifications": [],
"dealerServices": []
}

Observed coverage

Live probes on June 8, 2026 using numberOfDealers: 10000 returned 801 dealer records for both zipCode: "10001" and zipCode: "94103". The returned dealer code sets were identical. Omitting numberOfDealers returned only the nearest 20 dealers for each ZIP.

Response shape

The response is a JSON array. ZIP locator requests return multiple dealer objects. Dealer-code requests usually return one object.

[
{
"code": "NJ080",
"name": "Jersey City Kia",
"location": {
"street1": "36 Water Street",
"city": "Jersey City",
"state": "NJ",
"latitude": "40.71559",
"longitude": "-74.09522",
"zipCode": "07305"
},
"phones": [
{
"number": "2014327700",
"type": "business"
}
],
"url": "http://JERSEYCITYKIA.COM",
"hybridCertified": true,
"chatEnabled": true,
"inventoryEnabled": true,
"featureIds": [17, 7, 14, 16]
}
]

Notable response fields

API fieldNotes
[].codeKia dealer code
[].nameDealer display name
[].location.street1Street address
[].location.cityCity
[].location.stateState abbreviation
[].location.zipCodeZIP code
[].location.latitudeLatitude string
[].location.longitudeLongitude string
[].phones[]Phone records; business phone has type: "business"
[].urlDealer website URL
[].hybridCertifiedHybrid certification flag
[].chatEnabledChat availability flag
[].inventoryEnabledInventory availability flag
[].featureIds[]Dealer feature identifiers

Build & Price Configurator (bnpVehicle)

GET https://www.kia.com/us/services/en/bnpVehicle/{seriesId}/{year}

Note: The URL does not include a /vehicle/ prefix — GET /vehicle/bnpVehicle/… returns 404.

Required headers

HeaderValue
Acceptapplication/json, text/plain, */*
Refererhttps://www.kia.com/us/en

Path parameters

ParameterExampleNotes
seriesId7ACFrom the allSeries/build response
year2026From the allSeries/build response

Response shape

The response has a top-level vehicle object with a deeply nested children tree:

{
"vehicle": {
"id": "7AC",
"title": "Sorento",
"type": "series",
"children": [
{
"year": 2026,
"type": "modelyear",
"children": [
{
"title": "2.5L GDI",
"type": "engine",
"children": [
{
"title": "Front-Wheel Drive (FWD)",
"type": "drivetrain",
"children": [
{
"type": "transmission",
"children": [
{
"modelCode": "7AC3225",
"msrp": 32390,
"destination": 1495,
"type": "trim",
"code": "LX",
"engine": "2.5L GDI",
"drivetrain": "Front-Wheel Drive (FWD)"
}
]
}
]
}
]
},
{
"code": "D35",
"description": "LX FWD Std",
"type": "msc",
"options": [
{
"title": "All Weather Floor Mats",
"code": "AWM",
"discriminator": "option",
"msrp": 265,
"type": "option",
"features": [
{
"title": "All Weather Floor Mats",
"description": "All weather mats are custom fit to your Kia interior...",
"type": "feature"
}
]
}
]
}
]
}
]
}
}

MSC nodes correspond to trim-level specification codes (for example, D35 = LX FWD Std) and hold options/accessories and color combinations applicable to that trim.

Notable response fields

API fieldNotes
vehicle.idSeries identifier, e.g. 7AC
vehicle.titlePublic model name
vehicle.children[].yearModel year
Engine/drivetrain/transmission children[]Nested tree that leads to trim nodes
Trim children[].modelCodeSAP/base model code, e.g. 7AC3225
Trim children[].codePublic trim code, e.g. LX
Trim children[].msrpTrim MSRP
Trim children[].destinationDestination charge
MSC children[].codeModel/specification code, e.g. D35
MSC children[].descriptionHuman-readable MSC description
MSC children[].options[]Accessory/option rows with title, code, discriminator, msrp, and nested features[]
MSC children[].packages[]Package rows when populated; observed empty in the Sorento sample
MSC children[].colors[]Exterior/interior color combinations
colors[].exteriorExterior color details, including code, title, cost, swatch/profile image paths, and discriminator
colors[].interiorInterior details, including title, swatch/profile image paths, fabric/color metadata, and discriminator

Package pricing note

Kia does not expose priced package rows in the observed Sorento configurator payload. The MSC packages[] arrays are present but empty in the sample.

The MSC options[] array is the only current source of priced accessories in that payload. These appear to be individual dealer-installed or factory-ordered options, not bundled packages.

The orderingOptions array on trim nodes occasionally contains included standard features with msrp: 0.

Coverage

Observed accessory examples as of June 2026 include:

  • All Weather Floor Mats (AWM): $265
  • Auto-Dimming Rearview Mirror w/ HomeLink (EH): $375
  • Cargo Net (CN): $60
  • Trailer Hitch Receiver — Class III (TH): $640
  • First Aid Kit (FK): $35

Offers Dropdowns

GET https://www.kia.com/us/services/en/offers/dropDowns

Required headers

HeaderValue
Acceptapplication/json, text/plain, */*
Content-Typeapplication/json;charset=UTF-8
Refererhttps://www.kia.com/us/en/offers/result

Query parameters

None.

Response shape

The response contains offer categories, active offer model/year combinations, model years, and image paths.

{
"allOffers": {
"status": "Success",
"statusCode": "200",
"result": [
{
"id": 3,
"label": "offerTypeCash",
"description": "cashDescription",
"isActive": true,
"orderId": 1
}
]
},
"categories": [
{
"name": "SUVs/Crossovers/MPV",
"vehicles": [
{
"name": "Sorento",
"seriesId": "7AC",
"years": [{"year": 2026}, {"year": 2025}]
}
]
}
],
"modelYears": [{"year": 2025}, {"year": 2027}, {"year": 2026}],
"images": {
"Sorento": {
"2026": {
"LX": "/us/content/dam/kia/us/en/vehicles/sorento/2026/trims/lx/exterior/101010/360/35.png"
}
}
}
}

Notable response fields

API fieldNotes
allOffers.result[].idOffer category ID, e.g. 3 for cash, 2 for lease, 1 for finance, 4 for other
allOffers.result[].labelOffer category label
allOffers.result[].isActiveCategory active flag
categories[].nameVehicle category label
categories[].vehicles[].nameVehicle display name
categories[].vehicles[].seriesIdSeries identifier
categories[].vehicles[].years[].yearModel year with active offers
modelYears[]Model years represented in the offer dropdown
imagesVehicle/year/trim image path map

Offers

POST https://www.kia.com/us/services/en/offers/{zipCode}

Required headers

HeaderValue
Acceptapplication/json, text/plain, */*
Content-Typeapplication/json;charset=UTF-8
Refererhttps://www.kia.com/us/en/offers/result

Path parameters

ParameterExampleNotes
zipCode10014Required in path; observed offers are nationally uniform for current responses

Request body

{
"vehicles": [
{
"seriesId": "7AC",
"year": 2026
}
],
"categories": [3, 2, 1, 4]
}

The vehicles array accepts the requested series/year combinations. Category IDs observed from dropDowns are 3 cash, 2 lease, 1 finance, and 4 other.

Response shape

{
"result": {
"vehicle": [
{
"seriesId": "7AC",
"series": "Sorento",
"total": 5,
"years": [
{
"year": 2026,
"offers": [
{
"offerId": 56922,
"vehicleId": 45582,
"categoryId": 3,
"catergoryName": "Cash",
"typeId": 22,
"typeDescription": "Total Cash Back Offer",
"beginDate": "06/02/2026",
"endDate": "07/06/2026",
"name": "Cash Offer",
"title": "$3,500 Customer Cash",
"heading": "",
"modelInfo": "",
"description": ["available toward purchase"],
"trimId": null,
"trimName": null,
"states": null,
"includedCashOffers": ["$3,500 Cash Back Offer"],
"additionalOffers": null
}
]
}
]
}
],
"additionalOffers": [
{
"typeId": 13,
"typeDescription": "Military Program",
"cash": "500",
"heading": "$500 Military Program For Qualified Customers",
"offerId": 56711
}
]
}
}

Notable response fields

API fieldNotes
result.vehicle[].seriesIdSeries identifier
result.vehicle[].seriesPublic model name
result.vehicle[].totalOffer count for the vehicle
result.vehicle[].years[].yearOffer model year
result.vehicle[].years[].offers[].offerIdOffer identifier
result.vehicle[].years[].offers[].vehicleIdOffer vehicle identifier
result.vehicle[].years[].offers[].categoryIdOffer category ID
result.vehicle[].years[].offers[].catergoryNameCategory name as spelled by the API
result.vehicle[].years[].offers[].typeIdOffer type ID
result.vehicle[].years[].offers[].typeDescriptionOffer type description
result.vehicle[].years[].offers[].beginDateOffer start date
result.vehicle[].years[].offers[].endDateOffer end date
result.vehicle[].years[].offers[].titlePublic headline value, e.g. $309/month or 0% APR
result.vehicle[].years[].offers[].headingSupporting headline text
result.vehicle[].years[].offers[].description[]Offer description lines
result.vehicle[].years[].offers[].trimIdTrim identifier when offer is trim-specific
result.vehicle[].years[].offers[].trimNameTrim name when offer is trim-specific
result.vehicle[].years[].offers[].statesState restrictions when present; observed null for current national offers
result.vehicle[].years[].offers[].includedCashOffers[]Included cash offer labels
result.vehicle[].years[].offers[].additionalOffers[]References to additional offer records
result.additionalOffers[]Additional program-level offers such as military programs