OPEN DATA · API v1

Fines Charging Public API

Build maps, route planners, availability views, and EV tools with public location metadata and live connector status from the Fines Charging network.

GET /v1/locations.geojson
GET /v1/live/:location_id.json
MCP /mcp
# https://public.finescharging.com
200No authentication
{ }GeoJSON + JSON + MCP
30sLive checks every 30 seconds

Two endpoints, one simple flow

Load the locations collection to draw the network and discover location IDs. Request live data only for the locations currently needed by your product.

Network catalogue

All public locations

https://public.finescharging.com/v1/locations.geojson

A GeoJSON FeatureCollection containing coordinates, access restrictions, connector counts by plug type, maximum power, and the current price range.

Checked every 30 seconds · cache for up to 5 minutes
Live availability

One location's connectors

https://public.finescharging.com/v1/live/:location_id.json

Current status and availability for every active connector at a location. Replace :location_id with the numeric ID from the GeoJSON feature.

Checked every 30 seconds · cache for up to 30 seconds

Response specification

Both endpoints use schema_version 1. Clients should ignore unknown fields so the API can grow compatibly. All timestamps are ISO 8601 UTC strings.

v1/locations.geojson

Field Type Meaning
type string Always FeatureCollection.
schema_version integer Current contract version; currently 1.
generated_at string When this object version was generated.
features array The currently published charging locations.
features[].id integer Stable numeric location ID; use it in the live endpoint.
features[].geometry GeoJSON Point GeoJSON Point coordinates in [longitude, latitude] order.
features[].properties.name / address string / null Human-readable location name and optional address.
features[].properties.restricted boolean True when access is restricted or conditional.
features[].properties.connectors object<string, integer> Object keyed by plug type, with the number of connectors of each type.
features[].properties.max_power_kw number / null Highest advertised connector power at the location, in kW.
features[].properties.price_range object / null Minimum and maximum connector price in EUR/kWh, or null when unavailable.

v1/live/:location_id.json

Field Type Meaning
schema_version integer Current contract version; currently 1.
generated_at string When this object version was generated.
location_id integer Numeric ID of the requested location.
status_updated_at string Most recent source update across the included stations and connectors.
connectors array Array of active connector records.
connectors[].id / station_id / connector_id string / integer Stable composite ID plus station ID and connector number.
connectors[].station_name / name / plug_type string / null Station, connector name, and plug-type labels.
connectors[].max_power_kw number / null Advertised connector power in kW.
connectors[].status string Raw charger status such as Available or Charging; treat it as an open string enum.
connectors[].available boolean Authoritative boolean for whether the connector is currently available.
connectors[].status_updated_at string Timestamp of the connector's latest source update.

Freshness and consumer guidance

  • Use the available boolean for UI and routing decisions; keep status for display and diagnostics.
  • Do not request live status more often than every 30 seconds. Honor Cache-Control, ETag, and Last-Modified headers.
  • Keep the last valid response during temporary network errors and show its timestamp when freshness matters.
  • A restricted location remains in the catalogue; present the restriction to users instead of silently treating it as unrestricted.
  • CORS is enabled for public browser reads. No API key or user account is required.

Quick start

Fetch all locations
curl https://public.finescharging.com/v1/locations.geojson
Fetch one location's live connectors
curl https://public.finescharging.com/v1/live/885.json
Browser JavaScript
const base = 'https://public.finescharging.com';
const map = await fetch(`${base}/v1/locations.geojson`)
  .then(response => response.json());

const locationId = map.features[0].id;
const live = await fetch(`${base}/v1/live/${locationId}.json`)
  .then(response => response.json());
DIRECT AI CONNECTION

Connect ChatGPT or Claude with MCP

The public MCP server gives AI assistants two focused tools for searching Fines Charging locations and checking live connector status. You can ask normal questions while the assistant performs the searches and availability checks.

Remote MCP server

Fines Charging MCP endpoint

https://mcp.finescharging.com/mcp

Use this URL in any client that supports remote MCP over Streamable HTTP. The server is public, requires no credentials, and exposes read-only data only.

No authentication · Read-only · Public data
MCP tool

find_locations

Search by name, address, coordinates, radius, plug type, minimum power, and access restriction. Results include location IDs, connector counts, power, prices, and distance when coordinates are supplied.

MCP tool

get_location_status

Check up to 20 known location IDs in one call. Results include current connector status, authoritative availability, power, plug type, and data timestamps.

Connect it to your AI assistant

Add the endpoint once, then ask normal questions. The connector cannot reserve a charger, start a session, or change your account.

Connect in ChatGPT
  1. Open Settings → Security and login and enable Developer mode.
  2. Open ChatGPT Plugins and select the plus button to add a connection.
  3. Enter Fines Charging as the name and https://mcp.finescharging.com/mcp as the MCP server URL. No authentication is required.
  4. Start a new chat and ask ChatGPT to use the Fines Charging connection.

Adding a custom MCP server currently uses ChatGPT Developer mode. If your account or workspace does not expose it, use the downloadable skill below while the public plugin listing is prepared.

Connect in Claude
  1. Open Customize → Connectors in Claude.
  2. Select +, then Add custom connector.
  3. Enter Fines Charging and https://mcp.finescharging.com/mcp. Leave OAuth settings empty.
  4. Enable the connector, start a new conversation, and ask Claude to use it.

Custom remote connectors are available on Claude plans; Free accounts are limited to one. A Team or Enterprise Owner must first add the connector for the organization.

Try a natural request

After connecting the MCP server, ask:

Find unrestricted Fines Charging locations near central Sofia with CCS connectors. Check the live status of the three closest locations and include connector power, price, and data timestamps.
FOR AI AGENTS

Give your agent the API skill

Install a compact, read-only skill that teaches ChatGPT or Claude how to find Fines Charging locations and retrieve current connector availability.

The ZIP is ready for skill upload. The Markdown file is also available for agents that accept SKILL.md directly.

Use it in everyday AI conversations

Install it once, then ask normal questions about nearby chargers, plug types, prices, restrictions, or live availability. The agent reads only the public API and cannot start or stop charging sessions.

Install in ChatGPT
  1. Download the Fines Charging skill ZIP from this page.
  2. In ChatGPT, open Plugins → Skills and choose the option to install or upload a personal skill.
  3. Select the downloaded ZIP and use a chat where web access is available.
  4. Ask naturally, or invoke it explicitly with @fines-charging-public-api.

The Skills menu depends on your ChatGPT account and workspace settings.

Official installation guide ↗
Install in Claude
  1. In Settings → Capabilities, enable Code execution and file creation.
  2. Open Customize → Skills, select +, then + Create skill.
  3. Choose Upload a skill, select the downloaded ZIP, and enable it.
  4. Start a conversation and ask Claude to use the Fines Charging Public API skill.

Claude Skills require Code execution and file creation to be enabled. Enable Web Search when retrieving current API data.

Official installation guide ↗

Example conversation

After installation, try:

Use the Fines Charging Public API skill. Find charging locations near Sofia with CCS connectors, then check the live availability of the three closest locations. Include the data timestamps.

Questions or production use?

The API is read-only and provided for public integrations. For questions, corrections, or higher-volume use, contact support@finescharging.com.

Our partners