About The Car Performance Search API
Our search APIs allow users to look for cars meeting criteria such as:
- Performance: Including top speed, acceleration, BHP and engine configuration;
- Equipment & Features: Including factors such as standard equipment and zero cost options;
- Price: Including factors basic and on-the-road price;
- Monthly Payment: Including factors such as the finance type, term and annual mileage;
- Company Cars: Including P11D value, CO2 output, annual or monthly benefit and tax;
- Body Style: Including factors such as fuel type, seats, gearbox and fuel type.
- Electric Cars: Including factors such as battery range and recharge time;
The APIs can be combined to produce searches by factors such as company car tax and body style or battery range.
The performance search API can find cars by:
- brake horse power (BHP);
- engine cubic capacity (CC);
- engine torque (pulling power);
- number of engine cylinders;
- engine configuration (in-line, V6/V8, Flat 4, etc);
- engine layout (transverse, rear mounted, etc);
- engine camshaft type (single, dual, quad, etc);
- number of inlet/outlet valves;
- fuel delivery method (injection, turbo intercooler, etc);
- 0-62mph acceleration (equivalent to 0 to 100kph;
- top speed;
When no vehicles match the selected criteria (or combination of criteria) an empty table is returned.
In addition to individual criteria the API can display the data across all criteria for a manufacturer's models or a specific model range. Simply select a manufacturer (optionally with model range) to see the data across all criteria.
Dataset
Data can be provided as 'JSON' or 'XML' datasets and you can choose the type of data returned in your HTTPS request by declaring 'json' or 'xml' in the 'd_Type' element of the request string.
JSON is the default type for the dataset if no 'd_Type' is set.
Our Demo
Our demonstrator provides an illustration of how the car search API works using XML.
Set the criteria for the search (acceleration, top speed, etc) to see a list of cars matching the requirements.
The HTTPS {GET} request for each variation in the criteria selection are given once the search is initiated.
You can copy and paste the sample request strings into a browser address bar to see the raw XML data returned for the request (right click on the browser page displayed and you will see the XML dataset).
You can also substitute XML for JSON when you perform the 'copy|paste' exercise.
For our returned datasets we have provided:
- a table formatted to provide a display similar to a typical end-user experience
- an unformatted table to display the dataset results
- an unformatted table to display the dataset results
- a sample XML dataset for the table
Within each returned dataset we include all the performance search criteria irrespective of those selected so that the end-user can further refine the search locally.
The dataset also includes the CAPID of each vehicle which then allows a link to data on individual vehicles from other APIs.
{GET} Requirements
The {GET} request follows standard HTTPS key:value pair protocols. No response will be given for an HTTP request.
The {GET} request for a search requires only our standard security login/session token and search parameters according to the pair:value keys below.
All of the keys set out below are independent and can be used individually or in conjunction with other keys to build selection criteria for a car which meet the user's requirements.
The keys from each search can also be combined to create more sophisticated searches, e.g. body style by monthly payment, performance by body style, etc.
Security
A session token is created on initial login and must be included as a cookie with all HTTPS requests or the request will fail.
If the user's browser does not allow functional cookies then the {GET} request will become orphaned and the request cannot be linked to any other requests in the same session.
If the session token is not included then the session will be terminated, any data created in the session may be erased at the server and the user may need to re-authenticate with a new session.
For security reasons the HTTPS protocol must be used for all {GET} requests so that all data passed between the browser and the server is encrypted, including the session token.
Pair:Value Summary
d_type: xml or json for the required return data type (json if not specified)
target: The string 'PERFORM' to define the type of search (vehicle performance)
Optional: v_p_bhpl: An integer type variable to define the lower range for engine BHP
Optional: v_p_bhpu: An integer type variable to define the upper range for engine BHP
Optional: v_p_ccl: An integer type variable to define the lower range for engine CC
Optional: v_p_ccu: An integer type variable to define the upper range for engine CC
Optional: v_p_torl: An integer type variable to define the lower range engine torque
Optional: v_p_toru: An integer type variable to define the upper range for engine torque
Optional: v_p_cyl: An integer type variable to define the number of engine cylinders
Optional: v_p_cam: A string type variable to define the type of camshaft(s) from:
"OHV" - Overhead Valves
"PUSHROD" - Push Rod
"SOHC" - Single Overhead Camshaft
"DOHC" - Dual Overhead Camshafts
"QUADCAM" - Quad Overhead Camshafts
"VVT" - Variable Valve Timing
"VVTI" - Variable Valve Timing with Intelligence
"DOHCVVT" - Dual Overhead Camshafts with VVT
Not all of the above are currently in use - these have been included to preserve backwards compatibility with older engine types
Optional: v_p_val: An integer type variable to define the number of engine valves
Optional: v_p_engt: A string type variable to define the engine type from:
"INLINE" - IN-LINE
"V5" - V5
"V6" - V6
"V8" - V8
"V10" - V10
"V12" - V12
"VTWIN" - V-TWIN
"W8" - W8
"W12" - W12
"FLAT4" - FLAT 4
"FLAT6" - FLAT 6
Not all of the above are currently in use - these have been included to preserve backwards compatibility with older engine types
Optional: v_p_engl: A string type variable to define the engine position and orientation within the vehicle from:
"MENS" - Mid-Engined North-South
"MET" - Mid-Engined Transverse
"NS" - Front-Engined North-South
"FT" - Front-Engined Transverse
"RT" - Rear-Engined Transverse
"RM" - Rear-Engine North-South
Optional: v_p_fd: A string type variable to define the fuel delivery method from:
"INJ" - Injection
"CR" - Common Rail
"DINJ" - Direct Injection
"IDINJ" - Indirect Injection
"TINJ" - Turbo Injection
"TDINJ" - Turbo Direct Injection
"MPINJ" - Multi-Point Injection
"SPINJ" - Single-Point Injection
"TINT" - Turbo Intercooler
"TS" - Turbo Supercharged
"TT" - Twin Turbo
"S" - Supercharged
Not all of the above are currently in use - these have been included to preserve backwards compatibility with older engine types
Optional: v_p_secl: A double type variable to define the lower 0-62 time in seconds/decimal parts of a second e.g. 5.5
Optional: v_p_secu: A double type variable to define the upper 0-62 time in seconds/decimal parts of a second e.g. 5.5
Optional: v_p_mphl: An integer type variable to define the lower range of top speed in miles per hour
Optional: v_p_mphu: An integer type variable to define the upper range of top speed in miles per hour
Optional: v_mfr: A string type variable to define a manufacturer (from our Car Selector API)
Optional: v_mod: A string type variable to define the manufacturer's model range (from our Car Selector API)