Description
Want to find the cheapest parking lot near your local sushi restaurant? How about the best monthly parking options near your new office? Our how about parking for a nearby sporting event?
The Off-Street Parking Lots API is used to return a list of parking lots with location, pricing, restrictions, and attributes.
All-in-all INRIX tracks over 91+ attributes per lot. We are the worlds largest and most accurate parking database.
Usage
Query Types
- Querying a single lot for a known lot id
- Querying a list of lots by lot id or by operator alias
- Querying a geographic region
- by a bounded box defined by four points
- by a circle defined by a point and radius
- by a polygon defined by a list of points
- by a route defined by a list of points
- Add or Update lot detail
Filtering and Pagination
A returned list of results can be pre-filtered by lot operator. Additionally, a maximum number of results to be returned can be defined. The list of results can be paginated i.e. return second list of 20 results.
Additional filtering must be defined in client logic after results are returned. A wealth of metadata is returned for each lot that might be used to further filter results, including but not limited to:
- name
- hours of operation
- occupancy
- reservations
- reviews
Entry Datetime and Duration
The entry_time
and duration
parameters not only change the calculatedRates
(see FAQ)
but also the occupancy
prediction. Selecting an entry_time
or duration
too far in the
past or future can cause additional overhead that will slow down response time.
Sample Request
curl "https://api.parkme.com/lots?box=47.7757724964185|-122.20724916406249,47.743362594532755|-122.16227388330077&units=1&accesstoken=YOURACCESSTOKEN"
Special Response Objects
peps
PEPs are “Parking Entry/Exit Points” and they direct the user to the entry or exit points of the lot. Here’s an example:
"peps": [ { // Parking Entry Points
"pep_pt": [lon, lat], // in GeoJSON format
"pep_ppoint": "sdkjhdskj" // Polyline encoded version of the entry point
"pep_az": 218, // The azimuth of the pep
"pep_b_primary": true // One of the PEPs will be listed as "Primary".
"pep_type": "IN" // IN, OUT, or IN/OUT
}, ...
],
Remember that some lots will have more than one entry point.
Attributes List
Name/Object | Type | Description | |
---|---|---|---|
id | number | Unique ID of lot | |
photoThumbs | array of string | URL to photos of location | |
lotCategory | array | One of: “Unknown”, “University”, “Airport Adjacent”,”Park N Ride”,”Public Parking”,”Venue Lot”,”Hospital”,”Hotel” | |
pois | array | Points of interest near lot | |
ev_chargers | array | EV charger information (beta) | |
paymentID | array of dictionaries | Meter ID for transactions, keys are “company” and “id” | |
amenities | array of dictionaries | Unique features for a specific lot. Only amenities present are listed, with keys for id, name, and optional value. | |
reservations | array | Reservation related information; must include entry_time | |
structured_rates | array | Rate from rateCards parsed into a set of rule dictionaries | |
time_in | string | Entry time for rate to be applicable | |
time_out | string | Exit time for rate to be applicable | |
dow_start | number | First day of week that rate is applicable (ISO 8601), 1 means Monday, 7 means Sunday | |
dow_end | number | Last day of week when rate is applicable (ISO 8601) | |
rate | number | Cost to park per increment, 0 means free | |
increment | number | Time interval over which rate is calculated (minutes), example 60 means “one hour” | |
repeats | boolean | Cost is cumulative, example “$1 for each additional hour” | |
rate_line | string | Human-readable description | |
calculatedRates | array | Group of attributes that represent the cost of parking for user specified parameters. | |
rate_cost | number | Cost of stay | |
quoted_duration | string | Length of stay (hh:mm:ss) | |
isOpen | boolean | True: “Parking allowed” or False: “No Parking”, according to the current restrictions | |
offset | number | UTC time offset in seconds | |
tz | string | Timezone for specified area | |
name | string | Name of lot. If a lot is unnamed, then default to address (house number and street name) | |
polygon | string | Boundary of parking area represented as Google polyline | |
operator | string | Name of the company managing the lot | |
hrs | array of string | Hours of operation, human readable in local time format. Example “Sat-Sun: 9am-6pm” | |
spacesTotal | number | Capacity, total number of spaces on the lot (sum of open spaces and occupied spaces) | |
handicapSpacesTotal | number | Capacity of disabled permit parking spaces | |
distance | string | Distance from queried point or area centroid in meters | |
url | string | Link to lot page on parkme.com | |
format | string | “Surface” = Uncovered single-level lot, “Structure” = Multi-level building with every level dedicated to parking, “Subterranean” = Mixed-use building with at least 1 level dedicated to parking | |
type | string | One of: Semi Truck Only, Non-restricted, Restricted, Private, Reservation Only, Valet Only, Event Only, Permit Only, Monthly Only. Non-restricted means open to the general public; Restricted means customer or visitor only parking. | |
pmtTypes | array of string | Accepted payment types, example ‘[“Amex”, “coins”]’ | |
costIndex | number | Costliness relative to neighboring lots (1 = Cheapest, 5 = Most expensive) | |
rateCard | array of string | Full restrictions and pricing in a structured text format | |
currency | string | Currency symbol, example “$” | |
currencyIso | string | Currency in ISO-4217, example “USD” | |
note | string | Useful notes for parkers | |
reviewCount | number | Total number of reviews | |
reviewScore | number | Average scores of reviews | |
point | object | Center of polygon | |
type | string | Always “Point” | |
coordinates | array | Longitude, latitude | |
navigationAddress | object | Reverse geocoded address from primary entrance point. May be different than building (or mailing) address. | |
street | string | House number and street name | |
city | string | City | |
state | string | State | |
postal | string | Postal code | |
country | string | Country | |
type | string | Always “NAVIGATION” | |
phones | object | Collection of phone numbers | |
type | string | Lot = Call location, Central Office = Call headquarters, Monthly = Call for monthly pricing, Tow = Call if towed, Unlock = Call to unlock gate afterhours | |
number | number | Phone number | |
occupancy | object | Collection of actual or predicted metrics about open parking space availability | |
pct | number | Actual or predicted occupancy (%) | |
available | number | Actual or predicted number of unoccupied spaces | |
probability | number | Predicted likelihood of finding at least 1 open parking space | |
bucket | number | Probability classified into colors to represent likelihood of finding 1 or more open legal parking spots:, 1 = Red (unlikely), 2 = Yellow (roughly 50/50 chance), 3 = Green (likely) | |
rank | number | ||
peps | Array | Array of pep objects | |
pepPt | array | Entrance point, array of lon, lat | |
pepAz | number | Azimuth or angle from entrance point to lot centroid | |
pepPrimary | boolean | If entrance is main entrance (true) or alternate entrance | |
pepType | string | If point is entrance (“IN”) or exit only (“OUT”) or both (“IN/OUT”) | |
photos | object | Collection of pictures | |
thumbnail | string | URL to thumbnail of photo | |
buildingAddress | object | ||
street | string | House number and street | |
city | string | City | |
state | string | State | |
postal | string | Postal code | |
country | string | Country | |
type | string | Always “LEGAL” | |
reviews | array | Collection of individual reviews |
/lots
GET Get lots in a given area
Parameters
= requiredName | Located In | Type | Description |
---|---|---|---|
accesstoken | Query | String | A valid access token provided from the GET appToken API response. Alternatively, the accesstoken can be added to the request header instead of a url parameter using format 'Authorization: Bearer xxxx.xxx.xxxx'. |
id | Query | Integer | If used, other Location parameters cannot be used. An 'id' can be a single lot id or multiple separated by | symbols." |
alias | Query | String | If used, other Location parameters cannot be used. A pipe-delimited data source and lot id, eg: < data_source_key >|< lot_id >
|
box | Query | String | If used, other Location parameters cannot be used. 'box' specifies two lat/long pairs (using the WGS 84 datum) that outline a bounding box. The first lat/long pair should be the northwestern most point, and the second pair the southeastern most point, eg: < lat1 >|< long1 >,< lat2 >|< long2 > .
|
point | Query | String | Used to select a region based on a point and radius. If used, other Location parameters cannot be used, eg: < lat >|< long > .
|
radius | Query | Float | Used to select a region based on a point and radius in meters. If 'radius' is used, 'point' must also be used and 'box' / 'geoid' cannot be used." |
polygon | Query | String | Used to specify a geography region. If used, other Location parameters cannot be used, eg: < lat1 >|< long1 >,< lat2 >|< long2 >,< lat3 >|< long3 >,< lat4 >|< long4 >.
|
polyline | Query | String | Used to specify a region along a route. If used, other Location parameters cannot be used, eg: < lat1 >|< long1 >,< lat2 >|< long2 >,< lat3 >|< long3 >
|
entry_time | Query | String | yyyy-mm-ddTHH:MM format, add a Z for UTC, otherwise treated locally |
duration | Query | Integer | Duration in minutes. Can be pipe delimited for multiple durations, eg: 60|120|720|1400 |
limit | Query | Integer | Maximum number of elements to return from a large collection (for pagination). |
offset | Query | Integer | Starting index within the requested collection (for pagination) |
outputfields | Query | String | Commas separate list of output fields |
locale | Query | String | The locale as defined by ISO 15897, default: en-US |
sort | String | To optmize performance, objects are not sorted by default. Paramter value `distance` sorts to center of geo query. |