ParkWhiz Monthly Parking Search API
Find monthly parking near a point, with each facility's monthly price and distance.
- 1 credit per call
- Failed calls are free
- Updated
- parkwhiz.monthly-parking.search
{ "distance_miles": 0.5, "search_type": "monthly", "locations": [ { "name": "Washington Wells Garage", "address": "217 W. Washington St.", "base_price": 70, "currency": "USD", "distance_meters": 333, "lat": 41.88309000202042, "location_id": 6157, "lon": -87.63469012696696, "site_url": "/p/chicago-parking/217-w-washington-st", "total_price": 70, "cancellation": { "cancellable_now": false, "code": "booking_is_monthly", "message": "No Cancellation: Monthly parking cannot be canceled" } }, { "name": "Washington-Franklin Garage", "address": "230 W. Washington St.", "base_price": 70, "currency": "USD", "distance_meters": 362, "lat": 41.8833271040038, "location_id": 5617, "lon": -87.63493487611413, "site_url": "/p/chicago-parking/230-w-washington-st", "total_price": 70, "cancellation": { "cancellable_now": false, "code": "booking_is_monthly", "message": "No Cancellation: Monthly parking cannot be canceled" } } ]}
| # | Facility | Address | Total price | Base price | Currency | Distance (m) | Location ID | Lat | Lon | Site url |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Washington Wells Garage | 217 W. Washington St. | 70 | 70 | USD | 333 | 6157 | 41.88 | -87.63 | /p/chicago-parking/217-w-washington-st |
| 2 | Washington-Franklin Garage | 230 W. Washington St. | 70 | 70 | USD | 362 | 5617 | 41.88 | -87.63 | /p/chicago-parking/230-w-washington-st |
| 3 | Government Center Self Park Garage | 181 N. Clark St. | 120 | 120 | USD | 381 | 6155 | 41.89 | -87.63 | /p/chicago-parking/181-n-clark-st |
| 4 | Randolph Wells Self Park Garage | 200 W. Randolph St. | 335 | 335 | USD | 406 | 6159 | 41.88 | -87.63 | /p/chicago-parking/200-w-randolph-st |
| 5 | Tower Self-Park Garage | 211 W. Adams St. | 145 | 145 | USD | 416 | 6156 | 41.88 | -87.63 | /p/chicago-parking/211-w-adams-st |
| 6 | 203 N. LaSalle Dr. Garage | 110 W. Lake St. | 124 | 124 | USD | 435 | 6153 | 41.89 | -87.63 | /p/chicago-parking/110-w-lake-st |
| 7 | Lake Wells Self Park Garage | 177 N. Wells St. | 135 | 135 | USD | 438 | 3233 | 41.89 | -87.63 | /p/chicago-parking/177-n-wells-st |
| 8 | 20 E. Randolph St. Garage | 20 E. Randolph St. | 280 | 280 | USD | 439 | 2850 | 41.88 | -87.63 | /p/chicago-parking/20-e-randolph-st |
| 9 | 111 Garland Building - Valet Kiosk | 111 N. Wabash Ave. | 325 | 325 | USD | 444 | 12723 | 41.88 | -87.63 | /p/chicago-parking/111-n-wabash-ave |
| 10 | 17 E. Adams St. Garage | 17 E. Adams St. | 130 | 130 | USD | 444 | 2618 | 41.88 | -87.63 | /p/chicago-parking/17-e-adams-st |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| latitude | number | yes | The destination's latitude. | 41.881943 |
| longitude | number | yes | The destination's longitude. | -87.630976 |
| 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. | Washington Wells Garage |
| locations[].address | string | The street address. | 217 W. Washington St. |
| locations[].total_price | integer | The price with fees, in the currency given. | 70 |
| locations[].base_price | integer | The price before fees, in the currency given. | 70 |
| locations[].currency | string | The currency code of the prices. | USD |
| locations[].distance_meters | integer | The distance from the facility to the destination, in metres. | 333 |
| locations[].location_id | integer | ParkWhiz's ID for the parking location; the facility endpoints take it. | 6157 |
| 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. | false |
| locations[].cancellation.code | string | The cancellation rule's code. | booking_is_monthly |
| locations[].cancellation.message | string | The cancellation terms as ParkWhiz words them. | No Cancellation: Monthly parking cannot be canceled |
| 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/217-w-washington-st |
| distance_miles | number | How far around the destination was searched, in miles. | 0.5 |
| locations | array | The parking locations with their prices. | 19 records |
| search_type | string | Whether hourly or monthly parking was searched. | monthly |
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.monthly-parking.search", "input": { "latitude": 41.881943, "longitude": -87.630976 }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "parkwhiz.monthly-parking.search", "input": { "latitude": 41.881943, "longitude": -87.630976 }}''')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.monthly-parking.search", "input": { "latitude": 41.881943, "longitude": -87.630976 }}),});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
Use Upscrape to list monthly parking on ParkWhiz near 41.881943, -87.630976 and rank the garages by monthly price.
More from the ParkWhiz API
- ParkWhiz Hourly Parking Search API1 credit
- ParkWhiz Event Quotes 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 Monthly Parking Search API FAQ
The short answers. The docs have the long ones.
How much does the ParkWhiz Monthly 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 and longitude. 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.monthly-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.