Category: API

APIDevelopersNews

Unified API: New data – Electric Vehicle Rapid Charging Points

Zero emission capable (ZEC) vehicles have environmental and financial benefits, and are vital to London becoming a zero carbon city by 2050. We are working with partners to develop a network to help you charge them quickly and efficiently.

Rapid charge points can charge an electric vehicle battery in 20-30 minutes. This is quicker than regular charge points that can take 7-8 hours for a full charge.

The majority of these charge points allow for pay as you go payment using a credit or debit card – you don’t need to be a member.

They allow high mileage users, such as electric taxi and private hire drivers and freight and fleet operators, to quickly charge their vehicle. We have committed to install 150 rapid charging points by the end of 2018 and have at least 300 by 2020.

Electric Vehicle Rapid Charge Point (ECP) data is supplied to us from a number of concessionaires who install and manage charge stations across the UK and Europe. These concessionaires include British Gas, Charge Master, FastNed, Bluepoint and ESB, although at present not all of them have facilities in the Greater London area.

We consolidate the data, which is provided in a client-specific format, into a common structure available through the TfL Unified API that third-party users can consume in a simple, generic way. We have worked closely with Zap-Map, the leading source of information on EV charging points for the UK, to fine tune our API data for third party users. You can view the TfL points on their map and filter on taxi only rapid charge points.

Screenshots of Zap-Map app showing TfL Charge Point for taxi use only at East Finchley LU Car Park

Although the physical ECPs can differ considerably between concessionaires and even a single concessionaire can have different models of charge stations, we transform the data associated with them into a consistent, dynamic parent-child structure of ChargeStation with one or more ChargeConnectors.

As part of our import process of this data, we exclude ChargeStations (and therefore related ChargeConnectors) that are considered outside of the Greater London area.

Charge Stations and Connectors

A ChargeStation is the physical appliance, that may be one of several in a specific location. It has a unique identifier and name, as well as being designated to a latitude-longitude position.

It is also possible that a single ChargeStation can support multiple parking spaces.

A ChargeStation can have one or more ChargeConnectors. The connectors represent the physical connecting alternatives that can be accessed at a time, and each one has a unique identifier and name, as well as an occupancy status associated with this element, along with the other properties, detailing the type of connection, power, etc.

Unified API

From the TfL Unified API, both the ChargeStation and ChargeConnector core data is available via the existing Place endpoint(s) and the current availability of a ChargeConnector is through the Occupancy endpoint(s).

The core data is the key information that describes the Station and Connector, and the information that comes from the concessionaires is accessible via the additionalProperties field collection. The most relevant attributes of each additionalProperty are the category, key, and value. Common keys for all ChargeStations are “ConnectorCount”, “Location”, “Name”, “Reference”, “PricingUrl” and “Restrictions”. Common keys for all ChargeConnectors are “ConnectorDescription”, “ConnectorType”, “ParentStation”, “Power”, “Status”.

Special Note: The “Restrictions” field will identify if the charge station is for Taxi Use only.

The core data is updated daily from the independent concessionaires and we recommend this data is downloaded and stored on local servers for reference and performance.

You can specifically request the different Place Types, but in doing so you will not get the parent-child mapping between the two. The recommended request is as follows, which will return all Greater London ECPs.

https://api.tfl.gov.uk/Place/Type/ChargeStation,ChargeConnector

The response to this request would include a collection of all ChargeStations with child ChargeConnectors, as well as ChargeConnectors as top-level objects. A request can be made using the Place endpoint and the unique id to return just a single Place.

[{
 "$type": "Tfl.Api.Presentation.Entities.Place, Tfl.Api.Presentation.Entities",
 "id": "ChargeMasterChargePoint_ChargePointCM-24114",
 "url": "/Place/ChargeMasterChargePoint_ChargePointCM-24114",
 "commonName": "Q-Park, Oxford Street, Cavendish Square Station 24114",
 "placeType": "ChargeStation",
 "additionalProperties": [
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "Name",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "Q-Park, Oxford Street, Cavendish Square Station 24114",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "Reference",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "ChargePointCM-24114",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "Location",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "Q-Park, Oxford Street, Cavendish Square, London, W1G 0PN, GB",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "Url",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "https://chargemaster.com",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "ConnectorCount",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "3",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "PricingUrl",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "https://polar-network.com/tfl-pricing/",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "Restrictions",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "Public",
 "modified": "2018-02-24T17:44:21.223Z"
 }
 ],
 "children": [
 {
 "$type": "Tfl.Api.Presentation.Entities.Place, Tfl.Api.Presentation.Entities",
 "id": "ChargeMasterChargePoint_ChargePointCM-24114-49925",
 "url": "/Place/ChargeMasterChargePoint_ChargePointCM-24114-49925",
 "commonName": "Q-Park, Oxford Street, Cavendish Square Station 24114 Connector 1",
 "placeType": "ChargeConnector",
 "additionalProperties": [
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "ParentStation",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "ChargePointCM-24114",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "Status",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "Available",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "ConnectorType",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "CCS",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "ConnectorDescription",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "Combined Charging System",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Volts",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "400",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Amps",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "125",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Power",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "50kW",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Phase",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "DC",
 "modified": "2018-02-24T17:44:21.223Z"
 }
 ],
 "children": [],
 "childrenUrls": [],
 "lat": 51.516525,
 "lon": -0.144647
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.Place, Tfl.Api.Presentation.Entities",
 "id": "ChargeMasterChargePoint_ChargePointCM-24114-49926",
 "url": "/Place/ChargeMasterChargePoint_ChargePointCM-24114-49926",
 "commonName": "Q-Park, Oxford Street, Cavendish Square Station 24114 Connector 2",
 "placeType": "ChargeConnector",
 "additionalProperties": [
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "ParentStation",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "ChargePointCM-24114",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "Status",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "Available",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "OriginalConnectorType",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "CHADEMO",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "ConnectorType",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "CHAdeMO",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "ConnectorDescription",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "Type 4 CHAdeMO",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Volts",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "400",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Amps",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "125",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Power",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "50kW",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Phase",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "DC",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "Cost",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "",
 "modified": "2018-02-24T17:44:21.223Z"
 }
 ],
 "children": [],
 "childrenUrls": [],
 "lat": 51.516525,
 "lon": -0.144647
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.Place, Tfl.Api.Presentation.Entities",
 "id": "ChargeMasterChargePoint_ChargePointCM-24114-49927",
 "url": "/Place/ChargeMasterChargePoint_ChargePointCM-24114-49927",
 "commonName": "Q-Park, Oxford Street, Cavendish Square Station 24114 Connector 3",
 "placeType": "ChargeConnector",
 "additionalProperties": [
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "ParentStation",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "ChargePointCM-24114",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "Status",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "Available",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "OriginalConnectorType",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "IEC62196_2TYPE2CONNECTOR",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "ConnectorType",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "Type 2",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "ConnectorDescription",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "Type 2 Connector",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Volts",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "400",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Amps",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "63",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Power",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "43kW",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "ElectricalCharacteristics",
 "key": "Phase",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "AC3",
 "modified": "2018-02-24T17:44:21.223Z"
 },
 {
 "$type": "Tfl.Api.Presentation.Entities.AdditionalProperties, Tfl.Api.Presentation.Entities",
 "category": "Description",
 "key": "Cost",
 "sourceSystemKey": "ChargeMasterChargePoint",
 "value": "",
 "modified": "2018-02-24T17:44:21.223Z"
 }
 ],
 "children": [],
 "childrenUrls": [],
 "lat": 51.516525,
 "lon": -0.144647
 }
 ],
 "childrenUrls": [
 "/Place/ChargeMasterChargePoint_ChargePointCM-24114-49925",
 "/Place/ChargeMasterChargePoint_ChargePointCM-24114-49926",
 "/Place/ChargeMasterChargePoint_ChargePointCM-24114-49927"
 ],
 "lat": 51.516525,
 "lon": -0.144647
 }]

To check the current status, use the Occupancy endpoint, passing the type name of ChargeConnector and comma delimited array of relevant ChargeConnector ids.

https://api.tfl.gov.uk/Occupancy/ChargeConnector/CPBP-ccecd35e-94b1-4056-878b-aa99bf8b5e58-1,CPBP-0a06d81f-a489-40b7-b866-a52fe3da71aa-1

You can exclude the ChargeConnector ids, but this is not recommended as it will return the current status of every connector across the Greater London area, and may take a few seconds to download.

The status is updated within our system every five minutes, but the response is only cached for 60 seconds. The response includes

[{
        "$type": "Tfl.Api.Presentation.Entities.ChargeConnectorOccupancy, Tfl.Api.Presentation.Entities",
        "id": 41441,
        "sourceSystemPlaceId": "CPBP-0a06d81f-a489-40b7-b866-a52fe3da71aa-1",
        "status": "Available"
    },
    {
        "$type": "Tfl.Api.Presentation.Entities.ChargeConnectorOccupancy, Tfl.Api.Presentation.Entities",
        "id": 41440,
        "sourceSystemPlaceId": "CPBP-ccecd35e-94b1-4056-878b-aa99bf8b5e58-1",
        "status": "Not Available (Fault)"
}]

Current status values include: “Available”, “Broken”, “Future”, “In Use”, “Not Available (Fault)”, “Not Available (Future)”, “Operational”, “Unknown”, “Unknown (Not Available)”

If an invalid ChargeConnector id is supplied, then a 404 response will be returned indicating any charge connectors not recognised.

https://api.tfl.gov.uk/Occupancy/ChargeConnector/CPBP-ccecd35e-94b1-4056-878b-aa99bf8b5e58-1,CPBP-0a06d81f-a489-40b7-b866-a52fe3da71aa-1,jkhjkashdkjh

The response to the above request would be:

{
    "$type": "Tfl.Api.Presentation.Entities.ApiError, Tfl.Api.Presentation.Entities",
    "timestampUtc": "2018-01-24T14:55:27.980254Z",
    "exceptionType": "EntityNotFoundException",
    "httpStatusCode": 404,
    "httpStatus": "NotFound",
    "relativeUri": "/Occupancy/ChargeConnector/CPBP-ccecd35e-94b1-4056-878b-aa99bf8b5e58-1,CPBP-0a06d81f-a489-40b7-b866-a52fe3da71aa-1,jkhjkashdkjh",
    "message": "The following charge connectors are not recognised: jkhjkashdkjh"
}

Additional Place endpoints allow for Places (and of a specific type) within a bounding geobox.

As always, we love to hear what you are building with the API, or if you have any questions, let us know in the comments below or on our Tech Forum.


* As always, the API usage examples in this blog are anonymous, so the quota is strictly limited. For a real application, developers should register for an API key.