Pulling charger data from NOBIL

NOBIL’s API provides data about public EV charging stations and charging points, primarily in Norway — available since October 2025. This is a great example of a public service.

The available station data includes:

  • Station and charging-point IDs
  • Name, address, municipality and country
  • Latitude/longitude coordinates
  • Operator and service-provider information
  • Accessibility and opening hours
  • Public/private access details
  • Vehicle types supported
  • Connector type—for example CCS, CHAdeMO, Type 2
  • Number of connectors
  • Charging capacity and power in kW
  • Payment and access information
  • Station descriptions, contact details and images
  • Update or modification timestamps
  • Real-time EVSE status where an operator supplies it

The real-time status values include AVAILABLE, CHARGING, BLOCKED, OUTOFORDER, RESERVED, INOPERATIVE, PLANNED, REMOVED, and UNKNOWN. Real-time data is supplied only for operators with an appropriate OCPI connection to NOBIL.

You need to register for an API key before using the conventional API. The data is made available under a Creative Commons Attribution 4.0 licence, subject to NOBIL’s usage terms.

How often can you pull it?

The public API page and the currently indexed documentation do not state a fixed request limit such as “one request per minute” or “1,000 requests per day.” Therefore, you should not assume unlimited polling. Use caching, avoid repeatedly downloading the complete database, and ask NOBIL for the permitted rate if you need high-frequency or commercial polling.

For normal station metadata, a sensible implementation would be:

Initial full import: once
Regular metadata refresh: every 15–60 minutes
Routine background synchronization: every few hours if minute-level changes are not important
Real-time availability: use NOBIL’s real-time WebSocket service instead of repeatedly polling the normal API

NOBIL’s real-time service returns updates through a WebSocket stream, so you receive changes rather than continually requesting the full dataset. You subscribe to the real-time product, obtain a connection URL using an API key, and then connect using WebSockets.

In practical terms: use the standard API for station details and configuration, and use the real-time stream for charger availability. Store the last response locally and only refresh data when necessary. Since NOBIL does not provide historical status data through the API, you would need to store successive real-time updates yourself if you want historical availability.

Keep up working for the greater good.