// PUBLIC API v1

Build with
EV Intelligence

AI predictions, desert mapping, government intelligence and business analytics across 106 countries — UK, US, Europe, Africa, Middle East & Asia. 46 endpoints, one API.

✓ 5,000+ data points
✓ 46 endpoints
✓ 106 countries
✓ Gov & business data
✓ Free to start

Get your free API key

100 calls/day free forever. No credit card required.

Click to copy · Keep this safe ·
106
COUNTRIES
7
COUNTRIES
83%+
AI ACCURACY
5
API ENDPOINTS
99.9%
UPTIME
// PRICING TIERS
FREE
£0 /month
100 calls/day
  • 5 core endpoints only
  • Predict availability
  • Journey cost calculator
  • Carbon savings
  • Charger reviews
  • Desert zone data
  • UK, US & Europe
  • Community support
  • No credit card needed
GET FREE KEY
BUSINESS
£199 /month
100,000 calls/day
  • Everything in Developer
  • + 15 business endpoints
  • Site suitability scoring
  • Competitor charger audit
  • Fleet depot optimisation
  • Property EV score + embed
  • Retail revenue opportunity
  • Investment priority reports
  • Charger density by region
  • Planning application support
  • Net zero progress tracker
  • Rural vs urban disparity
  • Bulk data export (CSV)
  • Priority support + SLA
ENTERPRISE
£999 /month
Unlimited calls
  • All 46 endpoints
  • Everything in Business
  • Custom model training
  • White-label option
  • Custom data exports
  • Dedicated account manager
  • G-Cloud compatible
  • Crown Commercial Service
  • 99.9% uptime SLA
  • On-premise option
CONTACT US
GET /api/v1/gov/ev-readiness EV infrastructure readiness score by country DEVELOPER+

Score any country on EV readiness across renewable energy, policy strength, grid reliability and import tariffs. Ideal for government investment decisions and market entry analysis.

countrystringISO country code (KE, ET, ZA, AE, IN, UK, US...)
{
  "country": "KE",
  "country_name": "Kenya",
  "readiness_score": 74.1,
  "tier": "HIGH",
  "components": {
    "renewable_energy_pct": 90,
    "policy_score": 72,
    "grid_reliability": 58,
    "import_tariff_pct": 25
  },
  "highlight": "90% renewable grid — strongest EV foundation in Africa",
  "opportunities": ["90% renewable energy = truly green EVs", "Strong government EV policy framework"],
  "barriers": ["High EV import tariff (25%)"]
}
GET /api/v1/gov/corridor-mapping Highway corridor charging gap analysis DEVELOPER+

Map key intercity highway corridors and identify critical charging gaps. Includes chargers existing vs needed, gap score and key stops. Essential for national infrastructure planning.

countrystringISO country code (KE, ET, ZA, AE, UK...)
corridorstringOptional — filter by corridor name (e.g. "Mombasa")
{
  "country": "KE",
  "corridors": [{
    "name": "Nairobi → Mombasa",
    "distance_km": 480,
    "chargers_existing": 4,
    "chargers_needed": 12,
    "gap_score": 94,
    "key_stops": ["Nairobi","Machakos","Mtito Andei","Voi","Mombasa"],
    "notes": "Primary trade corridor. 476km unserviced."
  }],
  "summary": {
    "charger_deficit": 24,
    "most_critical_corridor": "Nairobi → Mombasa"
  }
}
GET /api/v1/gov/funding-roi Investment impact calculator for funding bids BUSINESS+

Given a budget, returns projected chargers deployable, coverage area, carbon saved, jobs created and payback period. Built for World Bank, AfDB and government funding bid justifications.

budget_usdnumberTotal investment in USD
countrystringISO country code
charger_typestringac7 | ac22 | dc50 | dc150
{
  "budget_usd": 1000000,
  "country": "KE",
  "charger_type": "AC 22kW (fast)",
  "cost_per_charger_usd": 6000,
  "deployment": {
    "chargers_deployable": 166,
    "vehicles_served_daily": 2988,
    "carbon_saved_tonnes_yr": 668.3
  },
  "economic": {
    "payback_period_years": 4.2,
    "jobs_created_construction": 332,
    "jobs_created_ongoing": 16
  }
}
GET /api/v1/biz/roi-calculator Charging installation ROI and payback calculator DEVELOPER+

Pass a location and charger spec, get back projected revenue, profit, payback period and OZEV grant eligibility. The first question every business asks before installing.

lat / lonfloatLocation coordinates
charger_typestringac7 | ac22 | dc50 | dc150
num_chargersintNumber of chargers to install
electricity_ratefloatYour electricity cost £/kWh (default 0.28)
charge_ratefloatPrice charged to customers £/kWh (default 0.65)
{
  "charger_type": "AC 22kW",
  "num_chargers": 2,
  "demand": {
    "utilisation_pct": 55.0,
    "sessions_per_day": 26.4
  },
  "financials": {
    "total_capex_gbp": 20000,
    "ozev_grant_available_gbp": 700,
    "revenue_per_year_gbp": 91674,
    "profit_per_year_gbp": 52059,
    "payback_years": 0.4,
    "roi_5yr_pct": 1201.5
  }
}
GET /api/v1/fleet/route-coverage Charging availability along a fleet route BUSINESS+

Give origin and destination coordinates, get back a waypoint-by-waypoint breakdown of charging availability. Flags gaps, limited coverage and confirms route viability for your vehicle range.

orig_lat / orig_lonfloatOrigin coordinates
dest_lat / dest_lonfloatDestination coordinates
range_kmfloatVehicle range in km (default 300)
vehiclestringcar | van | truck | bus
{
  "route": { "total_km": 312.4 },
  "summary": {
    "charging_gaps": 1,
    "route_viable": true,
    "coverage_score": 83.3
  },
  "legs": [
    { "waypoint": 1, "km_from_start": 0, "chargers_nearby": 12, "status": "GOOD" },
    { "waypoint": 2, "km_from_start": 80, "chargers_nearby": 0, "status": "GAP" }
  ]
}
GET /api/v1/fleet/energy-budget Fleet energy cost calculator vs diesel DEVELOPER+

Calculate total monthly and annual energy costs for a fleet route. Shows peak vs off-peak savings and compares directly against diesel costs — powerful for fleet operator procurement decisions.

distance_kmfloatRoute distance in km
num_vehiclesintFleet size
vehicle_typestringcar | van | truck | bus | motorbike
trips_per_monthintTrips per vehicle per month
electricity_ratefloat£/kWh (default 0.28)
{
  "fleet": { "num_vehicles": 10, "vehicle_type": "van" },
  "costs": {
    "cost_per_month_gbp": 3136.0,
    "saving_by_offpeak_gbp_month": 1881.6
  },
  "vs_diesel": {
    "diesel_cost_per_month_gbp": 6820.0,
    "ev_saving_per_month_gbp": 3684.0,
    "saving_pct": 54.0
  }
}
// HOW IT WORKS
1️⃣
Get your free key
Enter your email below. Your API key is generated instantly — no credit card, no waitlist.
2️⃣
Add key to requests
Pass your key as a header or URL parameter on every API call. Works from any language.
3️⃣
Call any endpoint
Hit any of our 46 endpoints and get back clean JSON. Build apps, dashboards, tools.
// COMPLETE WORKING EXAMPLE
// Step 1 — get your key from the form below
// Step 2 — paste it here and run

const API_KEY = 'cs_live_your_key_here';

const response = await fetch(
  `https://chargesmart.online/api/v1/predict
    ?lat=51.5074&lon=-0.1278&key=${API_KEY}`
);

const data = await response.json();
console.log(data.data.prediction);   // "free" or "busy"
console.log(data.data.probability_free);  // 73.2
console.log(data.data.best_time_today);   // "02:00"
✓ Works in browser
✓ Works in Python
✓ Works in any language
✓ Returns JSON
// AUTHENTICATION
ALL Add your key to every request
# Option 1 — Authorization header (recommended)
curl https://chargesmart.online/api/v1/predict?lat=51.5&lon=-0.1 \
  -H "Authorization: Bearer YOUR_API_KEY"

# Option 2 — Query parameter
curl https://chargesmart.online/api/v1/predict?lat=51.5&lon=-0.1&key=YOUR_API_KEY
// ENDPOINTS
GET /api/v1/predict Predict charger availability

Returns AI prediction for whether a charger will be free or busy, plus the best time to charge today.

PARAMETERS
ParamTypeRequiredDescription
latfloatYesLatitude of charger
lonfloatYesLongitude of charger
hourintNoHour 0-23 (defaults to now)
dayintNoDay 0=Mon, 6=Sun (defaults to today)
capacityintNoNumber of charging bays (default 2)
countrystringNoUK, US or EU (default UK)
location_typestringNomotorway, supermarket, council, tesla, other
EXAMPLE REQUEST
GET https://chargesmart.online/api/v1/predict?lat=51.5074&lon=-0.1278&hour=17&capacity=2&country=UK
EXAMPLE RESPONSE
{
  "success": true,
  "data": {
    "prediction": "busy",
    "probability_free": 23.4,
    "probability_busy": 76.6,
    "best_time_today": "22:00",
    "best_time_probability": 91.2,
    "inputs": { "lat": 51.5, "lon": -0.1, "hour": 17, ... }
  },
  "meta": { "version": "v1", "calls_remaining_today": 98 }
}
GET /api/v1/deserts Charger desert zone data

Returns areas with no EV charger within 5 miles, broken down by sub-region.

PARAMETERS
ParamTypeRequiredDescription
regionstringNouk, us_east, us_west, germany, france, netherlands
EXAMPLE RESPONSE
{
  "success": true,
  "data": {
    "region": "United Kingdom",
    "desert_percentage": 34.2,
    "total_desert_zones": 1847,
    "total_covered_zones": 3541,
    "charger_count": 52400,
    "breakdown": [
      { "name": "North West", "desert_pct": 67.3, "desert_zones": 412 },
      ...
    ]
  }
}
GET /api/v1/journey-cost EV vs petrol cost comparison

Calculate exact cost of an EV journey vs the petrol equivalent.

PARAMETERS
ParamTypeRequiredDescription
milesfloatYesJourney distance in miles
carstringNoaverage, nissan_leaf, tesla_model3, tesla_modelx, vw_id3
currencystringNogbp, usd, eur (default gbp)
EXAMPLE RESPONSE
{
  "success": true,
  "data": {
    "miles": 100,
    "ev_cost": 7.84,
    "petrol_cost": 18.20,
    "saving": 10.36,
    "saving_pct": 56.9,
    "kwh_needed": 28.6,
    "co2_saved_kg": 33.5
  }
}
GET /api/v1/carbon Carbon savings calculator

Calculate CO2 saved and money saved by driving electric vs petrol.

PARAMETERS
ParamTypeRequiredDescription
milesfloatYesMiles per trip
vehiclestringNosmall, medium, large, van (default medium)
trips_per_weekintNoWeekly trips (default 1)
currencystringNogbp, usd, eur
EXAMPLE RESPONSE
{
  "success": true,
  "data": {
    "co2_saved_per_trip_kg": 33.5,
    "co2_saved_annual_kg": 8710,
    "trees_equivalent": 400,
    "money_saved_annual": 2693.60
  }
}
GET /api/v1/reviews Community charger reviews

Returns community ratings and fault reports for chargers near a location.

PARAMETERS
ParamTypeRequiredDescription
latfloatNoLatitude (default London)
lonfloatNoLongitude (default London)
radiusfloatNoSearch radius in miles (default 5)
GET /api/v1/peak-hours Busiest & quietest hours for a location

Returns hourly demand breakdown for a location — ideal for scheduling apps and dashboards.

PARAMETERS
ParamTypeRequiredDescription
latfloatYesLatitude
lonfloatYesLongitude
countrystringNoUK, US or EU
radiusfloatNoSearch radius in degrees (default 0.5)
EXAMPLE RESPONSE
{ "best_time_to_charge": "02:00", "worst_time_to_charge": "17:00",
  "peak_hours": [{"hour":17,"label":"17:00","demand_pct":8.2,"demand":"high"},...],
  "hourly_breakdown": [...24 hours...] }
GET /api/v1/operators Full operator intelligence by country

Returns every charging operator in your target country with charger counts, capacity and location breakdown.

PARAMETERS
ParamTypeRequiredDescription
countrystringNoUK, US, EU or ALL (default UK)
EXAMPLE RESPONSE
{ "total_operators": 24, "operators": [
  { "operator": "Tesla", "total_chargers": 4821, "avg_capacity": 8.2,
    "primary_location": "motorway", "countries": ["UK","US","EU"] }, ...
]}
GET /api/v1/coverage 0-100 coverage score for any location

Returns a scored grade (A-F) for how well-served an area is for EV charging. Used by estate agents, councils and urban planners.

PARAMETERS
ParamTypeRequiredDescription
latfloatYesLatitude
lonfloatYesLongitude
radiusfloatNoRadius in miles (default 10)
countrystringNoUK, US or EU
EXAMPLE RESPONSE
{ "coverage_score": 73, "grade": "B", "verdict": "Good",
  "chargers_nearby": 42, "networks_present": 6,
  "has_fast_charging": true, "recommendation": "Well served area" }
GET /api/v1/nearest Nearest chargers with AI availability prediction

Returns the closest chargers to a location, each with a live AI availability prediction. Perfect for navigation and EV apps.

PARAMETERS
ParamTypeRequiredDescription
latfloatYesLatitude
lonfloatYesLongitude
max_resultsintNo1-20 results (default 5)
hourintNoHour 0-23 (defaults to now)
countrystringNoUK, US or EU
EXAMPLE RESPONSE
{ "chargers": [
  { "lat": 51.51, "lon": -0.12, "operator": "Pod Point",
    "distance_miles": 0.3, "probability_free": 71.2,
    "prediction": "free", "capacity": 4 }, ...
]}
GET /api/v1/heatmap Grid density data for map visualisations

Returns gridded charger density data ready to render as a heatmap. Works with Leaflet, Mapbox, Google Maps.

PARAMETERS
ParamTypeRequiredDescription
regionstringNouk, us or eu (default uk)
resolutionstringNolow or high (default low)
EXAMPLE RESPONSE
{ "region": "uk", "total_points": 842, "max_density": 1240,
  "points": [{"lat":51.5,"lon":-0.1,"count":342,"intensity":0.27}, ...]}
GET /api/v1/compare Side-by-side country comparison

Compare EV infrastructure stats across UK, US and EU. Used by researchers, journalists and policy makers.

PARAMETERS
ParamTypeRequiredDescription
countriesstringNoComma-separated: UK,US,EU (default all three)
EXAMPLE RESPONSE
{ "winner": "EU", "results": [
  { "country": "EU", "rank": 1, "chargers_per_100k": 48.2,
    "avg_capacity": 3.8, "top_operator": "Ionity" }, ...
]}
GET /api/v1/operators/compare Head-to-head operator comparison

Compare any two or more charging networks head-to-head on coverage, capacity and location types.

PARAMETERS
ParamTypeRequiredDescription
namesstringYesComma-separated operator names e.g. Tesla,BP Pulse
EXAMPLE RESPONSE
{ "winner": "Tesla", "results": [
  { "operator": "Tesla", "total_chargers": 4821, "avg_capacity": 8.2,
    "countries": ["UK","US","EU"], "peak_hour": 17 },
  { "operator": "BP Pulse", "total_chargers": 2103, "avg_capacity": 2.1 }
]}
GET /api/v1/forecast 24-hour availability forecast

AI-powered hourly predictions for the next 24 hours. Nobody else offers this. Business tier and above.

PARAMETERS
ParamTypeRequiredDescription
latfloatYesLatitude
lonfloatYesLongitude
capacityintNoNumber of bays (default 2)
countrystringNoUK, US or EU
EXAMPLE RESPONSE
{ "best_time": "02:00", "worst_time": "17:00",
  "hourly_forecast": [
    {"hour":0,"time":"00:00","probability_free":91.2,"prediction":"free","confidence":"high"},
    {"hour":17,"time":"17:00","probability_free":18.4,"prediction":"busy","confidence":"high"},
    ...24 hours total
]}
GET /api/v1/gap-score Infrastructure gap score for any location

Scores how underserved a location is (0=well served, 100=charging desert). Used by councils, energy companies and network operators.

PARAMETERS
ParamTypeRequiredDescription
latfloatYesLatitude
lonfloatYesLongitude
countrystringNoUK, US or EU
EXAMPLE RESPONSE
{ "gap_score": 84, "infrastructure_priority": "Critical",
  "chargers_within_1_mile": 0, "chargers_within_5_miles": 2,
  "recommendation": "Urgent infrastructure investment needed",
  "useful_for": ["Local councils","Energy companies","EV network operators"] }
POST /api/v1/predict/batch Predict up to 50 chargers in one call

Send up to 50 charger locations in one request and get AI predictions for all of them simultaneously. Essential for fleet operators.

REQUEST BODY
POST /api/v1/predict/batch
Content-Type: application/json

{ "chargers": [
    { "id": "depot-1", "lat": 51.5, "lon": -0.1, "capacity": 4, "country": "UK" },
    { "id": "depot-2", "lat": 52.4, "lon": -1.9, "capacity": 2, "country": "UK" }
]}
EXAMPLE RESPONSE
{ "total_chargers": 2, "predicted_free": 1, "predicted_busy": 1,
  "results": [
    { "id": "depot-1", "probability_free": 73.2, "prediction": "free" },
    { "id": "depot-2", "probability_free": 31.8, "prediction": "busy" }
]}
// QUICK START — JAVASCRIPT
// Get your free key at chargesmart.online/developers
const API_KEY = 'YOUR_API_KEY';

async function getChargerPrediction(lat, lon) {
  const res = await fetch(
    `https://chargesmart.online/api/v1/predict?lat=${lat}&lon=${lon}`,
    { headers: { 'Authorization': `Bearer ${API_KEY}` } }
  );
  const data = await res.json();
  console.log(data.data.prediction);        // "free" or "busy"
  console.log(data.data.probability_free);  // e.g. 73.4
  console.log(data.data.best_time_today);   // e.g. "22:00"
}

getChargerPrediction(51.5074, -0.1278);
// QUICK START — PYTHON
import requests

API_KEY = 'YOUR_API_KEY'
headers = {'Authorization': f'Bearer {API_KEY}'}

resp = requests.get(
    'https://chargesmart.online/api/v1/predict',
    params={'lat': 51.5074, 'lon': -0.1278, 'hour': 17},
    headers=headers
)

data = resp.json()['data']
print(f"Prediction: {data['prediction']}")
print(f"Free probability: {data['probability_free']}%")
print(f"Best time: {data['best_time_today']}")