Documentation API
3 endpoints, exposés uniquement par le serveur optionnel (allcars_db.cli serve,
voir recherche avancée). La consultation simple
n'en dépend pas : ses données viennent des fichiers statiques dist/catalogue.json
et dist/technical_specs.json.gz.
Bornes et valeurs disponibles pour construire les filtres : marques ayant des données techniques, carburants, carrosseries, plage d'années.
Réponse
{
"brands": ["AC", "Abarth", "..."],
"fuel_types": ["Petrol (Gasoline)", "Diesel", "Electric", "..."],
"body_types": ["Coupé", "Berline", "Cabriolet", "..."],
"seats": [2, 4, 5, 7, 9],
"year_min": 1928,
"year_max": 2025
}
Recherche multi-critères sur les versions techniques. Tous les paramètres sont optionnels et combinés en ET.
| Paramètre | Type | Effet |
|---|---|---|
| brand | texte | Marque, correspondance exacte |
| source_url | texte | Identifiant stable d'une version précise (correspondance exacte, colonne UNIQUE en base) - voir note ci-dessous |
| model | texte | Modèle, contient |
| version | texte | Libellé de version, contient |
| fuel_type | texte | Carburant, correspondance exacte |
| body_type | texte | Carrosserie, correspondance exacte |
| seats | entier | Nombre de places, correspondance exacte |
| year_min / year_max | entier | Plage d'années de génération |
| weight_min / weight_max | nombre | Poids à vide (kg) |
| power_min / power_max | nombre | Puissance (ch) |
| power_to_weight_min / power_to_weight_max | nombre | Rapport ch/tonne |
| top_speed_min / top_speed_max | nombre | Vitesse max (km/h) |
| acceleration_0_100_max | nombre | 0-100 km/h max (s) |
| co2_max | nombre | CO₂ WLTP max (g/km) |
| sort | texte | Champ de tri (voir en-têtes cliquables de la recherche avancée) ; 400 si inconnu |
| order | asc | desc | Sens du tri, défaut asc |
| limit | entier | Défaut 200, plafonné à 1000 |
source_url est présent dans chaque version renvoyée (voir "Réponse" ci-dessous) et reste stable d'un scrape à l'autre - un consommateur externe (ex. Custos) qui l'a stocké au moment d'un premier choix peut ensuite le repasser seul en filtre
(GET /api/versions?source_url=...) pour retrouver exactement cette version plus tard, sans avoir à re-matcher par marque/modèle/génération/version (fragile si un libellé change).
Réponse
{
"count": 200,
"truncated": true,
"summary": { "version_count": 6953, "brand_count": 144, "model_count": 890, "year_min": 1928, "year_max": 2024 },
"versions": [ { "brand": "AC", "model": "Cobra", "power_hp": 370, "source_url": "https://www.auto-data.net/en/...", "... ": "..." } ]
}
Le tri porte sur l'ensemble des résultats avant troncature à limit, pas sur la seule page renvoyée.
Même filtres/tri/limite que /api/versions, mais renvoie un CSV "long" (une ligne
par champ technique brut par version) au lieu du JSON — l'export complet, données brutes incluses.
Colonnes
brand, model, generation_label, generation_start_year, version_label, source_url, section, label, value