Queries OpenStreetMap for charging stations within a radius of a point and returns each wi
Queries OpenStreetMap for charging stations within a radius of a point and returns each with its position, distance, operator, network, connector types with their individual power ratings and socket counts, access restrictions, fee status, opening hours and whether authentication is required. Results are sorted nearest first and can be filtered to a minimum power or a required connector type, which is the question a vehicle actually has.
5000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-06
updated
Provider
karte.halowerk.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "5000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"lat": 52.52,
"limit": 60,
"lon": 13.405,
"radius_km": 5
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"connector": {
"description": "Only stations offering this connector.",
"enum": [
"type2",
"type2_combo",
"type2_cable",
"chademo",
"tesla_supercharger",
"tesla_destination",
"ccs",
"type1",
"schuko",
"cee_blue",
"cee_red"
],
"type": "string"
},
"lat": {
"maximum": 90,
"minimum": -90,
"type": "number"
},
"limit": {
"default": 60,
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"lon": {
"maximum": 180,
"minimum": -180,
"type": "number"
},
"min_power_kw": {
"description": "Only stations with at least this rating on any connector.",
"maximum": 400,
"minimum": 0,
"type": "number"
},
"radius_km": {
"default": 5,
"maximum": 50,
"minimum": 0.1,
"type": "number"
}
},
"required": [
"lat",
"lon"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://karte.halowerk.com/v1/ev-charging" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://karte.halowerk.com/v1/ev-charging");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://karte.halowerk.com/v1/ev-charging")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/15406.json, and this resource appears in /discovery/resources and /discovery/search.