The Vehicle Facets API allows you to narrow down the matching vehicle based on the vehicle's parameters. The facets available are: year, make, model, badge, series, transmission, body, body_style, fuel, engine and wheelbase.
If you would like to return aggregations of factes, use a comma-separated list in the facets field: eg. facets=badge,series,transmission.
Facets User Interface Example
This function is useful when supplying data to drop-downs for display on a form. A good example of using the Facets API is Westside Auto.
For a preview of how facets in implemented inside the AutoGrab web app see the video below.
Facet Integration Worked Example
Let's work backwards from the end result which is one or a few results for your user to pick from driven by previous drop-down. There are a few ways to make facets work for you, we'll go through the most common integration method.
Form your GET request for Makes
/v2/vehicles/facets?region=au&facet=make
{"success":true,"make": [ {"value":"Abarth","count":47 }, {"value":"Acura","count":1 }, {"value":"Alfa Romeo","count":713 }, {"value":"AM General","count":2 }, {"value":"Aston Martin","count":169// trimmed - this would show all makes in the region
Ask your user to choose a make from the list then call all available models based on that selection. Let's say your user chose Toyota.
{"success":true,"model": [ {"value":"4Runner","count":41 }, {"value":"86","count":72 }, {"value":"Allex","count":26// trimmed - this would show all models in the region
Ask your user to choose a Model from the list then call all available models based on that selection. Let's say your user chose Corolla.
{"success":true,"badge": [ {"value":"SE Ltd","count":6 }, {"value":"SE LTD","count":2 }, {"value":"Sprint","count":3 }, {"value":"Sprinter","count":5 }, {"value":"Sprinter SR","count":1 }, {"value":"SR","count":4 },// trimmed - this would show all badges in the region
Select A Badge A Load Vehicles From A Search
Ask your user to choose a badge from the list. Let's say your user chose Sprint. You can see the count is 3, meaning there are only 2 badges. You could send that directly to them or repeat the process with the year (&facet=year) to refine it further.
Let's say you'd like to present the three options to the user.
{"success":true,"vehicles": [ {"id":"5364630897557504","region":"nz","title":"1997 Toyota Corolla Sprint Manual","year":"1997","make":"Toyota","model":"Corolla","badge":"Sprint","series":null,"model_year":null,"release_month":9,"release_year":1995,"body_type":"Hatchback","body_config":null,"transmission":"Manual","transmission_type":"Manual","wheelbase":null,"wheelbase_type":null,"fuel":"Petrol","fuel_type":"Petrol","engine":"Piston","engine_type":"Piston","drive":"FWD","drive_type":"Front Wheel Drive","num_doors":5,"num_seats":5,"num_gears":5,"num_cylinders":4,"capacity_cc":1587,"power_kw":null,"torque_nm":null,"range":null,"options": [] }, {"id":"6033133967245312","region":"nz","title":"1999 Toyota Corolla Sprint Manual","year":"1999","make":"Toyota","model":"Corolla","badge":"Sprint","series":null,"model_year":null,"release_month":9,"release_year":1995,"body_type":"Hatchback","body_config":null,"transmission":"Manual","transmission_type":"Manual","wheelbase":null,"wheelbase_type":null,"fuel":"Petrol","fuel_type":"Petrol","engine":"Piston","engine_type":"Piston","drive":"FWD","drive_type":"Front Wheel Drive","num_doors":5,"num_seats":5,"num_gears":5,"num_cylinders":4,"capacity_cc":1587,"power_kw":null,"torque_nm":null,"range":null,"options": [] }, {"id":"6563011892346880","region":"nz","title":"1998 Toyota Corolla Sprint Manual","year":"1998","make":"Toyota","model":"Corolla","badge":"Sprint","series":null,"model_year":null,"release_month":9,"release_year":1995,"body_type":"Hatchback","body_config":null,"transmission":"Manual","transmission_type":"Manual","wheelbase":null,"wheelbase_type":null,"fuel":"Petrol","fuel_type":"Petrol","engine":"Piston","engine_type":"Piston","drive":"FWD","drive_type":"Front Wheel Drive","num_doors":5,"num_seats":5,"num_gears":5,"num_cylinders":4,"capacity_cc":1587,"power_kw":null,"torque_nm":null,"range":null,"options": [] } ],"total":3}
If you do not pay attention to the counts under each facet, there may be too many vehicles to search for. You will know you have triggered this limitation if you see the error below
{"error":true,"message":"Too many vehicles, you must return at least make, model, badge, series, year"}
{"success":true,"vehicles": [ {"id":"2983792384791283","title":"2020 Tesla Model S Performance Auto AWD","year":2020,"make":"Tesla","model":"Model S","badge":"Performance","series":null,"model_year":"MY21","release_month":null,"release_year":null,"body_type":"Hatchback","body_config":null,"transmission":"Sports Automatic","transmission_type":"Automatic","wheelbase":null,"wheelbase_type":null,"fuel":"Electric","fuel_type":"Electric","engine":"Electric","engine_type":"Electric","drive":"AWD","drive_type":"Four Wheel Drive","num_doors":4,"num_seats":5,"num_gears":1,"num_cylinders":null,"capacity_cc":null,"power_kw":150,"torque_nm":320,"range":750 }