INRIX IQ 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

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

  = 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_chargers": [
        {
          "site_code": "cdb05f03-42b0-11e3-8ff9-00259079a43a",
          "names": [
            {
              "name": "Test EV Charger",
              "locale": "en-US"
            }
          ],
          "display_point": {
            "coordinates": {
              "latitude": "48.2137165",
              "longitude": "-1.5050396"
            }
          },
          "ports": [
            {
              "connector_type": "TYPE_3",
              "id": "1",
              "voltage_volt": "400",
              "current_amps": "32",
              "level": "LEVEL 3",
              "power_kw": "22.00"
            }
          ],
          "manufacturer": "Renault",
          "network": "Renault",
          "reservable": "false"
        }
      ],
      "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