ParkWhiz Hourly Parking Search API
Find hourly parking near a point for a time window: each facility's total and base price, address and distance.
- 1 credit per call
- Failed calls are free
- Updated
- parkwhiz.parking.search
{ "distance_miles": 0.5, "search_type": "transient", "locations": [ { "name": "Kimpton Gray Chicago - Valet Kiosk", "address": "122 W. Monroe St.", "base_price": 50, "currency": "USD", "distance_meters": 149, "lat": 41.8807336078693, "location_id": 63898, "lon": -87.63175377622248, "site_url": "/p/chicago-parking/122-w-monroe-st-2", "total_price": 53.5, "cancellation": { "cancellable_now": true, "code": "cancellable_until_start_time", "message": "Anytime Cancellation: Cancel this booking for free up until the start time" }, "fees": [ { "amount": 3.5, "currency": "USD", "label": "Platform Fee" } ] }, { "name": "30 W. Monroe St. Garage", "address": "35 S. Dearborn St.", "base_price": 18, "currency": "USD", "distance_meters": 161, "lat": 41.88127251918902, "location_id": 11672, "lon": -87.62924820206537, "site_url": "/p/chicago-parking/35-s-dearborn-st", "total_price": 21.06, "cancellation": { "cancellable_now": true, "code": "cancellable_until_start_time", "message": "Anytime Cancellation: Cancel this booking for free up until the start time" }, "disclaimers": [ "Please do not park at the EV charging spots in case the lot is full." ], "fees": [ { "amount": 3.06, "currency": "USD", "label": "Platform Fee" } ] } ]}
| # | Facility | Address | Total price | Base price | Currency | Distance (m) | Location ID | Lat | Lon | Site url |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Kimpton Gray Chicago - Valet Kiosk | 122 W. Monroe St. | 53.5 | 50 | USD | 149 | 63898 | 41.88 | -87.63 | /p/chicago-parking/122-w-monroe-st-2 |
| 2 | 30 W. Monroe St. Garage | 35 S. Dearborn St. | 21.06 | 18 | USD | 161 | 11672 | 41.88 | -87.63 | /p/chicago-parking/35-s-dearborn-st |
| 3 | Hampton Inn Majestic Chicago - Valet kiosk | 22 W. Monroe St. | 58.97 | 52 | USD | 227 | 64895 | 41.88 | -87.63 | /p/chicago-parking/22-w-monroe-st |
| 4 | Monroe/Wells Garage - Valet Assist | 183 W. Monroe St. | 18.19 | 17 | USD | 253 | 54990 | 41.88 | -87.63 | /p/chicago-parking/183-w-monroe-st |
| 5 | Block 37 Mall Garage - Self Park and Valet | 127 N. Dearborn St. | 23.54 | 22 | USD | 265 | 20844 | 41.88 | -87.63 | /p/chicago-parking/127-n-dearborn-st |
| 6 | 131 S. Dearborn St. (Formerly Citadel Center Garage) | 131 S. Dearborn St. | 28.24 | 23 | USD | 267 | 4549 | 41.88 | -87.63 | /p/chicago-parking/131-s-dearborn-st |
| 7 | Club Quarters Central Loop - Valet Kiosk | 111 W. Adams St. | 287 | 8995 | 41.88 | -87.63 | /p/chicago-parking/111-w-adams-st | |||
| 8 | Poetry Garage | 201 W. Madison St. | 22.47 | 21 | USD | 307 | 3274 | 41.88 | -87.63 | /p/chicago-parking/201-w-madison-st |
| 9 | Franklin Center Garage | 227 W. Monroe St. | 19.8 | 18 | USD | 323 | 59690 | 41.88 | -87.63 | /p/chicago-parking/227-w-monroe-st |
| 10 | Washington Wells Garage | 217 W. Washington St. | 20.86 | 19.5 | USD | 333 | 6157 | 41.88 | -87.63 | /p/chicago-parking/217-w-washington-st |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| end_time | string | yes | When parking ends, in the same format. | 2027-10-12T20:00:00-05:00 |
| latitude | number | yes | The destination's latitude. | 41.881943 |
| longitude | number | yes | The destination's longitude. | -87.630976 |
| start_time | string | yes | When parking starts, with its time zone, such as 2026-10-10T16:00:00-05:00. | 2027-10-12T16:00:00-05:00 |
| distance_miles | number | no | How far from the point to look, in miles. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| locations[].name | string | The name as ParkWhiz shows it. | Kimpton Gray Chicago - Valet Kiosk |
| locations[].address | string | The street address. | 122 W. Monroe St. |
| locations[].total_price | number | The price with fees, in the currency given. | 53.5 |
| locations[].base_price | integer | The price before fees, in the currency given. | 50 |
| locations[].currency | string | The currency code of the prices. | USD |
| locations[].distance_meters | integer | The distance from the facility to the destination, in metres. | 149 |
| locations[].location_id | integer | ParkWhiz's ID for the parking location; the facility endpoints take it. | 63,898 |
| locations[].cancellation | object | The booking's cancellation terms. | 3 fields |
| locations[].cancellation.cancellable_now | boolean | Whether the booking could be cancelled at the time of the call. | true |
| locations[].cancellation.code | string | The cancellation rule's code. | cancellable_until_start_time |
| locations[].cancellation.message | string | The cancellation terms as ParkWhiz words them. | Anytime Cancellation: Cancel this booking for free up until the… |
| locations[].fees | array | The fees added to the price. | 1 records |
| locations[].fees[].amount | number | 3.5 | |
| locations[].fees[].currency | string | USD | |
| locations[].fees[].label | string | Platform Fee | |
| locations[].lat | number | The location's latitude. | 41.88 |
| locations[].lon | number | The location's longitude. | -87.63 |
| locations[].site_url | string | The page on ParkWhiz's site. | /p/chicago-parking/122-w-monroe-st-2 |
| distance_miles | number | How far around the destination was searched, in miles. | 0.5 |
| locations | array | The parking locations with their prices. | 43 records |
| search_type | string | Whether hourly or monthly parking was searched. | transient |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "parkwhiz.parking.search", "input": { "end_time": "2027-10-12T20:00:00-05:00", "latitude": 41.881943, "longitude": -87.630976, "start_time": "2027-10-12T16:00:00-05:00" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "parkwhiz.parking.search", "input": { "end_time": "2027-10-12T20:00:00-05:00", "latitude": 41.881943, "longitude": -87.630976, "start_time": "2027-10-12T16:00:00-05:00" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "parkwhiz.parking.search", "input": { "end_time": "2027-10-12T20:00:00-05:00", "latitude": 41.881943, "longitude": -87.630976, "start_time": "2027-10-12T16:00:00-05:00" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
Using Upscrape, find ParkWhiz parking near 41.881943, -87.630976 in Chicago from 4 pm to 8 pm this Saturday, and list the ten cheapest by total price with their distance.
More from the ParkWhiz API
- ParkWhiz Event Quotes API1 credit
- ParkWhiz Monthly Parking Search API1 credit
- ParkWhiz Events Search API1 credit
- ParkWhiz Parking Facilities Search API1 credit
- ParkWhiz Parking Facility API1 credit
- ParkWhiz Facility Reviews API1 credit
- ParkWhiz Smart API1 credit
- ParkWhiz Venues Search API1 credit
- ParkWhiz Venue API1 credit
- ParkWhiz Event API1 credit
- ParkWhiz Metro Hubs Search API1 credit
The same data from other platforms
ParkWhiz Hourly Parking Search API FAQ
The short answers. The docs have the long ones.
How much does the ParkWhiz Hourly Parking Search API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send latitude, longitude, start_time and end_time. The input fields below list every option with its type and limits.
Do I need a ParkWhiz login?
No. It reads public ParkWhiz data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds parkwhiz.parking.search, checks its price and runs it with the same credits as the REST API.
Your first ParkWhiz call is free.
Up to 100 free credits to start, no card needed.