SpotHero Scraper
Pricing
from $3.00 / 1,000 results
SpotHero Scraper
Scrape SpotHero - the parking spot marketplace. Browse city parking overviews, search venues/addresses/businesses by name, and get per-facility live pricing, ratings, amenities, and address details for parking near any destination. No login required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Scrape SpotHero — the parking spot marketplace. Get city-level parking price overviews, search for parking near any venue, address, or business by name, and pull live per-facility pricing, ratings, amenities, and address details for parking near a specific destination. HTTP-only, no login, no proxy.
What this actor does
- Three modes:
city,search,destination - 146 cities exposed as a dropdown enum, spanning the US and Canada
- Live facility pricing — real quoted total price, advertised price, and currency straight from SpotHero
- Ratings, amenities, and parking-pass type per facility (self park, valet, scan-in/ticket-out, license plate, etc.)
- Filters: min/max price, parking-pass type, monthly-parking-only
- Empty fields are omitted — you'll never see
null,"", or[]in the output
Output per city overview (recordType: "cityOverview", mode=city)
citySlug,cityName,state,countryCode,timezone,latitude,longitudeavgPriceCommuterLow/High,avgPriceWeekendLow/High,avgPriceEventLow/High,avgPriceOvernightLow/High,avgPriceMonthlyLow/High,avgPriceAirportLow/HighpopularDestinationCount,performerCountsourceUrl,recordType: "cityOverview",scrapedAt
Output per destination pointer (recordType: "destinationPointer", mode=city)
destinationTitle,destinationSlug,citySlugsourceUrl,recordType: "destinationPointer",scrapedAt
Output per destination search result (recordType: "destination", mode=search)
destinationId,destinationTitle,destinationSlugcityName,citySlug,state,streetAddress,zipcode,timezonelatitude,longitude,monthlyEnabledsourceUrl,recordType: "destination",scrapedAt
Output per parking spot (recordType: "parkingSpot", mode=destination, or mode=search with includeSpots)
spotId,facilityTitle,facilitySlugdestinationTitle,destinationSlug,citySlug,cityName,statestreetAddress,postalCode,latitude,longitudedistanceMeters,walkingMeters,walkingDurationSecondsratingAverage,ratingCount,imageUrlparkingType,parkingTypeDisplay,amenities[]rateWindowStart,rateWindowEnd— the actual quoted time window (see FAQ)totalPrice,advertisedPrice,priceCurrency,rateRuleGroup,cancellationThresholdMinutessourceUrl,recordType: "parkingSpot",scrapedAt
Output per upcoming event at a destination (recordType: "destinationEvent", mode=destination, or mode=search with includeSpots)
eventId,eventTitle,startDate,endDatedestinationTitle,destinationSlug,citySlugsourceUrl,recordType: "destinationEvent",scrapedAt
Only emitted for destinations that host scheduled events (stadiums, theaters, festival grounds) — useful context for why parking prices spike on certain dates.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | city | city / search / destination |
citySlug | string (select) | chicago | City to browse (mode=city, destination) |
searchQuery | string | united center | Venue/address/business name (mode=search) |
destinationSlugs | array | ["united-center-parking"] | Destination URL slugs within citySlug (mode=destination) |
arrivalDateTime | string | – | Requested arrival time (advisory — see FAQ) |
departureDateTime | string | – | Requested departure time (advisory — see FAQ) |
monthlyOnly | boolean | false | Only keep monthly-parking-enabled destinations/spots |
parkingType | string (select) | Any | Filter spots by parking-pass type |
minPrice | integer | – | Drop spots priced below this (USD) |
maxPrice | integer | – | Drop spots priced above this (USD) |
includeSpots | boolean | false | Also fetch live pricing for each search result (mode=search) |
maxItems | integer | 50 | Hard cap on emitted records (1–1000) |
Example: city parking price overview
{"mode": "city","citySlug": "chicago"}
Example: search for parking near a venue, with live pricing
{"mode": "search","searchQuery": "united center","includeSpots": true,"maxItems": 20}
Example: live pricing at a specific destination, self-park only
{"mode": "destination","citySlug": "chicago","destinationSlugs": ["united-center-parking", "wrigley-field-parking"],"parkingType": "self_park","maxPrice": 30}
Use cases
- Event planning — compare parking prices near a stadium or theater before a show
- Price tracking — monitor a venue's average commuter/weekend/event parking rates over time
- Travel apps — surface real parking options and ratings alongside a destination
- Facility research — compare amenities and pass types across nearby parking facilities
- Local SEO / directories — build a parking directory for a city with real, live data
FAQ
Is this affiliated with SpotHero? No. This is an independent third-party actor that reads SpotHero's own publicly rendered page data — no login or account is used.
Why does rateWindowStart/rateWindowEnd not match my requested arrivalDateTime/departureDateTime?
SpotHero's public pages return a live default quote (the site's next available or currently active pricing window) server-side; picking an arbitrary custom date/time requires the interactive date picker on spothero.com, which runs client-side after page load. This actor passes your requested times through, but the price and window on each record are the value the site actually returned — real, not fabricated, just possibly not your exact requested window.
What does parkingType mean?
It's SpotHero's own redemption method for a facility: self_park (park it yourself), self_park_see_attendant, scan_in_ticket_out (scan a code, keep a paper ticket), scan_in_out (scan both ways, no ticket), license_plate (monitored by plate, no ticket), or operator_scan.
Why do some cities show fewer avgPrice* bands than others?
SpotHero only publishes bands (commuter/weekend/event/overnight/monthly/airport) it has enough data for in a given city; unavailable bands are simply omitted rather than shown as zero.
How fresh is the pricing? Every run fetches SpotHero's live pages directly, so prices, ratings, and availability reflect the current market at scrape time.
Is mode=search sorted by relevance?
No — SpotHero's underlying destination directory does a plain substring match on the name, not a relevance ranking. An exact match (e.g. "United Center") may not be the first row returned for a query like "united center"; increase maxItems if you don't see the exact venue you expect on the first page.
Does this work outside the US? Yes — the city list includes Canadian cities (Toronto, Vancouver, Calgary, Edmonton, Ottawa, Winnipeg, Halifax, and more) alongside US markets.