OCPI open data
Our charging locations and tariffs are published over OCPI 2.2.1 and are open to everyone. No token, no registration, no agreement needed.
What is open
Two modules are public and read-only: Locations and Tariffs.
GET https://my.voltspot.net/ocpi/cpo/2.2.1/versions
GET https://my.voltspot.net/ocpi/cpo/2.2.1
GET https://my.voltspot.net/ocpi/cpo/2.2.1/locations
GET https://my.voltspot.net/ocpi/cpo/2.2.1/tariffs
{
"data": [ ... ],
"status_code": 1000,
"status_message": "Success",
"timestamp": "2026-09-20T11:37:21.167090Z"
}
What is not
Sessions, CDRs and Credentials answer 401. Those belong to roaming partners with a signed agreement; write to us if you need them.
Prices and VAT
This is the question we are asked most often. The price in a tariff component is the amount WITHOUT VAT, and the vat field is the percentage to add. Multiply to get the price a driver pays.
"price_components": [
{ "type": "ENERGY", "price": 0.2917, "vat": 20.0, "step_size": 1 }
]
0.2917 x (1 + 20/100) = 0.35 EUR/kWh
Example: EURO1 publishes price 0.2917 with vat 20 — the driver pays 0.35 EUR/kWh. Kazakh tariffs carry vat 16, not 20.
Identifiers
Our party is BG / SPT. One EVSE is one connector, and uid equals evse_id, so the same string identifies it everywhere. A connector points at its tariff through tariff_ids.
"uid": "BG*SPT*E98*1"
"evse_id": "BG*SPT*E98*1"
"connectors": [ { "id": "1", "tariff_ids": ["EURO1"] } ]
Terms of use
Use the data in any application, free or paid, including subscription products. We ask no fee and require no permission.
We do ask — but do not require — that you name the source: charging station data by Voltspot, my.voltspot.net.
Polling
There is no rate limit today. Locations change rarely and tariffs even more rarely, so once every few minutes is plenty. If polling ever starts to hurt the service we will introduce limits and say so on this page first.
Contact
Questions, errors in the data, or a request for the closed modules: bg@voltspot.net