SpotHero Event Facilities API
List the parking around an event, with each lot's price, availability and walking distance to the venue.
- 1 credit per call
- Failed calls are free
- Updated
- spothero.event-facilities
{ "venue_lat": 41.881027831537345, "venue_lon": -87.67415378888552, "facilities": [ { "title": "United Center Official Parking - Lots M, R, T, W, B & Malcolm X College Garage Only", "address": "1901 West Madison Street", "available": true, "base_price": 28, "facility_id": 14021, "facility_type": "lot", "lat": 41.88068100000001, "lon": -87.674053, "navigation_tip": "Please review the official United Center SpotHero lots and addresses below. Your parking reservation is valid for Lots M, R, T, W, B & Malc…", "operator": "United Center (SP+) Parking", "rating_average": 4.7, "rating_count": 9905, "total_price": 30.66, "walking_meters": 1 }, { "title": "1724 W Washington Blvd. (Admin Office 110 N Paulina) - Lot", "address": "1724 West Washington Boulevard", "available": true, "base_price": 18, "facility_id": 41370, "facility_type": "lot", "lat": 41.8833141, "lon": -87.6704318, "navigation_tip": "Enter this location at 1724 W Washington Blvd, Chicago, IL 60612. This is the Admin Office 110 N Paulina Lot, operated by Chicago Parking S…", "operator": "Chicago Parking Solutions LLC", "rating_average": 4.8, "rating_count": 944, "total_price": 19.58, "walking_meters": 516 } ]}
| # | Facility | Address | Total price | Base price | Available | Walk (m) | Rating | Operator | Type | Facility ID |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | United Center Official Parking - Lots M, R, T, W, B & Malcolm X… | 1901 West Madison Street | 30.66 | 28 | true | 1 | 4.7 | United Center (SP+) Parking | lot | 14021 |
| 2 | 1724 W Washington Blvd. (Admin Office 110 N Paulina) - Lot | 1724 West Washington Boulevard | 19.58 | 18 | true | 516 | 4.8 | Chicago Parking Solutions LLC | lot | 41370 |
| 3 | 20 S Seeley Ave. | 20 South Seeley Avenue | 32.63 | 30 | true | 407 | 4.1 | Independent Parking | personal | 6952 |
| 4 | 1710 W Warren Blvd. - Designated Personal Spots | 1710 West Warren Boulevard | 34.8 | 32 | true | 476 | 4.7 | Peak Properties Parking | lot | 111311 |
| 5 | 2114 W Madison St. - Right Spot Only | 2114 West Madison Street | 85.91 | 79 | true | 469 | 4.4 | SWL Marketing LLC Parking | personal | 50310 |
| 6 | 2035 W Washington Blvd. - Suder | 2035 West Washington Boulevard | 27.19 | 25 | true | 517 | 4.6 | Chicago Parking Solutions LLC | lot | 40014 |
| 7 | 1656 W Ogden Ave. - Spots # 1, 2, 3, 4, or 7 | 1656 West Ogden Avenue | 81.56 | 75 | true | 642 | 4.6 | SWL Marketing LLC Parking | lot | 19111 |
| 8 | 1631 W Warren Blvd. - Western-Most Spot | 1631 West Warren Boulevard | 26.1 | 24 | true | 649 | 4.3 | Independent Parking | personal | 10373 |
| 9 | 152 N Wolcott Ave. (1901 W Lake St.) - Lot | 1901 West Lake Street | 26.1 | 24 | true | 774 | 4.8 | 1901 W. Lake Street, LLC Parking | lot | 147695 |
| 10 | 1608 W Adams St. - Spot #227, #228 or #229 | 1608 West Adams Street | 32.63 | 30 | true | 833 | 4.1 | SWL Marketing LLC Parking | garage | 18302 |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| event_id | integer | one of | The event's SpotHero ID, as an alternative to the URL. | 1418307 |
| event_url | string | one of | The event's SpotHero page, with ?id= in it. | |
| cursor | string | no | Pass next_cursor from the last response to get the next page. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| facilities[].title | string | The name as SpotHero shows it. | United Center Official Parking - Lots M, R, T, W, B & Malcolm X… |
| facilities[].address | string | The parking facility's street address. | 1901 West Madison Street |
| facilities[].total_price | number | The price with fees. | 30.66 |
| facilities[].base_price | integer | The price before fees. | 28 |
| facilities[].available | boolean | Whether a space can be booked for the time asked. | true |
| facilities[].walking_meters | integer | The walk from the facility to the destination, in metres. | 1 |
| facilities[].rating_average | number | The facility's average star rating. | 4.7 |
| facilities[].operator | string | The company that runs the facility. | United Center (SP+) Parking |
| facilities[].facility_type | string | The kind of facility, such as a lot or garage. | lot |
| facilities[].facility_id | integer | SpotHero's ID for the facility. | 14,021 |
| facilities[].lat | number | The facility's latitude. | 41.88 |
| facilities[].lon | number | The facility's longitude. | -87.67 |
| facilities[].navigation_tip | string | The facility's directions for drivers. | Please review the official United Center SpotHero lots and addr… |
| facilities[].rating_count | integer | How many ratings the facility has. | 9905 |
| facilities | array | The parking facilities. | 50 records |
| venue_lat | number | The venue's latitude. | 41.88 |
| venue_lon | number | The venue's longitude. | -87.67 |
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": "spothero.event-facilities", "input": { "event_id": 1418307 }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "spothero.event-facilities", "input": { "event_id": 1418307 }}''')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": "spothero.event-facilities", "input": { "event_id": 1418307 }}),});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 SpotHero parking for event 1418307 and tell me which lots are still available, with price and walking distance.
More from the SpotHero API
The same data from other platforms
SpotHero Event Facilities API FAQ
The short answers. The docs have the long ones.
How much does the SpotHero Event Facilities 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 event_url or event_id. The input fields below list every option with its type and limits.
Do I need a SpotHero login?
No. It reads public SpotHero data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds spothero.event-facilities, checks its price and runs it with the same credits as the REST API.
Your first SpotHero call is free.
Up to 100 free credits to start, no card needed.