Displaying Prices on your Pylon
About
On this page we are outlining how you integrate with Monta to display prices of your charge points, ie on your site on a pylon.
Example
- You want to display your prices on a pylon at your site (ie. a gas station with EV charging)
- You have two different kind of chargers available there, each with different pricing (ie. DC400 vs DC150)
Pre-requisites
Required Scopes
Depending on the level of integration you are going to need access to these scopes:
| Scope | Description | Required |
|---|---|---|
charge-points:read | Gives you read-access to all charge points within your operator. You can use this to query for charge points or sites and their states. | ✅ |
prices-forecast:read | This gives you access to read price forecasts | ✅ |
Read more about Scopes here: Scopes
Step 1: Retrieve relevant charge point(s)
You can utilize the GET /charge-points or GET /sites APIs to retrieve your charge points. This is recommended when you start your API integration.
Get charge points for your site
- Call
GET /charge-pointswith siteId query param to retrieve all chargers on that site (api reference) - Utilize the
maxKwin the response to figure out 2 different charge point ids (we need them for next step), ie:- Charge Point 1, ID: 42, maxKw: 400, type: dc
- Charge Point 2, ID: 99, maxKw: 150, type: dc
This assumes that you have the same prices set up for charge points sharing some criteria, such as
maxKw.
Get price forecasts for these two charge point samples
- Call
GET /prices/forecastusing thechargePointIdquery filter, for each of the relevant charge point ids - 42 and 99 in our example (api reference) - This will return you a hourly forecast of the price for the next 24 hours - especially useful when you have prices that change based on time of the day or energy market prices.
- Based on time of day, use the forecasts entry
pricePerKwh(orname) for your display purposes.
Example Output:
{
"operator": {
"id": 14,
"name": "Monta",
"identifier": "monta",
"partnerId": 1,
"vatNumber": "FOO-123-ABC"
},
"currency": {
"identifier": "dkk",
"name": "Danish krone",
"decimals": 2
},
"priceGroup": {
// ...
},
"forecasts": [
{
"time": "2025-10-22T13:00:00Z",
"pricePerKwh": 5978,
"name": "0.60 DKK/kWh"
},
{
"time": "2025-10-22T14:00:00Z",
"pricePerKwh": 3921,
"name": "0.39 DKK/kWh"
},
// ...
{
"time": "2025-10-22T22:00:00Z",
"pricePerKwh": 2100,
"name": "0.21 DKK/kWh"
},
{
"time": "2025-10-22T23:00:00Z",
"pricePerKwh": 2040,
"name": "0.20 DKK/kWh"
}
]
}
Implementation Notes
- Charge Points rarely change - store the relevant charge point ids for your site in cache or local database
- The price forecasts are valid for up to 24 hours. It is good practice to cache the results and only retrieve them every x hours (ie. 24) or when you run out of forecast entries to display.
- Very often you are only displaying 1-2 prices on a site (ie. on a pylon). There is no need to fetch forecasts for all charge points on that site, just use relevant samples (as we did in this guide).
Updated 1 day ago
What’s Next