Service version: 2
Last edit: 2025.06.03
TomTom Maps

Important note This EV Search API is unavailable on a Freemium or Pay As You Grow (PAYG) basis. Click the Request Access button above to contact our Sales team.

Purpose

The EV Search Nearby endpoint provides information about the nearest EV POIs (points of interest) based on either a circular area or a bounding box. By providing optional request parameters, the API allows filtering the response by connector type, availability status, etc.

The API accepts the search coordinates and radius, to search within a circular area or the top-left and bottom-right coordinates of the bounding box. Therefore there are two valid sets of required parameters: lat, lon and radius or topLeft and btmRight. In case both sets are provided, the API will return the radius-based circular search results.

Note: In the bounding box search, if the distance between the top-left and bottom-Right corners is less than or equal to 200 km, the results are returned within the original bounding box. Otherwise, the search would take place within a new bounding box which is created with a diagonal length of 200 km, while keeping the aspect ratio of the original bounding box. The center of the inner bounding box is the same as the original.

Request data

HTTPS method: GET

For ease of viewing and identification:

  • Constants and parameters enclosed in curly brackets { } must be replaced with their values.
  • Please see the following Request parameters section with the required and optional parameters tables for their values. The generic request format is as follows.

Request format

get
Request URL format
https://{baseURL}/search/{versionNumber}/evsearch?key={Your_API_Key}&[lat={latitude}&lon={longitude}&radius={radius}|topLeft={topLeft}&btmRight={btmRight}]&[optional parameters]

Request curl command example

get
Request curl command example
curl 'https://api.tomtom.com/search/2/evsearch?key={Your_API_Key}&lat=52.36&lon=4.89&radius=1000&status=Available,Unknown&connector=IEC62196Type2Outlet&accessType=Public&restriction=evOnly&capability=ChargingProfileCapable&minPowerKW=22.2&maxPowerKW=43.2&limit=20&view=Unified'

Request parameters

The following table describes the parameters that can be used in a request.

  • Required parameters must be used or the call will fail.
  • Parameters and values are case-sensitive.
  • Optional parameters may be used.
Required parametersDescription
baseURL string

Base URL for calling the API.
Values:

versionNumber string

The service version.
Value: The current value is 2.

key string

An API Key valid for the requested service.
Value: Your valid API Key.

Optional parametersDescription
lat double

Latitude of the location to search for.
Value: A double value between -90 and 90.
Example: 37.337

lon double

Longitude of the location to search for.
Value: A double value between -180 and 180.
Example: -121.89

radius integer

Radius in meters to search within.
Value: An integer value between 1 and 100000 representing the radius in meters.
Example: 1000

topLeft string

The top-left corner of the bounding box to search within. It should be used in combination with the btmRight parameter.
Value: A comma-separated string composed by lat,lon.
Example: 52.3749,4.8641

btmRight string

The bottom-right corner of the bounding box to search within. It should be used in combination with the topLeft parameter.
Value: A comma-separated string composed by lat,lon.
Example: 52.361,4.8977

limit integer

Maximum number of search results that will be returned.
Value: An integer value between 1 and 100.
Default: 10

status string

The comma-separated status values of charging points to be filtered. Enum:

  • Available
  • Reserved
  • Occupied
  • OutOfService
  • Unknown
connector string

A comma-separated list of connector types which could be used to restrict the result to specific connector types. See the list of Supported Connector Types.
Value: A comma-separated list of connector types (in any order).
Example: IEC62196Type2Outlet,IEC62196Type2CableAttached

accessType string

The comma-separated access types, which could be used to restrict the results to EV POIs with specific access types.
Enum:

  • Public
  • Authorized
  • Restricted
  • Private
  • Unknown
restriction string

The comma-separated restrictions, which could be used to restrict the results to EV POIs with specific restrictions.
Enum:

  • evOnly
  • plugged
  • disabled
  • customers
  • motorcycles
capability string

The comma-separated capabilities, which could be used to restrict the results to EV POIs with specific capabilities.
Enum:

  • ChargingProfileCapable
  • ChargingPreferencesCapable
  • ChipCardSupport
  • ContactlessCardSupport
  • CreditCardPayable
  • DebitCardPayable
  • PedTerminal
  • RemoteStartStopCapable
  • Reservable
  • RfidReader
  • StartSessionConnectorRequired
  • TokenGroupCapable
  • UnlockCapable
  • PlugAndCharge
minPowerKW double

An optional parameter that could be used to restrict the result to charging stations with connectors having a specific minimal value of power in kilowatts (closed interval - with that value). This parameter might be used together with [maxPowerKW].
Value: A double value representing the power rate in kilowatts.
Example: 22.2

maxPowerKW double

An optional parameter that could be used to restrict the result to charging stations with connectors having a specific maximum value of power in kilowatts (closed interval - with that value). This parameter might be used together with [minPowerKW].
Value: A double value representing the power rate in kilowatts.
Example: 43.2

vehicleType string

The comma-separated vehicle types, which could be used to restrict the results to charging stations where specific vehicle types can be charged.
Enum:

  • Car
  • Truck

This parameter might be used together with [vehicleCategory].
Value: The comma-separated list of vehicle types (in any order).
Example: Car,Truck

vehicleCategory string

The comma-separated vehicle categories, which could be used to restrict the results to charging stations where specific categories of vehicles can be charged.
Enum:

  • N1
  • N2
  • N3
  • N3+O4

This parameter might be used together with [vehicleType].
Value: The comma-separated list of vehicle categories (in any order).
Note: Parameter value is expected to be URL Encoded.
Example: N2,N3%2BO4

vehicleHeight double

An optional parameter that could be used to restrict the results to charging stations where vehicles of a height in meters can be charged.
Value: Positive double value representing vehicle height in meters.
Example: 2.6

vehicleWidth double

An optional parameter that could be used to restrict the results to charging stations where vehicles of a width in meters can be charged.
Value: Positive double value representing vehicle width in meters.
Example: 1.8

vehicleLength double

An optional parameter that could be used to restrict the results to charging stations where vehicles of a length in meters can be charged.
Value: Positive double value representing vehicle length in meters.
Example: 16.5

vehicleWeight integer

An optional parameter that could be used to restrict the results to charging stations where vehicles of a weight in kilograms can be charged.
Value: Positive double value representing vehicle weight in kilograms.
Example: 12500

vehicleBrand string

An optional parameter that could be used to restrict the results to charging stations where given vehicle brand is allowed to charge.
Value: Vehicle brand name.
Example: Tesla

view


string

Geopolitical View. The context used to resolve the handling of disputed territories.
Enum: Unified, AR, IL, IN, MA, PK, RS, RU, TR, CN, TW
Default values:

  • Argentina, default view: AR, available views: Unified, IL, IN, MA, PK, RS, RU, TR, CN, TW

  • India, default view: IN, available views: -

  • Morocco, default view: MA, available views: Unified, AR, IL, IN, PK, RS, RU, TR, CN, TW

  • Pakistan, default view: PK, available views: Unified, AR, IL, IN, MA, RS, RU , TR, CN, TW

  • Serbia, default view: RS, available views: Unified, AR, IL, IN, MA, PK, RU, TR, CN, TW

  • Russia, default view: RU, available views: Unified, AR, IL, IN, MA, PK, RS, TR, CN, TW

  • Turkey, default view: TR, available views: Unified, AR, IL, IN, MA, PK, RS, RU, CN, TW

  • China, default view: CN, available views: Unified, AR, IL, IN, MA, PK, RS, RU, TR, TW

  • Taiwan, default view: TW, available views: Unified, AR, IL, IN, MA, PK, RS, RU, TR, CN

  • Others, default view: Unified, available views: AR, IL, IN, MA, PK, RS, RU, TR, CN, TW

nearby string

The comma-separated IDs of nearby Points of Interest (POIs) categories can be used to limit the results of charging stations. Nearby POIs are points of interest within walking distance of the charging stations that users can explore while charging their vehicles.
Enum:

  • 7315 - Restaurant
  • 9932 - Public Amenity
  • 9376 - Café/Pub
  • 7314 - Hotel/Motel
  • 9361 - Shop
  • 9362 - Park Recreation Area

Example: nearby=7315,9362

brand string

The comma separated brand values of EV POI to be filtered. The brand value can be either the brand name or the brand id.
Example: brand=TotalEnergies,ALZFFQCR,Allego

paymentBrand string

Enum:

  • "F2M Charge"
  • "Plugsurfing"
  • "Vattenfall InCharge - Incharge"
  • "Vandebron"
  • "Maserati Charge"
  • "FISKER FLEX"
  • "MyEasyCharge"
  • "Nissan Energy"
  • "Eneco"
  • "eSolutions Charging"
  • "EVBox Charge"
  • "Shell Recharge"
  • "FrCS"

Example: paymentBrand=Plugsurfing,MyEasyCharge


The comma separated payment brands, which could be used to limit the results of the charging stations. The value for payment brand can be either the name or the id of that brand.

Request headers

The following table describes HTTP request headers.

Optional headersDescription
Tracking-ID

Specifies an identifier for the request.

  • It can be used to trace a call.
  • The value must match the regular expression '^[a-zA-Z0-9-]{1,100}$'.
  • An example of the format that matches this regular expression is UUID (e.g., 9ac68072-c7a4-11e8-a8d5-f2801f1b9fd1). For details check RFC 4122.

  • If specified, it is replicated in the Tracking-ID response header.
  • It is only meant to be used for support and does not involve tracking of you or your users in any form.

Value: An identifier for the request.

Accept

Specifies one of the following values as the response format of an API request:

  • application/json Default, if the header is not provided.

  • application/xml
Accept-Language

Should be one of the TomTom supported IETF language tags, case insensitive. When data in the specified language is not available for a specific field or the language is not specified, the NGT (NeutralGroundTruth) of the POI will be used.

JMESPath

This header can be used to execute a JMESPath query on the API response. For more information refer to JMESPath examples.
Default value: If no header is provided, all response fields are included.
Note: The header value has to be URL encoded.
Example: results[*].{id:id,position:position} will only return the id and position fields of the results.

Sorting-Preset

This header is used to pass a sorting preset to the EV Search API.


Preset can be any of the following:

  • Major: Major POIs (criteria like size, speed and popularity -in the future- will be used together with the user preferences)

  • NearBy: NearBy POIs (only beeline distance will be considered together with the user preferences)

  • MajorNearby: Major and NearBy POIs (combination of the first two presets) re-ranked by beeline distance

If no sorting header is specified, a default sorting behavior up to the API's discretion is applied.

Response data

Response body

If the Accept header value is set to application/json, the response will be a JSON object with the following structure:

Json Response body example
1{
2 "summary": {
3 "numResults": 2,
4 "totalResults": 191
5 },
6 "results": [
7 {
8 "id": "939d44d0-cf00-42e9-b9f3-bf4d2de125b5",
9 "name": "TotalEnergies",
10 "position": {
11 "lat": 52.364941,
12 "lon": 4.8935986
13 },
14 "chargingStations": [
15 {
16 "id": "e0bead1c-6884-11ee-9f49-42010aa40fc0",
17 "chargingPoints": [
18 {
19 "capabilities": [
20 "CreditCardPayable",
21 "RemoteStartStopCapable",
22 "RfidReader"
23 ],
24 "connectors": [
25 {
26 "id": "1",
27 "currentA": 25,
28 "currentType": "AC3",
29 "ratedPowerKW": 17.0,
30 "type": "IEC62196Type2Outlet",
31 "voltageV": 230
32 }
33 ],
34 "id": "NL-GFX-ETNLP011512-1",
35 "evseId": "NL-GFX-ETNLP011512-1",
36 "physicalReference": "TNLP011512",
37 "status": "Available"
38 },
39 {
40 "capabilities": [
41 "CreditCardPayable",
42 "RemoteStartStopCapable",
43 "RfidReader"
44 ],
45 "connectors": [
46 {
47 "id": "2",
48 "currentA": 25,
49 "currentType": "AC3",
50 "ratedPowerKW": 17.0,
51 "type": "IEC62196Type2Outlet",
52 "voltageV": 230
53 }
54 ],
55 "evseId": "NL-GFX-ETNLP011512-2",
56 "physicalReference": "TNLP011512",
57 "restrictions": ["customers","evOnly"],
58 "status": "Occupied"
59 }
60 ]
61 }
62 ],
63 "address": {
64 "countryCode": "NL",
65 "countryCodeISO3": "NLD",
66 "country": "Netherlands",
67 "countrySubdivision": "North Holland",
68 "countrySubdivisionName": "North Holland",
69 "countrySubdivisionCode": "NH",
70 "freeformAddress": "Oudezijds Voorburgwal 99F, 1012 EM Amsterdam",
71 "localName": "Amsterdam",
72 "municipality": "Amsterdam",
73 "postalCode": "1012 EM",
74 "streetNumber": "99F",
75 "streetName": "Oudezijds Voorburgwal"
76 },
77 "phone": "+31 20 524 9111",
78 "openingHours": {
79 "mode": "nextSevenDays",
80 "timeRanges": [
81 {
82 "startTime": {
83 "date": "2024-05-02",
84 "hour": 0,
85 "minute": 0
86 },
87 "endTime": {
88 "date": "2024-05-09",
89 "hour": 0,
90 "minute": 0
91 }
92 }
93 ]
94 },
95 "timeZone": {
96 "ianaId": "Europe/Amsterdam"
97 },
98 "brands": [
99 {
100 "id": "TO26JCYC",
101 "name": "TotalEnergies"
102 }
103 ],
104 "paymentOptions": [
105 {
106 "brands": [
107 {
108 "name": "Plugsurfing"
109 },
110 {
111 "name": "Eneco"
112 },
113 {
114 "name": "Vattenfall InCharge - Incharge"
115 },
116 {
117 "name": "EVBox Charge"
118 },
119 {
120 "name": "Shell Recharge"
121 },
122 {
123 "name": "Vandebron"
124 }
125 ]
126 }
127 ],
128 "nearbyPois": [
129 {
130 "categoryId": "7332"
131 },
132 {
133 "categoryId": "9376"
134 }
135 ],
136 "accessType": "Public",
137 "vehicleConstraint": {
138 "types": ["Car", "Truck"],
139 "categories": ["N1", "N2"],
140 "length": 5.0,
141 "height": 2.75,
142 "width": 2.0,
143 "weight": 3500,
144 "brands": [
145 {
146 "name": "Tesla"
147 },
148 {
149 "name": "Rivian"
150 }
151 ]
152 }
153 },
154 {
155 "id": "c31bc9fb-8935-4df5-97c6-51acbaccc601",
156 "name": "EQUANS",
157 "position": {
158 "lat": 52.3653884,
159 "lon": 4.8922383
160 },
161 "chargingStations": [
162 {
163 "id": "67335c40-4e72-11e8-8f53-42010a840002",
164 "chargingPoints": [
165 {
166 "capabilities": [
167 "RemoteStartStopCapable",
168 "RfidReader"
169 ],
170 "connectors": [
171 {
172 "id": "1",
173 "currentA": 16,
174 "currentType": "AC3",
175 "ratedPowerKW": 11.0,
176 "type": "IEC62196Type2Outlet",
177 "voltageV": 230
178 }
179 ],
180 "evseId": "NL-GFX-EEVB-P1552388-1",
181 "physicalReference": "1552388",
182 "status": "Occupied"
183 },
184 {
185 "capabilities": [
186 "RemoteStartStopCapable",
187 "RfidReader"
188 ],
189 "connectors": [
190 {
191 "id": "2",
192 "currentA": 16,
193 "currentType": "AC3",
194 "ratedPowerKW": 11.0,
195 "type": "IEC62196Type2Outlet",
196 "voltageV": 230
197 }
198 ],
199 "evseId": "NL-GFX-EEVB-P1552388-2",
200 "physicalReference": "1552388",
201 "status": "OutOfService"
202 }
203 ]
204 }
205 ],
206 "address": {
207 "countryCode": "NL",
208 "countryCodeISO3": "NLD",
209 "country": "Netherlands",
210 "countrySubdivision": "North Holland",
211 "countrySubdivisionName": "North Holland",
212 "countrySubdivisionCode": "NH",
213 "freeformAddress": "Herengracht 505, 1017 BV Amsterdam",
214 "localName": "Amsterdam",
215 "municipality": "Amsterdam",
216 "postalCode": "1017 BV",
217 "streetNumber": "505",
218 "streetName": "Herengracht"
219 },
220 "openingHours": {
221 "mode": "nextSevenDays",
222 "timeRanges": [
223 {
224 "startTime": {
225 "date": "2024-05-02",
226 "hour": 0,
227 "minute": 0
228 },
229 "endTime": {
230 "date": "2024-05-09",
231 "hour": 0,
232 "minute": 0
233 }
234 }
235 ]
236 },
237 "timeZone": {
238 "ianaId": "Europe/Amsterdam"
239 },
240 "brands": [
241 {
242 "id": "TO26JCYC",
243 "name": "TotalEnergies"
244 }
245 ],
246 "paymentOptions": [
247 {
248 "brands": [
249 {
250 "name": "Plugsurfing"
251 },
252 {
253 "name": "Vattenfall InCharge - Incharge"
254 },
255 {
256 "name": "EVBox Charge"
257 },
258 {
259 "name": "Shell Recharge"
260 },
261 {
262 "name": "Vandebron"
263 }
264 ]
265 }
266 ],
267 "nearbyPois": [
268 {
269 "categoryId": "7332"
270 },
271 {
272 "categoryId": "9376"
273 }
274 ],
275 "accessType": "Public",
276 "vehicleConstraint": {
277 "types": ["Car", "Truck"],
278 "categories": ["N1", "N2", "N3", "N3+O4"],
279 "length": 15.0,
280 "height": 2.75,
281 "width": 2.0,
282 "weight": 13500,
283 "brands": [
284 {
285 "name": "Tesla"
286 },
287 {
288 "name": "Rivian"
289 }
290 ]
291 }
292 }
293 ]
294}

If the Accept header value is set to application/xml, the response will be a XML object with the following structure:

XML Response body example
1<response>
2 <summary>
3 <numResults>2</numResults>
4 <totalResults>191</totalResults>
5 </summary>
6 <results>
7 <item>
8 <id>939d44d0-cf00-42e9-b9f3-bf4d2de125b5</id>
9 <name>TotalEnergies</name>
10 <position>
11 <lat>52.364941</lat>
12 <lon>4.8935986</lon>
13 </position>
14 <address>
15 <countryCode>NL</countryCode>
16 <countryCodeISO3>NLD</countryCodeISO3>
17 <country>Netherlands</country>
18 <countrySubdivision>North Holland</countrySubdivision>
19 <countrySubdivisionName>North Holland</countrySubdivisionName>
20 <countrySubdivisionCode>NH</countrySubdivisionCode>
21 <freeformAddress>Oudezijds Voorburgwal 99F, 1012 EM Amsterdam</freeformAddress>
22 <localName>Amsterdam</localName>
23 <municipality>Amsterdam</municipality>
24 <postalCode>1012 EM</postalCode>
25 <streetNumber>99F</streetNumber>
26 <streetName>Oudezijds Voorburgwal</streetName>
27 </address>
28 <openingHours>
29 <mode>nextSevenDays</mode>
30 <timeRanges>
31 <timeRange>
32 <startTime>
33 <date>2024-05-02</date>
34 <hour>0</hour>
35 <minute>0</minute>
36 </startTime>
37 <endTime>
38 <date>2024-05-09</date>
39 <hour>0</hour>
40 <minute>0</minute>
41 </endTime>
42 </timeRange>
43 </timeRanges>
44 </openingHours>
45 <timeZone>
46 <ianaId>Europe/Amsterdam</ianaId>
47 </timeZone>
48 <accessType>Public</accessType>
49 <chargingStations>
50 <chargingStation>
51 <id>e0bead1c-6884-11ee-9f49-42010aa40fc0</id>
52 <chargingPoints>
53 <chargingPoint>
54 <evseId>NL-GFX-ETNLP011512-1</evseId>
55 <physicalReference>TNLP011512</physicalReference>
56 <status>Available</status>
57 <capabilities>
58 <capability>CreditCardPayable</capability>
59 <capability>RemoteStartStopCapable</capability>
60 <capability>RfidReader</capability>
61 </capabilities>
62 <connectors>
63 <connector>
64 <id>1</id>
65 <currentA>25</currentA>
66 <currentType>AC3</currentType>
67 <ratedPowerKW>17.0</ratedPowerKW>
68 <type>IEC62196Type2Outlet</type>
69 <voltageV>230</voltageV>
70 </connector>
71 </connectors>
72 </chargingPoint>
73 <chargingPoint>
74 <evseId>NL-GFX-ETNLP011512-2</evseId>
75 <physicalReference>TNLP011512</physicalReference>
76 <status>Occupied</status>
77 <capabilities>
78 <capability>CreditCardPayable</capability>
79 <capability>RemoteStartStopCapable</capability>
80 <capability>RfidReader</capability>
81 </capabilities>
82 <connectors>
83 <connector>
84 <id>2</id>
85 <currentA>25</currentA>
86 <currentType>AC3</currentType>
87 <ratedPowerKW>17.0</ratedPowerKW>
88 <type>IEC62196Type2Outlet</type>
89 <voltageV>230</voltageV>
90 </connector>
91 </connectors>
92 </chargingPoint>
93 </chargingPoints>
94 </chargingStation>
95 </chargingStations>
96 <brands>
97 <brand>
98 <id>TO26JCYC</id>
99 <name>TotalEnergies</name>
100 </brand>
101 </brands>
102 <paymentOptions>
103 <paymentOption>
104 <brands>
105 <brand>
106 <name>Plugsurfing</name>
107 </brand>
108 <brand>
109 <name>Eneco</name>
110 </brand>
111 <brand>
112 <name>Vattenfall InCharge - Incharge</name>
113 </brand>
114 <brand>
115 <name>EVBox Charge</name>
116 </brand>
117 <brand>
118 <name>Shell Recharge</name>
119 </brand>
120 <brand>
121 <name>Vandebron</name>
122 </brand>
123 </brands>
124 </paymentOption>
125 </paymentOptions>
126 <nearbyPois>
127 <nearbyPoi>
128 <categoryId>7332</categoryId>
129 </nearbyPoi>
130 <nearbyPoi>
131 <categoryId>9376</categoryId>
132 </nearbyPoi>
133 </nearbyPois>
134 <vehicleConstraint>
135 <types>
136 <type>Car</type>
137 <type>Truck</type>
138 </types>
139 <categories>
140 <category>N1</category>
141 <category>N2</category>
142 </categories>
143 <height>2.75</height>
144 <width>2.5</width>
145 <length>5.0</length>
146 <weight>3500</weight>
147 <brands>
148 <brand>
149 <name>Tesla</name>
150 </brand>
151 <brand>
152 <name>Rivian</name>
153 </brand>
154 </brands>
155 </vehicleConstraint>
156 </item>
157 <item>
158 <id>c31bc9fb-8935-4df5-97c6-51acbaccc601</id>
159 <name>EQUANS</name>
160 <position>
161 <lat>52.3653884</lat>
162 <lon>4.8922383</lon>
163 </position>
164 <address>
165 <countryCode>NL</countryCode>
166 <countryCodeISO3>NLD</countryCodeISO3>
167 <country>Netherlands</country>
168 <countrySubdivision>North Holland</countrySubdivision>
169 <countrySubdivisionName>North Holland</countrySubdivisionName>
170 <countrySubdivisionCode>NH</countrySubdivisionCode>
171 <freeformAddress>Herengracht 505, 1017 BV Amsterdam</freeformAddress>
172 <localName>Amsterdam</localName>
173 <municipality>Amsterdam</municipality>
174 <postalCode>1017 BV</postalCode>
175 <streetNumber>505</streetNumber>
176 <streetName>Herengracht</streetName>
177 </address>
178 <openingHours>
179 <mode>nextSevenDays</mode>
180 <timeRanges>
181 <timeRange>
182 <startTime>
183 <date>2024-05-02</date>
184 <hour>0</hour>
185 <minute>0</minute>
186 </startTime>
187 <endTime>
188 <date>2024-05-09</date>
189 <hour>0</hour>
190 <minute>0</minute>
191 </endTime>
192 </timeRange>
193 </timeRanges>
194 </openingHours>
195 <timeZone>
196 <ianaId>Europe/Amsterdam</ianaId>
197 </timeZone>
198 <accessType>Public</accessType>
199 <chargingStations>
200 <chargingStation>
201 <id>67335c40-4e72-11e8-8f53-42010a840002</id>
202 <chargingPoints>
203 <chargingPoint>
204 <evseId>NL-GFX-EEVB-P1552388-1</evseId>
205 <physicalReference>1552388</physicalReference>
206 <status>Occupied</status>
207 <capabilities>
208 <capability>RemoteStartStopCapable</capability>
209 <capability>RfidReader</capability>
210 </capabilities>
211 <connectors>
212 <connector>
213 <id>1</id>
214 <currentA>16</currentA>
215 <currentType>AC3</currentType>
216 <ratedPowerKW>11.0</ratedPowerKW>
217 <type>IEC62196Type2Outlet</type>
218 <voltageV>230</voltageV>
219 </connector>
220 </connectors>
221 </chargingPoint>
222 <chargingPoint>
223 <evseId>NL-GFX-EEVB-P1552388-2</evseId>
224 <physicalReference>1552388</physicalReference>
225 <status>OutOfService</status>
226 <capabilities>
227 <capability>RemoteStartStopCapable</capability>
228 <capability>RfidReader</capability>
229 </capabilities>
230 <connectors>
231 <connector>
232 <id>2</id>
233 <currentA>16</currentA>
234 <currentType>AC3</currentType>
235 <ratedPowerKW>11.0</ratedPowerKW>
236 <type>IEC62196Type2Outlet</type>
237 <voltageV>230</voltageV>
238 </connector>
239 </connectors>
240 </chargingPoint>
241 </chargingPoints>
242 </chargingStation>
243 </chargingStations>
244 <brands>
245 <brand>
246 <id>TO26JCYC</id>
247 <name>TotalEnergies</name>
248 </brand>
249 </brands>
250 <paymentOptions>
251 <paymentOption>
252 <brands>
253 <brand>
254 <name>Plugsurfing</name>
255 </brand>
256 <brand>
257 <name>Vattenfall InCharge - Incharge</name>
258 </brand>
259 <brand>
260 <name>EVBox Charge</name>
261 </brand>
262 <brand>
263 <name>Shell Recharge</name>
264 </brand>
265 <brand>
266 <name>Vandebron</name>
267 </brand>
268 </brands>
269 </paymentOption>
270 </paymentOptions>
271 <nearbyPois>
272 <nearbyPoi>
273 <categoryId>7332</categoryId>
274 </nearbyPoi>
275 <nearbyPoi>
276 <categoryId>9376</categoryId>
277 </nearbyPoi>
278 </nearbyPois>
279 <vehicleConstraint>
280 <types>
281 <type>Car</type>
282 <type>Truck</type>
283 </types>
284 <categories>
285 <category>N1</category>
286 <category>N2</category>
287 <category>N3</category>
288 <category>N3+O4</category>
289 </categories>
290 <height>2.75</height>
291 <width>2.5</width>
292 <length>15.0</length>
293 <weight>13500</weight>
294 <brands>
295 <brand>
296 <name>Tesla</name>
297 </brand>
298 <brand>
299 <name>Rivian</name>
300 </brand>
301 </brands>
302 </vehicleConstraint>
303 </item>
304 </results>
305</response>

Response fields

The following table describes all the fields that can appear in a response. Fields are listed by the response section they belong to and in the order that they appear in the response.

Primary fields
FieldDescription
summary objectSummary information about the search that was performed.
results arrayArray of result objects.
summary object
FieldDescription
numResults integer

Number of results in the response.

totalResults integer

Total number of results found.

results array
FieldDescription
id stringEV POI Id.
name stringName of the POI.
position objectPosition of the EV POI.
chargingStations arrayArray of chargingStation objects.
address objectStructured address for the result.
phone stringPhone number of the POI.
openingHours objectOpening hours for the POI.
timeZone objectTime zone for the POI.
brands arrayArray of brand objects.
Brands available at the POI.
paymentOptions arrayArray of paymentOption objects.
nearbyPois array

Array of nearbyPoi.
Nearby POIs are points of interest within walking distance of the charging stations that users can explore while charging their vehicles.

accessType string

Access type of the EV POI station.
Enum:

  • Public: No restriction, POI is open for public use.

  • Authorized: Restriction applies, often requires a permit or registration, i.e., EmployeesOnly.

  • Restricted: Restricted POIs are public locations with the intention to be used by a certain member of the public, i.e., ResidentsOnly.

  • Private: Private POIs are locations that are not open to the public.

vehicleConstraint objectVehicle constraint of the EV POI.
position
FieldDescription
lat doubleLatitude of the result.
lon doubleLongitude of the result.
chargingStation
FieldDescription
id stringCharging station Id.
chargingPoints objectArray of chargingPoint objects.
chargingPoints
FieldDescription
capabilities string (list)

List of capabilities.
Enum:

  • ChargingProfileCapable: The charging point supports charging profiles.
  • ChargingPreferencesCapable: The charging point supports charging preferences.
  • ChipCardSupport: The charging point has a payment terminal that supports chip cards.
  • ContactlessCardSupport: The charging point has a payment terminal that supports contactless cards.
  • CreditCardPayable: The charging point has a payment terminal that supports credit cards.
  • DebitCardPayable: The charging point has a payment terminal that supports debit cards.
  • PedTerminal: The charging point has a payment terminal with a pin-code entry device.
  • RemoteStartStopCapable: The charging point supports remote start and stop functionality.
  • Reservable: The charging point can be reserved.
  • RfidReader: Charging at this point can be authorized with an RFID token.
  • StartSessionConnectorRequired: When a StartSession is sent to the charging point, the MSP must add the optional connector id field in the StartSession object.

  • TokenGroupCapable: The charging point supports token groups. Two or more tokens work as one so that a session can be started with one token and stopped with another (handy when a card and key-fob are given to the EV-driver).

  • UnlockCapable: The connectors of the charging point have a mechanical lock that the eMSP can request to be unlocked.

  • PlugAndCharge: The charging point is compliant with ISO-15118 Plug and Charge functionality.
connectors arrayArray of connector objects.
id stringCharging point Id.
evseId string

The EVSE ID is a unique alphanumeric code assigned to each individual charging point (or connector) within a station or network. It's essential for identifying specific chargers in public or roaming charging systems, enabling apps and providers to locate, authenticate, and bill for sessions accurately.

physicalReference string

Physical identification of the charging station printed on the station and visible to the driver. One of the parameters that can be used for booking or charging purposes to locate the physical station. No standard format is available.

restrictions string (list)

List of parking restrictions.
Enum:

  • evOnly: Reserved parking spot for electric vehicles.
  • plugged: Parking is only allowed while plugged in (charging).
  • disabled: Reserved parking spot for disabled people with a valid ID.
  • customers: Parking spot for customers/guests only, for example in case of a hotel or shop.
  • motorcycles: Parking spot only suitable for (electric) motorcycles or scooters.
status string

Dynamic availability status of charging point.
Enum:

  • Available
  • Reserved
  • Occupied
  • OutOfService
  • Unknown
connector
FieldDescription
id stringId of the connector.
currentA integerAmperage in amperes[A].
currentType string

The current type of the connector.
Enum:

  • AC1
  • AC3
  • DC
ratedPowerKW doubleRated charging power in kilowatts[KW].
type string

The connector type which is one of the supported types.

voltageV integerVoltage in volts[V].
address object
FieldDescription
countryCode stringThe two-letter code of the country.
countryCodeISO3 stringISO alpha-3 country code.
country stringThe country name.
countrySubdivision string

State or Province. For regions like USA, CAN, & GB, this will be the province code, and for the rest the subdivision name.

countrySecondary Subdivision stringCountry.
countryTertiary Subdivision stringNamed area.
countrySubdivisionName stringState or Province name.
countrySubdivisionCode stringState or Province code. Only for regions like USA, CAN, GB.
countrySubdivisionName string

The full name of the first level of a country's administrative hierarchy.

  • This field appears only in case countrySubdivision is presented in an abbreviated form.
  • Supported only for USA, Canada, and Great Britain.
freeformAddress stringAn address line formatted according to the formatting rules of the result's country of origin.
localName string

An address component which represents the name of a geographic area or locality that groups a number of addressable objects for addressing purposes, without being an administrative unit.

municipality stringCity / Town.
municipality Subdivision stringSub / Super City.
postalCode stringPostal code / Zip code.
extendedPostalCode stringExtended postal code (availability dependent on region).
streetNumber stringThe building number on the street.
streetName stringThe street name.
openingHours object
FieldDescription
mode string

Requested mode for opening hours.
Value: nextSevenDays

timeRanges arrayList of time ranges for the next 7 days. Array of timeRange.
timeRanges array
FieldDescription
startTime objectStart of the timeRange in the form of dateHourMinute.
endTime objectEnd of the timeRange in the form of dateHourMinute.
dateHourMinute object
FieldDescription
date string

The date in the calendar year in the local time zone.

hour integerPossible values: 0 - 23
minute integerPossible values: 0 - 59
timeZone
FieldDescription
ianaId stringID from the IANA Time Zone Database.
brand
FieldDescription
id stringBrand Id.
name stringBrand name.
paymentOption
FieldDescription
'method' string

Payment method.
Enum:

  • subscription
brands arrayArray of payment option brand objects.
payment option brand
FieldDescription
id stringUnique identifier of the payment option.
name stringName of the payment option.
restricted booleanIndicates if payment option is restricted to the current request.
nearbyPoi
FieldDescription
categoryId integer

Category Id of the nearby POI.
Enum:

  • 7315 - Restaurant
  • 9932 - Public Amenity
  • 9376 - Café/Pub
  • 7314 - Hotel/Motel
  • 9361 - Shop
  • 9362 - Park Recreation Area
vehicleConstraint
FieldDescription
types string (list)

Vehicle types constraint of the result.
Enum:

  • Car
  • Truck
categories string (list)

Vehicle categories constraint of the result.
Enum:

  • N1
  • N2
  • N3
  • N3+O4
length doubleVehicle length —in meters— constraint of the result.
height doubleVehicle height —in meters— constraint of the result.
width doubleVehicle width —in meters— constraint of the result.
weight integerVehicle weight —in kg— constraint of the result.
brands objectArray of vehicleBrand objects.
vehicle brand
FieldDescription
name stringVehicle brand name.

Response codes

CodeMeaning & possible causes
200

OK: If any matching charging station was found, the body of the response will contain the data. Otherwise, an empty response will be returned:

Empty response example - JSON
1{
2 "summary": {
3 "numResults": 0,
4 "totalResults": 0
5}}
400

Bad request: One or more parameters were incorrectly specified or are out of range.

403

Forbidden: Possible causes include:

  • Forbidden
  • Not authorized
  • Account inactive
  • Account over queries per second limit
  • Rate limit exceeded
404

Not Found: The requested resource could not be found, the HTTP request method or path is incorrect.

405

Method Not Allowed : The client used an HTTP method other than GET.

406

Media Type Not Acceptable

414

The requested URI is too long

429

Too Many Requests: The API Key is over QPS (Queries per second).

5xx

Server Error: The service was unable to process your request. Contact support to resolve the issue.

Response headers

The following table lists HTTP response headers.

HeaderDescription
Access-Control-Allow-Origin

The EV Search service allows cross-origin resource sharing. Value: * This asterisk signifies access to the TomTom API using the Access-Control-Allow-Origin (ACAO) header in its response, indicating which origin sites are allowed.

Content-Encoding

The EV Search service supports HTTP compression if requested by the client. Value: gzip

Cache-Control

The Cache-Control general-header field is used to specify directives that must be obeyed by all caching mechanisms along the request/response chain.

  • Supported by HTTP/1.1 clients.
  • May not be supported by HTTP/1.0 clients.

Value: no-cache

Content-Type

Indicates the format of the response as chosen by the client. Format: type/subtype; charset=utf-8 Value: type/subtype: application/json

Tracking-ID

An identifier for the request. If the Tracking-ID header was specified, it is replicated in the response. Otherwise, it is generated automatically by the service. It is only meant to be used for support and does not involve tracking of you or your users in any form. Value: An identifier for the request.

Error response

The error response content type depends on the Accept header.

Error response example - JSON
1{
2 "message": "Missing parameter 'parameterName'",
3 "detailedError": {
4 "code": "MissingParameter",
5 "message": "Missing required parameter 'parameterName'."
6 },
7 "httpStatusCode": "400"
8}
Error response example - XML
1<ErrorEvResponse>
2 <message>Missing parameter 'parameterName'</message>
3 <detailedError>
4 <code>MissingParameter</code>
5 <message>Missing required parameter 'parameterName'.</message>
6 </detailedError>
7</ErrorEvResponse>

Error response fields

Primary fieldsDescription
message stringA human-readable description of the error.
detailedError object

Detailed information about the error. detailedError object

detailedError object
FieldDescription
code stringOne of a server-defined set of error codes.
message string

A human-readable description of the error code. It is intended as an aid to developers and is not suitable for exposure to end users.