AIDEVELOPER TOOLS

Open Charge Map EV Station Search

Search and extract electric vehicle charging station data from [Open Charge Map](https://openchargemap.org) -- the world's largest open registry of EV charging locations with over 300,000 stations across 100+ countries. Find stations by geographic coordinates and radius, filter by country, charging network operator, connector type, charging level, and operational status. Every result includes full address details, GPS coordinates, connector specifications with power output, usage costs, access c

Try on Apify Store
$0.001per event
0
Users (30d)
17
Runs (30d)
90
Actively maintained
Maintenance Pulse
$0.001
Per event

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Cost Estimate

How many results do you need?

station-fetcheds
Estimated cost:$0.10

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
station-fetchedCharged per EV charging station record retrieved from Open Charge Map.$0.001

Example: 100 events = $0.10 · 1,000 events = $1.00

Documentation

Search and extract electric vehicle charging station data from Open Charge Map -- the world's largest open registry of EV charging locations with over 300,000 stations across 100+ countries. Find stations by geographic coordinates and radius, filter by country, charging network operator, connector type, charging level, and operational status. Every result includes full address details, GPS coordinates, connector specifications with power output, usage costs, access comments, verification status, and a direct link to the station page. Requires a free API key from openchargemap.org -- or run in dry-run mode with sample data to test the actor without any key.


Why use Open Charge Map EV Stations?

  • Access the largest open EV charging database -- Open Charge Map is community-maintained and contains over 300,000 charging locations globally, covering major networks like Tesla, ChargePoint, EVgo, BP Pulse, Electrify America, and thousands of independent operators.
  • No infrastructure to manage -- the actor runs in the Apify cloud with automatic retry logic and exponential backoff on transient API failures, so you never need to manage servers or handle rate limiting yourself.
  • Clean, structured output -- raw API responses are transformed into a flat, consistent JSON schema with normalized connection data, ready for analysis, mapping, or integration into any downstream system.
  • Schedule recurring searches -- set up daily, weekly, or monthly runs to track new charging station installations in your area of interest and get notified of changes.
  • Built-in integrations -- pipe results directly to Google Sheets, Slack, webhooks, Zapier, Make, or any of Apify's 100+ integrations without writing a single line of code.
  • Download in any format -- every run stores results in an Apify dataset you can export as JSON, CSV, Excel, XML, or RSS at any time.

Key features

  • Global coverage -- search over 300,000 EV charging stations across 100+ countries from a single API call
  • Location-based search -- find stations near any GPS coordinates with configurable radius in miles or kilometers
  • Country filtering -- restrict results to any country using standard ISO 2-letter codes (US, GB, DE, FR, JP, AU, CA, and more)
  • Connector type filtering -- find stations with specific plug types including Type 1 (J1772), Type 2 (Mennekes), CCS, CHAdeMO, and Tesla Supercharger
  • Charging level filtering -- search specifically for Level 1, Level 2, or DC Fast Charging stations depending on your use case
  • Operator filtering -- narrow results to specific charging network operators by their Open Charge Map operator ID
  • Status filtering -- find only operational stations, exclude planned or non-operational locations to get actionable data
  • Up to 500 results per run -- retrieve large datasets of charging station data in a single execution
  • Automatic retry with backoff -- handles 403 rate-limit responses with 3 retries and exponential backoff delays
  • Dry-run demo mode -- test the actor without an API key to see the output schema and verify your integration before committing to a key

How to use Open Charge Map EV Stations

Using the Apify Console

  1. Go to the Open Charge Map EV Stations actor page on Apify.
  2. Click Start to open the input configuration form.
  3. Enter your API Key -- register a free key at openchargemap.org (sign in, then My Profile > My Apps > Register Application). Or leave it blank to run in dry-run mode with sample data.
  4. Set your search location by entering latitude and longitude coordinates (e.g., 40.7128 and -74.006 for New York City).
  5. Configure the search radius -- set the distance value and choose Miles or KM.
  6. Optionally apply filters for country code, connector type, charging level, operator, or station status.
  7. Set max results (up to 500) and click Start.
  8. When the run finishes, download results from the Dataset tab as JSON, CSV, or Excel.

Using the Apify API or CLI

apify call ryanclinton/open-charge-map \
  --input='{
    "latitude": 37.7749,
    "longitude": -122.4194,
    "distance": 5,
    "distanceUnit": "Miles",
    "maxResults": 100,
    "levelId": 3,
    "statusTypeId": 50,
    "apiKey": "YOUR_API_KEY"
  }'

This example searches for up to 100 operational DC Fast Charging stations within 5 miles of downtown San Francisco.


Input parameters

ParameterTypeRequiredDefaultDescription
latitudeNumberNo40.7128 (prefill)Latitude of the search center point. Use Google Maps or a geocoding service to find coordinates.
longitudeNumberNo-74.006 (prefill)Longitude of the search center point. Pair with latitude for location-based search.
distanceNumberNo10Search radius from the center point, in the unit specified by distanceUnit.
distanceUnitStringNoMilesUnit for the search radius. Options: Miles or KM.
countryCodeStringNo--ISO 2-letter country code to filter results (e.g., US, GB, DE, FR, JP). Leave empty for all countries.
maxResultsIntegerNo50Maximum number of stations to return. Range: 1--500.
operatorIdNumberNo--Filter by charging network operator ID (e.g., 23 for Tesla, 5 for ChargePoint).
connectionTypeIdNumberNo--Filter by connector type ID. Common values: 1=Type 1, 25=Type 2, 32=CCS Type 1, 33=CCS Type 2, 2=CHAdeMO, 27=Tesla Supercharger.
levelIdNumberNo--Filter by charging level. Values: 1=Level 1, 2=Level 2, 3=DC Fast Charging.
statusTypeIdNumberNo--Filter by station status. Values: 50=Operational, 100=Not Operational, 150=Planned.
apiKeyStringRecommended--Your Open Charge Map API key. Register free at openchargemap.org. Without a key, the actor runs in dry-run mode with sample data.

Example input (JSON)

{
    "latitude": 51.5074,
    "longitude": -0.1278,
    "distance": 3,
    "distanceUnit": "KM",
    "countryCode": "GB",
    "maxResults": 200,
    "levelId": 3,
    "statusTypeId": 50,
    "apiKey": "YOUR_API_KEY"
}

Tips for configuring input

  • Start with a smaller radius (5--10 miles/km) and increase if you need broader coverage. Larger radii return more results but may include distant stations.
  • Use levelId: 3 to find only DC Fast Charging stations suitable for long-distance travel or fleet vehicles.
  • Combine country code with coordinates in border areas to ensure results stay within your target country.
  • Omit coordinates and provide only a country code to get a general sample of stations from that country (results will not be distance-sorted).

Output

Each run produces an Apify dataset where every item represents one EV charging station. Here is an example record:

{
    "stationId": 148231,
    "title": "ChargePoint - Manhattan West Parking",
    "street": "385 9th Ave",
    "city": "New York",
    "state": "NY",
    "postcode": "10001",
    "country": "United States",
    "countryCode": "US",
    "latitude": 40.7537,
    "longitude": -73.9981,
    "operatorName": "ChargePoint",
    "operatorWebsite": "https://www.chargepoint.com/",
    "connections": [
        {
            "type": "Type 2 (Socket Only)",
            "level": "Level 2 : Medium (Over 2kW)",
            "powerKW": 7.2,
            "quantity": 4,
            "currentType": "AC (Single-Phase)"
        },
        {
            "type": "CCS (Type 1)",
            "level": "Level 3 : High (Over 40kW)",
            "powerKW": 62.5,
            "quantity": 2,
            "currentType": "DC"
        }
    ],
    "numberOfPoints": 6,
    "usageCost": "$0.35/kWh",
    "accessComments": "Parking garage, open 24/7. EV charging on Level B1.",
    "statusType": "Operational",
    "isRecentlyVerified": true,
    "dateLastVerified": "2025-11-15T08:30:00Z",
    "distance": 2.41,
    "distanceUnit": "Miles",
    "url": "https://openchargemap.org/site/poi/details/148231",
    "extractedAt": "2026-02-19T14:22:33.000Z"
}

Output fields reference

FieldTypeDescription
stationIdNumberUnique station identifier in the Open Charge Map database
titleStringStation name or location title
streetStringStreet address
cityStringCity or town name
stateStringState, province, or region
postcodeStringPostal or ZIP code
countryStringFull country name
countryCodeStringISO 2-letter country code
latitudeNumberStation GPS latitude
longitudeNumberStation GPS longitude
operatorNameStringCharging network operator name
operatorWebsiteStringOperator website URL
connectionsArrayList of available connectors, each with type, level, powerKW, quantity, and currentType
numberOfPointsNumberTotal number of charging points at the station
usageCostStringPricing information (e.g., "$0.35/kWh", "Free")
accessCommentsStringNotes about access, hours, or restrictions
statusTypeStringCurrent operational status (e.g., "Operational", "Planned")
isRecentlyVerifiedBooleanWhether the station has been recently verified by a user
dateLastVerifiedStringISO 8601 timestamp of the last verification
distanceNumberDistance from the search center point (when coordinates are provided)
distanceUnitStringUnit of the distance value (Miles or KM)
urlStringDirect link to the station page on Open Charge Map
extractedAtStringISO 8601 timestamp of when the data was extracted

Use cases

  • EV route planning -- build route planning tools that help drivers find compatible charging stations along their journey, filtered by connector type and charging speed
  • Fleet management -- monitor charging infrastructure availability near fleet depots and along delivery routes to optimize electric fleet operations
  • Competitive analysis -- track which charging networks are expanding in specific regions by comparing station counts and locations over time
  • Real estate site selection -- evaluate proximity to EV charging infrastructure when selecting commercial property, retail, or hospitality locations
  • Urban planning and policy -- analyze charging station density and coverage gaps to inform municipal EV infrastructure investment decisions
  • Travel and tourism apps -- integrate charging station data into travel planning applications so EV drivers can find chargers near hotels, restaurants, and attractions
  • Energy market research -- study the distribution and growth of different charging levels and network operators across markets
  • Insurance and risk modeling -- incorporate charging infrastructure data into vehicle usage models and risk assessments for EV-specific insurance products
  • GIS mapping and visualization -- export station coordinates to GIS platforms for geographic analysis and heatmap generation
  • Academic research -- study EV adoption patterns, infrastructure equity, and the relationship between charging access and electric vehicle ownership

API & integrations

Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("PMfpkCw1ysFSTcx0D").call(run_input={
    "latitude": 34.0522,
    "longitude": -118.2437,
    "distance": 10,
    "distanceUnit": "Miles",
    "maxResults": 100,
    "levelId": 3,
    "statusTypeId": 50,
    "apiKey": "YOUR_OCM_API_KEY",
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['title']} -- {item['operatorName']} -- {item['distance']} miles")
    for conn in item.get("connections", []):
        print(f"  {conn['type']}: {conn['powerKW']} kW")

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "YOUR_APIFY_TOKEN" });

const run = await client.actor("PMfpkCw1ysFSTcx0D").call({
    latitude: 48.8566,
    longitude: 2.3522,
    distance: 5,
    distanceUnit: "KM",
    countryCode: "FR",
    maxResults: 200,
    apiKey: "YOUR_OCM_API_KEY",
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} stations in Paris`);
items.forEach((station) => {
    console.log(`${station.title} -- ${station.statusType} -- ${station.connections.length} connectors`);
});

cURL

curl "https://api.apify.com/v2/acts/PMfpkCw1ysFSTcx0D/runs?token=YOUR_APIFY_TOKEN" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "latitude": 52.52,
    "longitude": 13.405,
    "distance": 10,
    "distanceUnit": "KM",
    "countryCode": "DE",
    "maxResults": 150,
    "apiKey": "YOUR_OCM_API_KEY"
  }'

Integration options

  • Google Sheets -- automatically export EV station data to a spreadsheet for analysis, sharing, or dashboard creation
  • Slack / Email -- receive notifications when new stations appear in your monitored areas
  • Webhooks -- send results to your own API endpoint for custom processing or database ingestion
  • Zapier / Make -- connect to thousands of other apps and automate EV charging data workflows
  • Amazon S3 / Google Cloud Storage -- archive historical station data for trend analysis

How it works

The actor follows a straightforward pipeline to fetch, transform, and store EV charging station data:

  1. Input validation -- reads and validates the input parameters. If no API key is provided, the actor enters dry-run mode and returns a single sample record demonstrating the output schema.
  2. API request construction -- builds a query URL for the Open Charge Map POI endpoint (https://api.openchargemap.io/v3/poi) with all specified filters including coordinates, radius, country code, operator, connector type, charging level, and status.
  3. Authenticated request -- sends the request with the API key in both the X-API-Key header and the key query parameter for maximum compatibility.
  4. Retry on failure -- if the API returns a 403 status, the actor retries up to 3 times with exponential backoff (2s, 4s, 6s delays) before failing.
  5. Response transformation -- parses the raw JSON response and transforms each station into a clean, flat record with normalized connection data.
  6. Dataset storage -- pushes all transformed station records to the Apify dataset for download or integration.
Input Parameters
       |
       v
  [Build API URL with filters]
       |
       v
  [Send request with API key]
       |
       +---> 403? Retry with backoff (up to 3x)
       |
       v
  [Parse JSON response]
       |
       v
  [Transform each station record]
       |
       v
  [Push to Apify dataset]
       |
       v
  JSON / CSV / Excel download

Performance & cost

ScenarioResultsApprox. run timeApprox. Apify cost
Small radius search (5 mi, 50 stations)505--8 seconds$0.001
Medium radius search (25 mi, 200 stations)2008--12 seconds$0.002
Large radius search (50 mi, 500 stations)50010--15 seconds$0.005
Country-wide search (no coordinates, 500 max)50010--15 seconds$0.005
Dry-run mode (no API key)13--5 seconds$0.001

The actor makes a single API call per run, making it extremely lightweight. The Open Charge Map API is free to use -- you only pay for Apify compute time, which is minimal. Hundreds of runs per month fit comfortably within the Apify free tier.


Limitations

  • Maximum 500 results per run -- the Open Charge Map API limits a single query to 500 results. For broader coverage, run multiple searches with different center points or regions.
  • API key required for live data -- while the actor supports a dry-run demo mode without a key, live station data requires a free API key from openchargemap.org.
  • Data accuracy depends on community contributions -- Open Charge Map is community-maintained, so some station listings may be outdated, incomplete, or unverified. Check the isRecentlyVerified and dateLastVerified fields to assess data freshness.
  • Rate limiting -- the Open Charge Map API may return 403 errors under heavy load. The actor retries up to 3 times with exponential backoff, but sustained high-frequency usage may require spacing out runs.
  • Operator and connector IDs are not self-documenting -- you need to reference the Open Charge Map reference data documentation to find the numeric IDs for specific operators, connector types, and status values.
  • No real-time availability data -- the actor returns station metadata (location, connectors, status) but does not provide real-time charger availability or occupancy information.
  • Distance sorting requires coordinates -- if you search by country code only without providing latitude/longitude, results will not include distance values and are not sorted by proximity.

Responsible use

  • Respect the Open Charge Map API terms of service -- Open Charge Map provides its data for free under an open license. Register for your own API key and do not share it publicly or use it in ways that violate their usage policy.
  • Avoid excessive request frequency -- while the API is free, making thousands of requests per minute can strain the service. Space out scheduled runs and use reasonable intervals (hourly at most for monitoring use cases).
  • Attribute data to Open Charge Map -- if you publish or redistribute data obtained through this actor, credit Open Charge Map as the data source per their licensing terms.
  • Do not use for unauthorized commercial purposes -- review the Open Charge Map data license before incorporating station data into commercial products. The data is provided under the Creative Commons Attribution-ShareAlike 4.0 license.
  • Protect your API key -- the apiKey input field is marked as secret and will not be visible in run logs. Never share your API key in public repositories or documentation.

FAQ

Q: Do I need an API key to use this actor? A: A free API key from Open Charge Map is strongly recommended for live data. Without one, the actor runs in dry-run mode and returns a single sample record so you can test your integration and see the output schema. Register your key at openchargemap.org under My Profile > My Apps > Register Application.

Q: How do I get a free Open Charge Map API key? A: Go to openchargemap.org, create an account or sign in, navigate to My Profile > My Apps, click "Register an Application", fill in a name and description, and you will receive your API key immediately. It is completely free.

Q: How many charging stations are in the Open Charge Map database? A: Open Charge Map contains over 300,000 EV charging station locations across more than 100 countries. The database is continuously updated by community contributors, charging network operators, and automated data imports.

Q: Can I search without specifying GPS coordinates? A: Yes. If you omit latitude and longitude but provide a country code, the API returns stations from that country. However, results will not include distance values and are not sorted by proximity. For the best results, provide specific coordinates.

Q: What are the common connector type IDs? A: The most frequently used connector type IDs are: 1 = Type 1 (J1772), 25 = Type 2 (Mennekes), 32 = CCS (Type 1), 33 = CCS (Type 2), 2 = CHAdeMO, 27 = Tesla Supercharger. The full list is available in the Open Charge Map reference data API.

Q: What do the charging level IDs mean? A: Level 1 (ID: 1) is standard household outlet charging at up to 2 kW. Level 2 (ID: 2) is medium-speed charging at 2--40 kW, common at workplaces and public parking. Level 3 (ID: 3) is DC Fast Charging at 40 kW and above, suitable for highway travel and rapid top-ups.

Q: How often is the Open Charge Map data updated? A: The database is updated continuously as community members submit and verify stations. Most stations in major markets have been verified within the past year. Use the isRecentlyVerified and dateLastVerified output fields to assess data freshness for each station.

Q: What does dry-run mode return? A: When no API key is provided, the actor returns a single sample record with realistic field values and a title indicating it is demo data. This lets you test your downstream integration, verify the output schema, and confirm that your Apify workflow is set up correctly before obtaining an API key.

Q: Can I get more than 500 results? A: Not in a single run -- the Open Charge Map API limits responses to 500 results per query. To cover a larger area, run multiple searches with different center coordinates or split your search into smaller geographic regions.

Q: Does this actor provide real-time charger availability? A: No. The actor returns station metadata including location, connectors, power output, operator, and verification status. Real-time availability (whether a specific plug is currently in use) is not part of the Open Charge Map API.

Q: How do I find the operator ID for a specific network? A: You can look up operator IDs in the Open Charge Map reference data API at https://api.openchargemap.io/v3/referencedata. Some common operator IDs include 23 for Tesla and 5 for ChargePoint, but these may change -- always verify against the reference data.

Q: Can I schedule this actor to run automatically? A: Yes. On the Apify platform, you can set up scheduled runs at any interval -- hourly, daily, weekly, or on a custom cron schedule. This is useful for monitoring new station installations or tracking changes in a specific region over time.


Related actors

ActorDescription
Nominatim GeocoderConvert street addresses to latitude/longitude coordinates for use as input to this actor
OpenStreetMap POI SearchSearch for points of interest on OpenStreetMap including parking lots and amenities near charging stations
REST Countries Data SearchLook up ISO country codes, population data, and geographic info to complement charging station analysis
Website Change MonitorMonitor charging network operator websites for pricing changes, new station announcements, or policy updates
IP Geolocation LookupResolve IP addresses to geographic coordinates for location-aware charging station searches

How it works

01

Configure

Set your parameters in the Apify Console or pass them via API.

02

Run

Click Start, trigger via API, webhook, or set up a schedule.

03

Get results

Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.

Use cases

Sales Teams

Build targeted lead lists with verified contact data.

Marketing

Research competitors and identify outreach opportunities.

Data Teams

Automate data collection pipelines with scheduled runs.

Developers

Integrate via REST API or use as an MCP tool in AI workflows.

Ready to try Open Charge Map EV Station Search?

Start for free on Apify. No credit card required.

Open on Apify Store