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 10 months ago
What’s Next
Did this page help you?