Първи стъпки
Какво предлага API, двата набора от данни, формата на заявката и първо извикване, което можете да поставите в терминала.
Разгледайте Авто Данни с Postman
Разгледайте всички ендпойнти на Авто Данни с публичната ни Postman колекция. Вижте я онлайн или я импортирайте директно в работното си пространство.
Импортирайте колекцията ръчно
- Изтеглете JSON файла на колекцията.
- Отворете Postman и изберете Import.
- Качете изтегления JSON файл или изберете Link и поставете:
https://thecarapi.com/thecarapi.postman_collection.json - Избери Import.
- Отвори Collection → Variables и въведете API ключа си като локална стойност на
apiKey. - Изпратете заявка.
REST API върху нормализиран автомобилен инвентар от дванадесет източника — Auto1, OpenLane, Copart Germany, BCA, Autorola, Dealercars, Schadeautos, Encar, KB ChaChaCha, Korea Auctions, японските аукционни къщи и Guazi — плюс европейска мрежа от обяви на дребно от 681 портала в 39 държави. Отговорите с данни са JSON, четенето е с GET, а единствената задължителна идентификация е API ключ в заглавка.
Този справочник покрива стабилната интеграционна повърхност за клиенти и нищо друго. Помощните функции само за сайта и вътрешните операции по публикуване съществуват, но не са публични, нямат версии за вас и не са документирани тук.
Мисловният модел
Автомобилът се адресира с двойката site_name + auction_id_str — например encar/38112900. Двойката е стабилна през целия живот на обявата и е единственият идентификатор, който трябва да пазите. Всичко друго в API е или начин да намерите тази двойка (търсене, фасети, каталог, топ оферти), или начин да я разширите (детайли, снимки, история на цените, история по VIN).
- 1Откриване.
/api/searchс филтри или/api/facetsза попълване на самите контроли за филтриране. Получавате карти с резултати, съдържащиsite_nameиauction_id_str. - 2Разширяване.
/api/auction/{site}/{id}връща пълния запис за една карта — спецификация, състояние, нормализирания блокvehicle_detailsи галерията, вградена катоvault_gallery. - 3Обогатяване. Историята на цените, историята по VIN, пазарните референтни цени и калкулаторът за крайна цена приемат същата двойка или стойности от отговора с детайли.
Базов URL
https://api.thecarapi.comИзисква се HTTPS; обикновен HTTP се отказва, а не се пренасочва. Изпращайте JSON тела на заявки с Content-Type: application/json. Няма префикс за версия в адреса — договорът за схемата се носи в полето contract_version на повечето отговори (вижте Отговори и страниране за малкото, които го пропускат) и е описан изцяло в /api/contract.
Първата ви заявка
curl -sS \
-H "X-API-Key: $API_KEY" \
-H "Accept-Encoding: gzip" \
--compressed \
"https://api.thecarapi.com/api/search?brand=bmw&fuel=Diesel&year_from=2018&sort=price_low&limit=24"--compressed си струва да го имате от първото извикване — вижте Отговори и страниране.Успешният отговор съдържа success: true, данните под ключ, специфичен за маршрута, и полетата за корелация, описани в Отговори и страниране. Пазете request_id — това е единственото, което позволява на поддръжката да проследи конкретно извикване.
Анатомия на заявката
| Заглавка | Стойност | Защо |
|---|---|---|
X-API-Key | Вашият ключ | Задължителна, освен ако не изпращате Authorization. Един метод на удостоверяване на заявка. |
Authorization | Bearer <вашият ключ> | Равностойна на X-API-Key; използвайте тази, която е по-удобна за HTTP клиента ви. |
Accept-Encoding | gzip | Отговорите над 2 KB се връщат компресирани с gzip — около една осма от байтовете при пълна страница от търсене. |
If-None-Match | Получен преди това ETag | Непроменените страници отговарят с 304 без тяло. |
Content-Type | application/json | Само за маршрутите, които приемат тяло с POST. |
| Заглавка в отговора | Значение |
|---|---|
X-Request-ID | Идентификатор за корелация, повторен в тялото като request_id. Записвайте го. |
ETag | Слаб валидатор за условни заявки. |
X-Cache | HIT, MISS или STALE. |
X-Cache-Age | Възраст в секунди на кеширан отговор от /api/car-details. Изпраща се само при попадение в кеша там. |
X-Data-Source | Откъде е дошло тялото на /api/car-details: auctions (нашият съхранен запис), car_details_cache или scraped (извлечено от източника по време на заявката ви). |
X-RateLimit-Limit / -Remaining / -Reset | Състояние на квотата за текущия прозорец. Изпраща се само за ключове с квота — ключ без зададен лимит не получава никакви заглавки за лимити. |
Retry-After | Изпраща се с 429. Изчакайте толкова, не гадайте. |
X-Live-Price | pending, когато обновяването на наддаването не се е вместило в бюджета на заявката. |
X-Details-Fetch | Задава се, докато /api/car-details още извлича от източника. |
Отговорите може да съдържат и заглавки X-Perf-* и X-Local-Source. Те са диагностични, не са част от този договор и може да се променят или да изчезнат без предупреждение — не разклонявайте логиката си по тях.
Какво не е този API
- Не е интерфейс за наддаване. Той наблюдава цените в търговете; никога не поставя, не увеличава и не оттегля наддаване и не дава права за покупка в никоя платформа източник.
- Не е оферта за такси. Таксите на търговете, транспортът и доставката са изчислени за нашия акаунт на купувач и нашия адрес, затова се премахват на границата на отговора. Използвайте калкулатора за внос за крайна цена по вашия маршрут.
- Файловете с протоколи се сервират през API. Нормализираните адреси на документи и протоколи използват пътища /report-vault. Файловете се извличат и кешират; неподдържани хостове или страници, които не са файлове, може да пренасочват към източника.
Прочетете тези, преди да показвате каквото и да е
Три страници отговарят на въпросите, които причиняват най-много преработка, и трите са за това какво означават данните, а не как да ги заявите.
| Страница | Въпросът, на който отговаря |
|---|---|
| Актуални цени | Кои цени се четат в момента на заявката и кои отразяват последното успешно обновяване — и защо страницата с детайли законно може да показва по-висока цена от картата, от която е отворена. |
| Полета по източник | Кои от поддържаните източници реално публикуват щети, сервизна история, документи и оборудване — и кои не. Прочетете, преди да обещаете функция. |
| CO2 и емисии | Защо има две полета за CO2, защо оценката винаги идва със стандарт на изпитване и защо стойност от 2019 г. не е сравнима с такава от 2022 г. |