{
  "openapi": "3.0.1",
  "info": {
    "title": "PlugShare EV Charging Station Scraper",
    "description": "Scrape PlugShare's crowd-sourced EV charging station map - user check-ins, reviews, ratings, live outlet-availability status, PlugScore, and user photos, alongside station address, connectors, network, and pricing.",
    "version": "1.0",
    "x-build-id": "JFLvQXhAlb2ebjYX7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~plugshare-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-plugshare-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/crawlerbros~plugshare-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-plugshare-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/crawlerbros~plugshare-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-plugshare-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "byId",
              "reviews",
              "photos"
            ],
            "type": "string",
            "description": "What to fetch.",
            "default": "search"
          },
          "locationQuery": {
            "title": "Location (mode=search)",
            "type": "string",
            "description": "Free-text place name to search near (city, address, landmark). Geocoded automatically. Ignored if `latitude`/`longitude` are set.",
            "default": "Los Angeles, CA"
          },
          "latitude": {
            "title": "Latitude (mode=search)",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Exact search-center latitude. Overrides `locationQuery` when set together with `longitude`."
          },
          "longitude": {
            "title": "Longitude (mode=search)",
            "minimum": -180,
            "maximum": 180,
            "type": "number",
            "description": "Exact search-center longitude. Overrides `locationQuery` when set together with `latitude`."
          },
          "radiusKm": {
            "title": "Search radius (km)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Only emit stations within this distance of the search center (mode=search).",
            "default": 25
          },
          "stationIds": {
            "title": "Station IDs (mode=byId / reviews / photos)",
            "type": "array",
            "description": "Numeric PlugShare location IDs, e.g. `7057`, or full PlugShare station URLs, e.g. `https://www.plugshare.com/location/7057` (either form works).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "connectorTypes": {
            "title": "Connector types",
            "type": "array",
            "description": "Only emit stations offering at least one of these connector types (mode=search).",
            "items": {
              "type": "string",
              "enum": [
                "wallOutlet",
                "j1772",
                "chademo",
                "teslaRoadster",
                "nema1450",
                "mennekesType2",
                "evPlugType3",
                "wallOutletBS1363",
                "wallOutletEuro",
                "blueCommando",
                "wallOutlet3112",
                "ccs1",
                "threePhase",
                "caravanMainsSocket",
                "gbt",
                "gbtFast",
                "ccs2",
                "type3a",
                "nemaTt30",
                "nacsTesla",
                "type6",
                "leccs"
              ],
              "enumTitles": [
                "Wall Outlet (NEMA 5-15)",
                "J-1772",
                "CHAdeMO (Quick Charge)",
                "Tesla (Roadster)",
                "NEMA 14-50",
                "Mennekes (Type 2)",
                "EV Plug (Type 3)",
                "Wall Outlet (BS1363)",
                "Wall Outlet (Euro/CEE 7)",
                "Blue Commando",
                "Wall Outlet (AS 3112)",
                "CCS1 (Combo 1)",
                "Three Phase",
                "Caravan Mains Socket",
                "GB/T",
                "GB/T (Fast)",
                "CCS2 (Combo 2)",
                "Type 3A",
                "NEMA TT-30",
                "NACS (Tesla)",
                "Type 6",
                "LECCS"
              ]
            },
            "default": []
          },
          "networks": {
            "title": "Network / operator",
            "type": "array",
            "description": "Only emit stations on these charging networks (mode=search). Curated list of common networks — a station's own `networks` output field is populated regardless of this filter.",
            "items": {
              "type": "string",
              "enum": [
                "ampUp",
                "autel",
                "bcHydroEv",
                "blink",
                "bpPulse",
                "chargeLab",
                "chargePoint",
                "chargeSmartEv",
                "chargeUp",
                "circleKCharge",
                "circleKRecharge",
                "circuitElectrique",
                "electricEra",
                "electrifyAmerica",
                "electrifyCanada",
                "epicCharging",
                "evConnect",
                "evConnectCanada",
                "evRange",
                "evcs",
                "everged",
                "evGateway",
                "evgo",
                "evsmart",
                "flipturn",
                "flo",
                "fordCharge",
                "francisEnergy",
                "hyperfuel",
                "ionna",
                "ivy",
                "jolt",
                "jule",
                "loopGlobal",
                "mercedesBenzChargingNetwork",
                "nayaxEnergy",
                "onTheRunEv",
                "opConnect",
                "petroCanada",
                "pilotFlyingJ",
                "redE",
                "rivianAdventureNetwork",
                "rivianWaypoints",
                "shellRecharge",
                "sunCountry",
                "supercharger",
                "swtch",
                "synergEv",
                "teslaDestination",
                "universalEv",
                "viaLynk",
                "walmartEvCharging"
              ],
              "enumTitles": [
                "AmpUp",
                "Autel",
                "BC Hydro EV",
                "Blink",
                "bp pulse",
                "ChargeLab",
                "ChargePoint",
                "ChargeSmart EV",
                "ChargeUP",
                "CircleK Charge",
                "CircleK/Couche-Tard Recharge",
                "Circuit Electrique",
                "Electric Era",
                "Electrify America",
                "Electrify Canada",
                "Epic Charging",
                "EV Connect",
                "EV Connect Canada",
                "EV Range",
                "EVCS",
                "eVerged",
                "EvGateway",
                "EVgo",
                "EVsmart",
                "Flipturn",
                "FLO",
                "Ford Charge",
                "Francis Energy",
                "Hyperfuel",
                "IONNA",
                "Ivy",
                "JOLT",
                "Jule",
                "Loop Global",
                "Mercedes-Benz Charging Network",
                "Nayax Energy",
                "On the Run EV",
                "OpConnect",
                "Petro-Canada",
                "Pilot Flying J",
                "Red E",
                "Rivian Adventure Network",
                "Rivian Waypoints",
                "Shell Recharge",
                "Sun Country",
                "Tesla Supercharger",
                "SWTCH",
                "SynergEV",
                "Tesla Destination",
                "Universal EV",
                "ViaLynk",
                "Walmart EV Charging"
              ]
            },
            "default": []
          },
          "minPowerKW": {
            "title": "Min power (kW)",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Drop stations whose fastest outlet is below this power."
          },
          "maxPowerKW": {
            "title": "Max power (kW)",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Drop stations whose fastest outlet is above this power."
          },
          "accessType": {
            "title": "Access type",
            "enum": [
              "publicOnly",
              "publicAndRestricted",
              "all"
            ],
            "type": "string",
            "description": "Which access levels to include.",
            "default": "publicAndRestricted"
          },
          "freeOnly": {
            "title": "Free charging only",
            "type": "boolean",
            "description": "Only emit stations with no published charging cost.",
            "default": false
          },
          "availableNowOnly": {
            "title": "Available now only",
            "type": "boolean",
            "description": "Only emit stations with at least one outlet currently reported available by the community.",
            "default": false
          },
          "minStationCount": {
            "title": "Min physical stations at location",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Drop locations with fewer physical charging stations than this."
          },
          "minPlugscore": {
            "title": "Min PlugScore",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Drop stations below this PlugShare community confidence score (0-10 scale, based on check-ins and reviews)."
          },
          "minReviewCount": {
            "title": "Min review count",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Only emit stations with at least this many community reviews/check-ins."
          },
          "amenities": {
            "title": "Nearby amenities",
            "type": "array",
            "description": "Only emit stations tagged with at least one of these nearby amenities.",
            "items": {
              "type": "string",
              "enum": [
                "lodging",
                "dining",
                "restrooms",
                "evParking",
                "valetParking",
                "park",
                "wifi",
                "shopping",
                "grocery",
                "hiking",
                "camping"
              ],
              "enumTitles": [
                "Lodging",
                "Dining",
                "Restrooms",
                "EV Parking",
                "Valet Parking",
                "Park",
                "WiFi",
                "Shopping",
                "Grocery",
                "Hiking",
                "Camping"
              ]
            },
            "default": []
          },
          "poiTypes": {
            "title": "Point-of-interest type",
            "type": "array",
            "description": "Only emit stations located at one of these point-of-interest types.",
            "items": {
              "type": "string",
              "enum": [
                "airport",
                "arenaConcertHall",
                "artGallery",
                "bank",
                "campground",
                "carRental",
                "carService",
                "casino",
                "cemetery",
                "chargingHub",
                "civic",
                "dealership",
                "eventVenue",
                "ferryPort",
                "gasStation",
                "government",
                "gym",
                "holidayPark",
                "hospitalHealthcare",
                "library",
                "lodging",
                "marina",
                "movieTheater",
                "museum",
                "nationalStatePark",
                "other",
                "park",
                "parkingGarageLot",
                "placeOfWorship",
                "recreation",
                "residential",
                "restaurant",
                "restStop",
                "rvPark",
                "schoolUniversity",
                "shoppingCenter",
                "sportsStadiumArena",
                "store",
                "streetParking",
                "touristAttraction",
                "transitStation",
                "visitorCenter",
                "winery",
                "workplace"
              ],
              "enumTitles": [
                "Airport",
                "Arena/Concert Hall",
                "Art Gallery",
                "Bank",
                "Campground",
                "Car Rental",
                "Car Service",
                "Casino",
                "Cemetery",
                "Charging Hub",
                "Civic",
                "Dealership",
                "Event Venue",
                "Ferry Port",
                "Gas Station",
                "Government",
                "Gym",
                "Holiday Park",
                "Hospital/Healthcare",
                "Library",
                "Lodging",
                "Marina",
                "Movie Theater",
                "Museum",
                "National/State Park",
                "Other",
                "Park",
                "Parking Garage/Lot",
                "Place of Worship",
                "Recreation",
                "Residential",
                "Restaurant",
                "Rest Stop",
                "RV Park",
                "School/University",
                "Shopping Center",
                "Sports Stadium/Arena",
                "Store",
                "Street Parking",
                "Tourist Attraction",
                "Transit Station",
                "Visitor Center",
                "Winery",
                "Workplace"
              ]
            },
            "default": []
          },
          "parkingAttributes": {
            "title": "Parking attributes",
            "type": "array",
            "description": "Only emit stations with at least one of these parking attributes.",
            "items": {
              "type": "string",
              "enum": [
                "covered",
                "garage",
                "handicapped",
                "illuminated",
                "pullIn",
                "pullThrough",
                "trailerFriendly",
                "trailerParking",
                "wheelchairAccess"
              ],
              "enumTitles": [
                "Covered parking",
                "Garage",
                "Handicapped parking",
                "Illuminated",
                "Pull-in parking",
                "Pull-through parking",
                "Trailer friendly",
                "Trailer parking",
                "Wheelchair accessible"
              ]
            },
            "default": []
          },
          "excludeAccessRestrictions": {
            "title": "Exclude brand-restricted stations",
            "type": "array",
            "description": "Drop stations restricted to these vehicle brands only.",
            "items": {
              "type": "string",
              "enum": [
                "teslaDriversOnly",
                "rivianDriversOnly"
              ],
              "enumTitles": [
                "Tesla Drivers Only",
                "Rivian Drivers Only"
              ]
            },
            "default": []
          },
          "includeReviews": {
            "title": "Include community reviews / check-ins",
            "type": "boolean",
            "description": "Embed each station's community check-ins/reviews (rating, comment, reported problem, vehicle, operator response) in the output.",
            "default": true
          },
          "includePhotos": {
            "title": "Include user photos",
            "type": "boolean",
            "description": "Embed each station's user-submitted photos in the output.",
            "default": true
          },
          "maxReviewsPerStation": {
            "title": "Max reviews per station",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Cap on embedded reviews/check-ins per station (mode=search / byId), or per station in mode=reviews.",
            "default": 10
          },
          "maxPhotosPerStation": {
            "title": "Max photos per station",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Cap on embedded photos per station (mode=search / byId), or per station in mode=photos.",
            "default": 5
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Hard cap on emitted records.",
            "default": 20
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}