Підключити ключ
Початок роботи

Пагінація

Три типи списків використовують три стилі пагінації. Обирайте ендпоінт за тим, що вам потрібно, а не лише за набором фільтрів.

Номери сторінокКурсор прокручуванняКурсор за ID
Ендпоінти/search, /car-options/cars/countries, /locations
Запитpage, perPageПереходьте за next_urlafter_id, per_page
Розмір сторінки2–50, за замовчуванням 501–500, за замовчуванням 5001–1,000, за замовчуванням 100
Ліміт глибиниpage × perPage ≤ 10,000Немає, курсор живе 1–15 хвНемає
Зупинка, колиlinks.next дорівнює nullscroll_id дорівнює nullmeta.has_more дорівнює false
Для чогоПошук для користувачівСинхронізація всього каталогуСинхронізація довідників

Дві особливості /search, які треба врахувати в коді. data може містити на один автомобіль більше, ніж perPage (ми бачили 3 автомобілі при perPage=2), тож обрізайте на клієнті, якщо потрібен точний розмір. А meta.total обмежується 10,000: сприймайте це значення як «10,000 або більше» і викликайте /search/count з тими самими фільтрами, щоб отримати точне число.

Довідники автомобілів і мотоциклів

Без vehicle_type повертаються автомобілі; motorcycle / 2 вибирає мотоцикли. Зберігайте тип на кожному кроці.

per_page — 1–100, типово 100. Використовуйте page або after_id, не обидва. Для сторінок: page × per_page ≤ 10000. Для повного обходу передавайте next_after_id як after_id без page до has_more=false. Тоді total рахує решту збігів.

Без пагінації /brands і /models зберігають попередні масиви та ліміти. Передайте per_page=100 для {data,meta}. Вкладені generations зберігають {name,from,to}; ID поколінь беріть із /generations/{model_id}.

/search · links і metaНаживо
{
  "links": {
    "first": "https://api.carstat.dev/search?perPage=2&page=1",
    "last": "https://api.carstat.dev/search?perPage=2&page=5000",
    "prev": null,
    "next": "https://api.carstat.dev/search?perPage=2&page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 5000,
    "path": "https://api.carstat.dev/search",
    "per_page": 2,
    "to": 3,
    "total": 10000
  }
}
/countries · metaНаживо
{
  "data": [
    "…3 countries…"
  ],
  "meta": {
    "per_page": 3,
    "has_more": true,
    "next_after_id": 3
  }
}

Отримайте доступ до API

Підключіть ключ, щоб виконувати будь-який запит із цих сторінок на своїх даних. Ключа ще немає? Попросіть у нас демо-ключ: той самий JSON, що й у платних планах.

У мене є ключ