
K Car APIScraper e parser
K Car API: carros de kcar.com com VIN, preço fixo em wons, reparações da carroçaria, histórico de seguro e fotos. Feed de alterações e ficheiros diários.
K Car API
A K Car API ajuda a analisar um carro antes de contactar a filial. No registo pode comparar a inspeção da carroçaria com o histórico de seguro e as leituras de quilometragem, ver as fotos e o preço atual e, pelo VIN, cruzar os dados do carro com outras fontes. A recolha dos dados de kcar.com fica por nossa conta: não precisa de um parser nem de um scraper próprio.
O feed de alterações mostra quando um carro da K Car foi posto à venda, quando o seu preço mudou e quando foi retirado de venda.
A exportação diária da K Car reúne todos os carros que continuam à venda.
VIN, ano-modelo e mês da primeira matrícula, quilometragem com histórico, potência, combustível, caixa e tração, resultado da inspeção e lista dos elementos da carroçaria substituídos e reparados, histórico de seguro, equipamento, filial com coordenadas, fotos.
URL Base
https://{access_name}.auto-api.com/api/v2/kcarAutorização: api_key parâmetro
Fluxo de Trabalho
/filtersmarcas, modelos e valores dos filtrosPrimeiro carregamento do stock:
/change_id?date=...guardar o ID de alteração a partir do qual ler o feed/offersdescarregar os carros à venda, todos ou com filtros/changes?change_id=...novas entradas, novos preços e retiradas de venda a partir desse ID/offerum carro pelo inner_idPor onde começar:
1. Guarde a posição inicial do feed antes de carregar os carros: chame /change_id com a data atual à hora de Seul. Se vier 0, ainda não houve eventos nesse dia: repita a chamada mais tarde com a mesma data.
2. Descarregue o stock através de /offers, passando para a página indicada em next_page até este vir null. Depois processe /changes a partir da posição guardada: durante o carregamento, alguns carros podem ter baixado de preço, subido de preço ou saído de venda.
3. A partir daí, guarde next_change_id depois de cada lote de eventos e peça /changes já com esse valor. Quando for null, não altere a posição e volte a tentar mais tarde. Para escolher carros para uma encomenda concreta, use /offers com filtros.
GET/filters
Retorna todos os valores possíveis para filtragem
https://{access_name}.auto-api.com/api/v2/kcar/filters?api_key=YOUR_API_KEYResposta:
{
"mark": {
"Hyundai": {
"model": ["Accent", "Avante", "Casper", "Genesis", "Grandeur", "Ioniq", "Kona", "Nexo", "Palisade", "Porter", "Santa Fe", "Sonata", "Starex", "Staria", "Tucson", "Venue", "i40"]
},
"Kia": {
"model": ["Bongo III Truck", "Carnival", "EV3", "EV6", "K3", "K5", "K7", "K8", "K9", "Mohave", "Morning", "Niro", "Pride", "Ray", "Seltos", "Sorento", "Sportage"]
},
"Genesis": {
"model": ["EQ900", "G70", "G80", "G90", "GV70", "GV80"]
}
// ... as restantes marcas
},
"transmission_type": ["Automatic", "Manual"],
"color": ["Black", "Blue", "Gray", "Pearl", "Red", "Silver", "Silver Gray", "White", "Yellow"],
"body_type": ["Bus", "Hatchback", "Minivan", "Pickup", "SUV", "Sedan", "Truck (Double Cab)", "Truck (Regular Cab)", "Truck (Super Cab)", "Van", "Wagon"],
"engine_type": ["Diesel", "Electric", "Gasoline", "Hybrid (Gasoline)", "Hydrogen", "LPG"],
"drive_type": ["AWD", "FWD", "RWD"],
"region": ["Chungbuk", "Chungnam", "Gangwon", "Gyeongbuk", "Gyeonggi/Incheon", "Gyeongnam", "Home Service Mega Center", "Jeonbuk", "Jeonnam", "Seoul"]
}GET/offers
Lista de listagens com paginação e filtros
Parâmetros:
page(obrigatório) - número da páginamark, model- marca e modelo, escritos como em /filterstransmission_type, color, body_type, engine_type, drive_type, region- caixa, cor, tipo de carroçaria, combustível, tração e região: valores de /filters, sem distinção de maiúsculasyear_from, year_to- intervalo do campo yearkm_age_from, km_age_to- intervalo de quilometragem, em kmprice_from, price_to- intervalo de preço, em wons sul-coreanos
https://{access_name}.auto-api.com/api/v2/kcar/offers?api_key=YOUR_API_KEY&page=1https://{access_name}.auto-api.com/api/v2/kcar/offers?api_key=YOUR_API_KEY&page=1&mark=Hyundai&model=Palisade&year_from=2022&km_age_to=60000&price_to=30000000&engine_type=GasolineResposta:
{
"result": [
{
"id": 142,
"inner_id": "EC61380785",
"change_type": "added",
"created_at": "2026-09-29T02:49:46.872+03:00",
"data": {
"id": "142",
"inner_id": "EC61380785",
"url": "https://www.kcar.com/bc/detail/carInfoDtl?i_sCarCd=EC61380785",
"mark": "Hyundai",
"model": "Palisade",
"generation": "The New Palisade",
"body_configuration": "",
"configuration": "Gasoline 3.8 2WD",
"complectation": "Exclusive",
"title": "Hyundai The New Palisade Gasoline 3.8 2WD Exclusive",
"year": "2023",
"price": "27900000",
"km_age": "25339",
"color": "White",
"engine_type": "Gasoline",
"body_type": "SUV",
"transmission_type": "Automatic",
"drive_type": "FWD",
"displacement": "3778",
"doors_count": "5",
"horse_power": "295",
"vin": "KMHR281EBPU592982",
"no_accidents": false,
"equipment": "[\"ABS\", \"Navigation\", \"Leather seats\", \"Alloy wheels\", \"Airbag: side\", \"Power seat: driver\"]", // 39 extras na resposta completa
"region": "Gyeonggi/Incheon",
"seller": "K Car Gimpo",
"salon_id": "087",
"address": "경기도김포시김포대로1523-1 (장기동) 2동",
"latitude": "37.658929",
"longitude": "126.665366",
"description": "● 차량 연식 대비 주행거리 매우 짧은 차량이며, 컨디션 역시 매우 우수한 차량입니다.<br/>● 신차가 대비 합리적으로 구매 가능한 가성비 추천 차량입니다. ...",
"offer_created": "2026-06-27",
"images": "[\"https://img.kcar.com/3dcarpicture/2026/08/087/61380785_2/main/main780.jpg\", \"https://img.kcar.com/3dcarpicture/2026/08/087/61380785_2/extra/extra_0_hq.jpg\"]", // 40 fotos na resposta completa
"extra_prep": {
"first_registration": "2023-03",
"model_year": 2023,
"price_base": 28400000,
"is_discount": true,
"is_time_deal": false,
"is_reserved": false,
"car_class": "SUV",
"seats": 7,
"accident_history": "Minor repair",
"body_damage": {
"frame": {},
"exterior": { "bonnet": "repaired", "front-fender-right": "repaired", "front-door-right": "repaired", "back-door-right": "repaired" }
},
"insurance_history": {
"checked_at": "2026-08-10",
"accidents_count": 3,
"own_damage_count": 2,
"own_damage_amount": 771970,
"other_damage_count": 1,
"other_damage_amount": 1422584,
"total_loss_count": 0,
"flood_count": 0,
"theft_count": 0,
"owner_changes_count": 3,
"plate_changes_count": 0,
"rental_history": false,
"business_use_history": false,
"government_use_history": false,
"uninsured_periods": "2023-03~2024-05"
},
"mileage_history": [
{ "date": "2025-05-29", "km": 16667, "source": "Insurance company" },
{ "date": "2025-04-30", "km": 15993, "source": "K Car" }
],
"badges": ["Low mileage", "Manufacturer warranty", "Driver assistance"],
"inspection_date": "2026-08-10",
"views_count": 6054,
"favorites_count": 53
}
}
}
// ... os restantes carros, até 20 por página
],
"meta": { "page": 1, "next_page": 2, "limit": 20 }
}Campos do registo
- id - o nosso número interno do registo; o anúncio na K Car identifica-se por inner_id
- inner_id - código do anúncio na K Car, o mesmo que aparece no URL do anúncio: EC61380785
- url - ligação para o anúncio em kcar.com
- title - nome completo do carro numa só linha
- mark, model - marca e modelo em caracteres latinos, por exemplo Hyundai e Palisade
- generation - geração do modelo: The New Palisade, Grandeur (GN7)
- body_configuration - código de chassis de fábrica, quando a K Car o indica entre parênteses no nome da geração: GN7, RG3; caso contrário, vazio
- configuration - versão: motor e tração, por exemplo Gasoline 3.8 2WD
- complectation - nível de equipamento: Exclusive, Calligraphy; pode vir vazio
- year - ano-modelo; se não estiver indicado ou for um ano que ainda não chegou, ano da primeira matrícula
- vin - VIN completo, 17 caracteres
- color - cor da carroçaria, valores de /filters
- body_type - tipo de carroçaria, valores de /filters
- doors_count - número de portas; vazio em alguns carros
- engine_type - tipo de combustível, valores de /filters
- displacement - cilindrada do motor, em cm³; vazio nos elétricos e nos carros a hidrogénio
- horse_power - potência em cv
- transmission_type - caixa de velocidades, valores de /filters
- drive_type - tração: FWD, RWD ou AWD
- price - preço atual em wons sul-coreanos; o desconto semanal já está deduzido
- km_age - quilometragem em km
- no_accidents - true se, segundo a inspeção da K Car, a estrutura e os painéis exteriores não têm substituições nem reparações; pode haver sinistros mesmo assim, e estão em insurance_history
- equipment - equipamento: array JSON com os nomes dos extras, dentro de uma cadeia
- description - descrição do carro feita pela K Car, em coreano
- seller - filial da K Car onde o carro se encontra: K Car Gimpo
- salon_id - código da filial
- region - região da filial, valores de /filters
- address - morada da filial, em coreano
- latitude, longitude - coordenadas da filial
- images - ligações das fotos: array JSON dentro de uma cadeia; normalmente várias dezenas de fotos
- offer_created - data de publicação do anúncio, à hora da Coreia
- extra_prep - objeto com dados adicionais, com os campos descritos abaixo; os valores em falta vêm como null
Dentro de extra_prep
- first_registration - mês da primeira matrícula: 2023-03
- model_year - ano-modelo, como número
- price_base - preço sem o desconto semanal, em wons; quando não há desconto, é igual a price
- is_discount - true se o carro tem desconto semanal
- is_time_deal - true nos carros em promoção por tempo limitado
- is_reserved - true se o carro foi reservado por um comprador
- car_class - segmento do carro segundo a classificação da K Car: "Light car", "Compact", "Mid-size", "SUV" e outros
- seats - número de lugares
- badges - etiquetas do anúncio, por exemplo "One owner", "Low mileage", "Manufacturer warranty"
- views_count, favorites_count - quantas vezes o anúncio foi visto e adicionado aos favoritos
- inspection_date - data da inspeção da K Car
- accident_history - grupo atribuído pela K Car: "No accident", "Minor repair" ou "Accident"; body_damage mostra que elementos foram substituídos ou reparados
- body_damage - elementos da carroçaria substituídos e reparados: em frame, os elementos da estrutura; em exterior, os painéis exteriores; o valor replaced significa substituição, repaired significa reparação; objetos vazios significam que não há nada a assinalar, e vem null quando não há dados da inspeção da carroçaria
- insurance_history - histórico de seguro: data do relatório (checked_at), total de sinistros (accidents_count), sinistros e indemnizações por danos neste carro (own_damage_count, own_damage_amount), sinistros e montantes dos danos causados a outros veículos (other_damage_count, other_damage_amount), montantes em wons; contadores de perda total, inundação, furto, mudanças de proprietário e mudanças de matrícula; indicadores de utilização como carro de aluguer, de uso comercial e de uso pelo Estado; períodos sem seguro
- mileage_history - quilometragem por data: data, quilómetros e origem da leitura
GET/change_id
Obter primeiro ID de alteração por data (para usar em /changes)
Parâmetros:
date(obrigatório) - data no formato yyyy-mm-dd
https://{access_name}.auto-api.com/api/v2/kcar/change_id?api_key=YOUR_API_KEY&date=2026-09-29Resposta:
{ "change_id": 283 }Use o valor retornado como parâmetro change_id em /changes
GET/changes
Feed de alterações (adicionado/alterado/removido)
Parâmetros:
change_id(obrigatório) - a partir de qual ID de alteração
https://{access_name}.auto-api.com/api/v2/kcar/changes?api_key=YOUR_API_KEY&change_id=283Resposta:
{
"result": [
{
"id": 283,
"inner_id": "EC61410729",
"change_type": "added", // added: o carro foi posto à venda
"created_at": "2026-09-29T02:58:42.752+03:00",
"data": { ... } // o registo completo, como em /offers
},
{
"id": 284,
"inner_id": "EC61414869",
"change_type": "changed", // changed: novo preço em wons
"created_at": "2026-09-29T03:16:53.512+03:00",
"data": { "new_price": 10200000 }
},
{
"id": 285,
"inner_id": "EC60843517",
"change_type": "removed", // removed: o carro foi retirado de venda
"created_at": "2026-09-29T03:16:54.711+03:00",
"data": {}
}
],
"meta": { "cur_change_id": 283, "next_change_id": 286, "limit": 20 }
}GET/offer
Listagem única por inner_id
Parâmetros:
inner_id(obrigatório)
https://{access_name}.auto-api.com/api/v2/kcar/offer?api_key=YOUR_API_KEY&inner_id=EC61380785Resposta: objeto data (igual a /offers, mas sem o wrapper result)
Retenção
Os ficheiros ficam disponíveis pelo menos 3 dias
Disponibilidade
Ficheiros novos todas as manhãs
Formato CSV
As colunas do CSV são separadas pelo caráter pipe (|)
Estrutura do URL:
Parâmetros:
access_name- o seu subdomínio pessoaldate- data da exportação no formato aaaa-mm-dd, por ex. 2026-10-06file_name- nome do ficheiro com extensão
Ficheiros disponíveis:
- CSV - all_active.csv, new_daily.csv, removed_daily.csv
- JSON - all_active.json, new_daily.json, removed_daily.json
- Excel - all_active.xlsx, new_daily.xlsx, removed_daily.xlsx
Exemplo de pedido cURL
curl -L -X GET 'https://{access_name}.auto-api.com/yyyy-mm-dd/all_active.csv' \
-H 'Authorization: Basic XXX' \
-o daily_car_data.csvExemplo de comando Wget
wget --method GET \
--header 'Authorization: Basic XXX==' \
'https://{access_name}.auto-api.com/yyyy-mm-dd/all_active.csv'A K Car (kcar.com) vende carros usados do seu próprio stock e continua a ser o maior vendedor deste tipo na Coreia do Sul. A empresa nasceu da divisão de vendas diretas da SK Encar e opera sob a marca K Car desde 2018. Compra os carros aos proprietários, inspeciona-os e vende-os através de uma rede de filiais em todo o país, também com entrega ao domicílio.
Na K Car os preços são fixos, não há negociação, e alguns carros têm descontos semanais. Antes da venda o carro passa por uma inspeção, e o anúncio indica o grupo em que ficou: sem acidentes, reparação simples ou acidentado. O anúncio enumera também os elementos da carroçaria substituídos e reparados, os sinistros com os montantes das indemnizações e as leituras de quilometragem por data. O VIN é publicado abertamente.
Convém ler a inspeção da K Car em conjunto com o histórico de seguro: um carro do grupo sem acidentes pode ter indemnizações de seguro, porque o grupo descreve apenas a estrutura e os painéis exteriores. Para calcular os direitos aduaneiros e os impostos de importação, o registo traz o mês da primeira matrícula, a cilindrada e a potência do motor. Se o carro já foi reservado por um comprador, o indicador is_reserved mostra-o.
O feed /changes avisa dos novos anúncios, das alterações de preço e das retiradas de venda. A reserva e os restantes dados do carro, no seu estado atual, são devolvidos por /offer.
Acesse dados de múltiplos mercados automotivos com APIs especializadas por plataforma: