PlugShare APIplugshare.com ↗
Search EV charging stations worldwide via the PlugShare API. Get real-time availability, connector types, user reviews, amenities, and residential charger filters.
What is the PlugShare API?
The PlugShare API provides access to EV charging station data across 3 endpoints, covering location search, residential property filtering, and per-station detail retrieval. The search_stations endpoint returns station objects with connector types, availability, and user reviews for any coordinate and radius. The get_station_details endpoint exposes photos, outlet-level status, amenities, and network information for a single station by ID.
curl -X GET 'https://api.parse.bot/scraper/25affbde-3a56-4d52-9c98-a8a6334399e4/search_stations?limit=3&radius=5&latitude=28.6139&longitude=77.2088&include_details=true' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace plugshare-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: PlugShare SDK — find EV charging stations, get details, search residential."""
from parse_apis.plugshare_ev_charging_stations_api import PlugShare, StationNotFound
client = PlugShare()
# Search for nearby charging stations in New Delhi (5 km radius)
for station in client.stations.search(latitude=28.6139, longitude=77.2088, radius=5, limit=3):
print(station.name, station.address, station.is_fast_charger)
# Drill into the first result for full details
station = client.stations.search(latitude=28.6139, longitude=77.2088, radius=5, limit=1).first()
if station:
detail = client.stations.get(station_id=str(station.id))
print(detail.name, detail.score, detail.connector_types)
# Search specifically for residential/apartment charging stations
for apt in client.stations.search_apartments(latitude=28.6139, longitude=77.2088, radius=5, limit=3):
print(apt.name, apt.address, apt.open247)
# Handle a station that doesn't exist
try:
client.stations.get(station_id="999999999")
except StationNotFound as exc:
print(f"Station not found: {exc.station_id}")
print("exercised: stations.search / stations.get / stations.search_apartments / StationNotFound")Search for EV charging stations within a specified radius (in km) of a central coordinate. Returns a list of stations with summary or detailed information depending on include_details. Grid-based internal tiling covers large radii; each station includes connector types and availability. Paginates as a single page bounded by limit.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of stations to return. |
| radius | number | Search radius in kilometers. |
| latitude | number | Latitude of the search center. |
| longitude | number | Longitude of the search center. |
| include_details | boolean | Whether to fetch full details (reviews, outlet status) for each station found. When false, returns lightweight summaries. |
{
"type": "object",
"fields": {
"returned": "integer number of stations returned (limited by limit param)",
"stations": "array of station objects with id, name, address, latitude, longitude, connector_types, and optionally full details",
"total_found": "integer total number of stations found within radius"
}
}About the PlugShare API
Endpoints and Coverage
The API exposes three endpoints. search_stations accepts a latitude/longitude pair and a radius in kilometers, returning an array of stations with id, name, address, latitude, longitude, and connector_types. Setting include_details to true also fetches reviews and outlet availability for each result in a single call, avoiding a follow-up lookup per station. The response includes total_found (all matching stations in the radius) alongside returned (the count actually delivered, bounded by the limit param).
Residential Filtering
search_apartments targets charging stations located in apartment complexes, condos, housing societies, and similar residential properties. It applies keyword filtering internally — matching terms like apartment, residential, condo, complex, society, building, housing, and villas — and returns full station details including reviews, outlets, and amenities without requiring a separate get_station_details call. This makes it useful for property managers or EV drivers evaluating charging infrastructure at specific residential locations.
Station Detail
get_station_details takes a station_id (obtained from either search endpoint) and returns the complete record: photos array with URLs, reviews array with rating, comment, and vehicle info per entry, stations array containing individual charger units with outlet-level availability, amenities array, connector_types, and full address and coordinates. This is the right endpoint when you need everything about one known location rather than a broad geographic sweep.
The PlugShare API is a managed, monitored endpoint for plugshare.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when plugshare.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official plugshare.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Map EV charger availability along a planned driving route using radius-based coordinate searches
- Identify residential charging infrastructure at apartment complexes for tenant or property manager dashboards
- Aggregate connector type distributions across a city to analyze charging network gaps
- Pull user reviews and vehicle compatibility data to surface charger quality ratings in a trip planner
- Monitor outlet-level availability status at a known station ID for real-time occupancy tracking
- Compare amenity offerings (parking, restrooms, retail) near charging stations for driver convenience apps
- Enrich EV-focused real estate listings with nearby charging station counts and connector types
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does PlugShare have an official developer API?+
What does get_station_details return that the search endpoints don't?+
photos array with image URLs, per-charger-unit objects inside the stations array (including individual outlet availability status), and the complete amenities array. Search endpoints return connector types and basic location fields; the detail endpoint gives the complete record for a single known station ID.Does include_details in search_stations affect what fields are returned?+
stations array contains id, name, address, latitude, longitude, and connector_types. Setting include_details to true adds reviews and outlet status to each result, equivalent to running get_station_details for every station found, but returned in one response.Does the API cover charging networks outside the US?+
Can I filter search_stations by connector type, network brand, or pricing information?+
search_stations endpoint filters by location radius and optionally by residential property keywords via search_apartments, but connector type, network, and pricing filters are not exposed as input parameters. You can fork this API on Parse and revise it to add those filtering parameters.