Синхронізація всього каталогу
/cars потоково віддає всі активні автомобілі ваших джерел із повними звітами через серверний курсор. Використовуйте його для підтримки локальної копії; /search — лише для запитів, які бачать користувачі.
- Почніть прохідЗапитайте
/carsбезscroll_id. Фільтри, як-отdomains[]чиis_leasing, задавайте лише тут. - Переходьте за
next_urlточноВикористовуйте той самий ключ і фільтри протягом усього проходу. Змінаdomains[]чиis_leasingпосеред прокручування повертає422. - Робіть запит до закінчення терміну дії курсора
scroll_time— від 1 до 15 хвилин (за замовчуванням 10), відлік від останнього запиту. При403/404з "scroll id was expired" почніть новий прохід. - Завершіть, потім архівуйтеПрохід завершується, коли
scroll_idдорівнює null, аdataпорожній. Лише тоді позначайте як продані автомобілі, яких ви не побачили.
Запускайте повний прохід 2–3 рази на день. Архівовані автомобілі одразу зникають з /search і /cars, але залишаються доступними через /cars/{car_id} і /listing/{domain_id}/{listing_id} з archived: true приблизно місяць.
Фільтр за типом транспорту й конфігурацією
vehicle_type=automobile / 1 — типово; motorcycle / 2 вибирає мотоцикли в /search, /search/count і /cars. У довідниках використовуйте той самий тип.
У /cars тип і вся ієрархія фіксуються на час прокрутки. Дотримуйтеся next_url без змін або передавайте лише scroll_id. Порядок еквівалентних фільтрів можна змінити; нові умови або явні фільтри без збереженого стану дають 422. Почніть нову прокрутку. Старі курсори без нових параметрів зберігають попередній запит.
url="https://api.auctionsapi.com/cars?limit=500&api_key=$CARS_API_KEY"
while [ -n "$url" ]; do
page=$(curl -sfg "$url" -H "Accept: application/json") || { echo "cursor expired, restart"; exit 1; }
echo "$page" | jq -c '.data[]' >> cars.ndjson
url=$(echo "$page" | jq -r '.next_url // empty')
done{
"scroll_id": null,
"data": [],
"total": 3217391,
"message": "No more data"
}Отримайте доступ до API
Підключіть ключ, щоб виконувати будь-який запит із цих сторінок на своїх даних. Ключа ще немає? Попросіть у нас демо-ключ: той самий JSON, що й у платних планах.