INRIX documentation logo

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

  1. Querying a single lot for a known lot id
  2. Querying a list of lots by lot id or by operator alias
  3. Querying a geographic region
    1. by a bounded box defined by four points
    2. by a circle defined by a point and radius
    3. by a polygon defined by a list of points
    4. by a route defined by a list of points
  4. 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:

  1. name
  2. hours of operation
  3. occupancy
  4. reservations
  5. 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

GET http://parking-api.inrix.com/lots?box=47.7757724964185|-122.20724916406249,47.743362594532755|-122.16227388330077&units=1 HTTP/1.1
Host: parking-api.inrix.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
Accept: application/json
Accept-Encoding: gzip, deflate
Authorization: Bearer
INRIXClientAgent:

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 URLs specifically for displaying thumbnails
lotCategory   array Type of Lot
pois   array Points of interest near lot
ev_stations   array EV charger information
paymentIDs   array  
amenities   array Unique features for a specific lot
reservations   array Reservation related information; must include entry_time
structured_rates   array Each individual rate from rateCard parsed into parameters
calculatedRates   array Group of attributes that represent the cost of parking for user specified parameters.
isOpen   boolean Parking allowed or No Parking
offset   number UTC time offset in seconds
tz   string Timezone for specified area
name   string Name of lot, if lot is unnamed, then default to address (house number and street name).
polygon   string Boundary of parking area represented as polyline
operator   string Company managing location
hrs   array Hours of operation
spacesTotal   number Total number of parking spaces
handicapSpacesTotal   number Total number of disabled parking spaces
distance   string Distance from queried point or area centroid in meters
url   string Link to lot page on parkme.com
format   string Lot architecture: 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 Lot type
pmtTypes   array Accepted payment methods
costIndex   number Costliness relative to neighboring lots (1-5)
rateCard   array List of available rates
currency   string Currency symbol
currencyIso   string Currency in ISO-4217
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   object  
pepPt pepPt array Entrance point. Where vehicle may enter the lot.
  pepAz number Azimuth or angle from entrance point to lot centroid
  pepPrimary string If entrance is main entrance or alternate entrance
  pepType string If point is entrance or exit only
  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   object Collection of individual reviews

/lots

GET Get lots in a given area

Parameters

  = required
Name 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.

Responses

200 Lot objects returned
{
  "copyright": "Copyright INRIX Inc.",
  "versionNumber": "5.2",
  "createdDate": "2019-04-10T18:09:34Z",
  "responseId": "4e70bdb1-b314-4422-ba55-86f410498c05",
  "result": [
    {
      "reviewCount": 0,
      "paymentIDs": [
      ],
      "spacesTotal": 97,
      "operator": "ABM",
      "navigationAddress": {
        "street": "123 W 3rd St",
        "city": "Dayton",
        "state": "OH",
        "postal": "45402",
        "country": "US",
        "type": "NAVIGATION"
      },
      "name": "City of Dayton Municipal Parking Garage",
      "structured_rates": [
        {
          "time_in": "00:00-17:00",
          "dow_start": 1,
          "dow_end": 5,
          "rate": 2,
          "increment": 60
        },
        {
          "time_in": "00:00-17:00",
          "dow_start": 1,
          "dow_end": 5,
          "rate": 1,
          "increment": 30,
          "max": 1440,
          "repeats": true,
          "additional": 60
        },
        {
          "time_in": "00:00-23:59",
          "time_out": "00:00-23:59",
          "dow_start": 1,
          "dow_end": 7,
          "rate": 8
        },
        {
          "time_in": "17:00-00:00",
          "dow_start": 1,
          "dow_end": 5,
          "rate": 3
        },
        {
          "dow_start": 6,
          "dow_end": 7,
          "rate": 3
        }
      ],
      "pois": [
      ],
      "rateCard": [
        "1 Hour: $2",
        "Each Add'l 30 Min: $1",
        "Daily Max: $8",
        "Evening (In After 5pm): $3",
        "Sat-Sun: $3",
        "Rates Reset At 4am",
        "Event Rates Supersede Other Rates"
      ],
      "type": "Non-restricted",
      "peps": [
        {
          "pepPt": [
            -84.1945320021,
            39.7592129757
          ],
          "pepAz": 1,
          "pepPrimary": null,
          "pepType": "IN"
        }
      ],
      "url": "https://www.parkme.com/lot/92947/city-of-dayton-municipal-parking-garage-dayton-oh",
      "hrs": [
        "Mon-Sun: 12am-11:59pm",
        "No Overnight Parking"
      ],
      "costIndex": 2,
      "photoThumbs": [
        "https://d13esfgglb25od.cloudfront.net/lot_img/92947/7c5b96dc1c4645c2aaf1beb8b0621bf9_thumb.jpg",
        "https://d13esfgglb25od.cloudfront.net/lot_img/92947/3d371d958d6a48ae816dfc4ca47b2420_thumb.jpg",
        "https://d13esfgglb25od.cloudfront.net/abm.png"
      ],
      "occupancy": {
        "probability": 57,
        "pct": 65,
        "rank": 1,
        "bucket": 2,
        "available": null
      },
      "note": "Lost Ticket Pays Max",
      "reviewScore": 0,
      "lotCategory": "Public Parking",
      "reservations": [
      ],
      "id": 92947,
      "currencyIso": "USD",
      "phone": "(937) 225-4572",
      "ev_stations": [
        {
          "level": null,
          "minVolt": 0,
          "maxVolt": 0,
          "minAmp": 0,
          "maxAmp": 0,
          "rateCard": null,
          "url": null,
          "phone": "(937) 225-4572",
          "restriction": "PUBLIC",
          "plugs": {
            "nema515": 0,
            "nema520": 0,
            "nema14-50": 0,
            "j1772": 2,
            "sae-css": 0,
            "teslaHpwc": 0,
            "teslaSuper": 0,
            "threePhase32A": 0,
            "euroPlug": 0,
            "ukCommando": 0,
            "caravanSocket": 0,
            "chinaBGT": 0
          },
          "pmt_types": [
          ]
        }
      ],
      "amenities": [
        {
          "id": 2,
          "name": "Max Height",
          "value": 82,
          "metric": 2.0828
        },
        {
          "id": 4,
          "name": "EV Chargers",
          "value": true
        },
        {
          "id": 9,
          "name": "Covered Parking Available",
          "value": true
        },
        {
          "id": 18,
          "name": "Credit Cards Accepted",
          "value": true
        }
      ],
      "format": "Structure",
      "currency": "$",
      "pmtTypes": [
        "Amex",
        "Bills",
        "Coins",
        "Debit card",
        "Discover",
        "MC/Visa"
      ],
      "handicapSpacesTotal": 0,
      "distance": 167,
      "buildingAddress": {
        "street": "123 W 3rd St",
        "city": "Dayton",
        "state": "OH",
        "postal": "45402",
        "country": "US",
        "type": "LEGAL"
      },
      "point": {
        "type": "Point",
        "coordinates": [
          -84.1945268525,
          39.7595346846
        ]
      },
      "polygon": "qntqFxd{`ONxAsB^KmAb@IAKlAU",
      "phones": [
        {
          "type": "Lot",
          "number": "(937) 225-4572"
        },
        {
          "type": "Central Office",
          "number": "(937) 461-2916"
        }
      ],
      "calculatedRates": null,
      "isOpen": null,
      "reviews": [
      ],
      "photos": [
        {
          "thumbnail": "https://d13esfgglb25od.cloudfront.net/lot_img/92947/3d371d958d6a48ae816dfc4ca47b2420_thumb.jpg",
          "assetTypes": [
            "Entrance"
          ],
          "full": "https://d13esfgglb25od.cloudfront.net/lot_img/92947/3d371d958d6a48ae816dfc4ca47b2420.jpg",
          "medium": "https://d13esfgglb25od.cloudfront.net/lot_img/92947/3d371d958d6a48ae816dfc4ca47b2420_medium.jpg"
        },
        {
          "thumbnail": "https://d13esfgglb25od.cloudfront.net/lot_img/92947/7c5b96dc1c4645c2aaf1beb8b0621bf9_thumb.jpg",
          "assetTypes": [
            "Entrance"
          ],
          "full": "https://d13esfgglb25od.cloudfront.net/lot_img/92947/7c5b96dc1c4645c2aaf1beb8b0621bf9.jpg",
          "medium": "https://d13esfgglb25od.cloudfront.net/lot_img/92947/7c5b96dc1c4645c2aaf1beb8b0621bf9_medium.jpg"
        },
        {
          "thumbnail": "https://d13esfgglb25od.cloudfront.net/lot_img/92947/49dfcb1bc5b04baa839c031a039e7282_thumb.jpg",
          "assetTypes": [
            "Rates"
          ],
          "full": "https://d13esfgglb25od.cloudfront.net/lot_img/92947/49dfcb1bc5b04baa839c031a039e7282.jpg",
          "medium": "https://d13esfgglb25od.cloudfront.net/lot_img/92947/49dfcb1bc5b04baa839c031a039e7282_medium.jpg"
        },
        {
          "thumbnail": "https://d13esfgglb25od.cloudfront.net/abm.png",
          "assetTypes": [
            "OPERATOR_LOGO"
          ],
          "full": "https://d13esfgglb25od.cloudfront.net/abm.png",
          "medium": "https://d13esfgglb25od.cloudfront.net/abm.png"
        }
      ],
      "offset": -14400,
      "tz": "EDT"
    }
  ]
}
400 Bad request
401 invalid or expired token
404 lot instance not found

/lot

POST Create a new parking lot

Parameters

  = required
Name Located In Type Description
user Body String A unique user id
lng Body Float longitude
lat Body Float latitude
pk_lot_type_id Body Integer A lot type id.(Resticted /Non-restricted etc.)
pk_lot_status_id Body Integer A lot status id.(Default takes 1)
address Body Integer Lot address based on longitude and latitude.
destination Body Integer A lot destination.
pk_operator Body Integer A lot operator id
restrictive Body Boolean Is Restrictive Lot ?
building_address Body Integer Building's legal address.
cloneFrom Body Integer A lot destination.

Responses

200 Lot object Updated.
{

   'pk_meter_type’:2,
   'dt_create_date':datetime.datetime(2017,9,18,20,21,33,210010,tzinfo=<UTC>),
   'str_gc_address':'335 Wilshire Blvd',
   'i_lot_id':2375,
   'pk_payment_method_source':1,
   'pk_user_modified':552701,
   'pk_lot_status':6,
   'pk_lot_type':2,
   'dt_effective_timestamp':datetime.datetime(2017,9,18,20,21,33,210010,tzinfo=<UTC>),
   'tz':'America/Los_Angeles',
   'str_modified_who’:’user_email@inrix.com'
}
400 Bad request
404 lot instance not found
409 Conflict/Duplicate Record
500 Internal Error

/lots/{lot_id}/

PUT Update parking lot details

Parameters

  = required
Name Located In Type Description
Accepts Header String 'application/json' or 'application/xml'
pk_user_profile Body String A unique user id
f_id Body Integer A unique lot id
pk_lot_type Body Integer A lot type id
f_long Body Float longitude
f_lat Body Float latitude
i_spaces Body Integer Total Number Of Spaces
i_floors Body Integer Total Number of Floors.
str_gc_address Body String Address information
pk_lot_status Body Integer Status of Lot.
pk_lot_format Body Integer Format of Lot.
ppoly_array Body Array of string ppoly_array.
pk_lot_status Body Integer Status of Lot.

Responses

200 Lot object Updated.
400 Bad request
401 invalid or expired token
404 lot instance not found
500 Internal Error