Parking API Reference

The RESTful Parking API provides users the means to enhance their existing location-based applications and encourage more efficient automotive parking operations. The API exposes a subset of the extensive normalized dataset maintained by Urban Mapping. You may contact us for more information, pricing and terms. Technical questions should be directed to support@urbanmapping.com.

This API exposes two search methods:

Given a particular Parking Lot ID, additional detail is available by resource:

API Calls

An API call is structured as follows:

http://park1.urbanmapping.com/{resource_path|method}.{result_format}?apikey={API key}&sig={encrypted_key}&{method parameters}

Sample calls:

Example 1, find nearby lots (result in JSON):
http://park1.urbanmapping.com/find/lots/near_point.json?lat=37.0&lng=-121&dx=1000&apikey=ABCDEFG&sig=MD5_encrypted_key

Example 2, requesting details for a single lot (result in XML): 
http://park1.urbanmapping.com/lot/1234.xml?apikey=ABCDEFG&sig=MD5_encrypted_key

You must use a valid API key and provide an encrypted key with every request. Please complete a request form regarding pricing and terms for this service.

The REST API supports HTTP-GET queries. All methods accept the following parameters.

Universal Parameters (* = required)

apikey (GET Request Parameter) *
Developer API Key

sig (GET Request Parameter)*

Time-sensitive encrypted string regenerated for each request. See documentation on how to generate the sig parameter.

format (Resource specifier)

The desired response format in lowercase. Supported formats are: html, json, xml. This parameter modifies the requested resource path: i.e. /lot/1234.json, /find/lots.xml

Searching by Location

Find Parking Lots Near A Point

Returns a list of parking lots closest to a particular geographic point.

Resource Location: /find/lots/near_point

Request Parameters

lat (Float)
A WGS-84 latitude, in degrees.

lng (Float)
A WGS-84 longitude, in degrees.

dx (Integer) optional
Maximum search range (default unit is meters). Defaults to 500m.  Max is 20,000m.

unit (str) optional
Change the units for search range. Possible values inclue 'm', 'km', 'ft', 'yd', 'mi'.

Example

http://park1.urbanmapping.com/find/lots/near_point.xml?apikey=...&sig=...&lat=40.767452&lng=-73.982568&dx=100

Response Object

View sample JSON or XML output.

Find Parking Lots Near Address

Returns a list of parking lots closest to an address.

Resource Location: /find/lots/near_address

Request Parameters

street (String)
A street address

city (String)
A city name.

state (String)
A US state (full name or postal abbreviation).

dx (Integer) optional
Maximum search range (default unit is meters). Defaults to 500m.  Max is 20,000m.

unit (str) optional
Change the units for search range. Possible values include 'm', 'km', 'ft', 'yd', 'mi'.

Example

http://park1.urbanmapping.com/find/lots/near_address.xml?apikey=...&sig=...&street=690%205th%20Street&city=San%20Francisco&state=CA&zipcode=94107&dx=1000

Response Object

View sample JSON or XML output.

Response Object (XML)

<?xml version="1.0" encoding="UTF-8"?>
<result>
  <lot>
    <id>485</id>
    <distance>42.1566263553</distance>
  </lot>
  <lot>
    <id>488</id>
    <distance>67.7748722678</distance>
  </lot>
  <lot>
    <id>496</id>
    <distance>90.7200511346</distance>
  </lot>
</result>

Response Object (JSON)

{
  "lots": [
    { "id": 485, "distance": 42.1566263553 },
    { "id": 488, "distance": 67.7748722678 },
    { "id": 496, "distance": 90.7200511346 }
  ]
}

View Resources

Parking Lot Details

Provides basic information about a Parking Lot including address, contact details, payment options, and vehicular restrictions.

Resource Location: /lot/{lot_id}

Example

http://park1.urbanmapping.com/lot/1234.xml?apikey=...&sig=...

Response Object (XML)

<?xml version="1.0" encoding="UTF-8"?>
<result>
  <lot>
    <id>1234</id>
    <street>228 Boulevard</street>
    <city>Pittsburgh</city>
    <state></state>
    <country></country>
    <postalcode>15219</postalcode>
    <phone>4125607230</phone>
    <fax></fax>
    <timezone></timezone>
    <operator_id></operator_id>
    <website></website>
    <type_id></type_id>           
    <valet_id></valet_id> 
    <security></security>
    <attended></attended> 
    <validation_available></validation_available>
    <validation_notes></validation_notes>
    <monthly_rate></monthly_rate> 
    <monthly_spots_available></monthly_spots_available> 
    <is_free></is_free> 
    <max_clearance_feet></max_clearance_feet> 
    <oversized_rate></oversized_rate>
    <oversized_notes></oversized_notes>
    <accepts_visa></accepts_visa>
    <accepts_mastercard></accepts_mastercard>
    <accepts_amex></accepts_amex>
    <accepts_debit></accepts_debit>
    <accepts_prepaid></accepts_prepaid>
    <paystation_id></paystation_id>
    <number_of_spaces></number_of_spaces>
    <typical_fillup_time></typical_fillup_time> 
    <monthly_rate_notes></monthly_rate_notes>
    <point>POINT (40.4014560000000031 -79.9854890000000012)</point>
    <footprint></footprint>
  </lot>
</result>

Response Object (JSON)

{
  "lot": {
    "id": 1234,
    "street": "228 Boulevard",  
    "city": "Pittsburgh",
    "state": null,
    "country": null,
    "postalcode": "15219",
    "phone": "4125607230",
    "fax": null,
    "timezone": null,
    "operator_id": null,
    "website": null,
    "type_id": null,
    "valet_id": null,
    "security": null,
    "attended": null,
    "validation_available": null,
    "validation_notes": null,
    "monthly_rate": null, 
    "monthly_spots_available": null,
    "is_free": null,
    "max_clearance_feet": null,
    "oversized_rate": null,
    "oversized_notes": null,
    "accepts_visa": false,
    "accepts_mastercard": false,
    "accepts_amex": null,
    "accepts_debit": null,
    "accepts_prepaid": null,
    "paystation_id": null,
    "number_of_spaces": null,
    "typical_fillup_time": null,
    "monthly_rate_notes": null,
    "point": "POINT (40.4014560000000031 -79.9854890000000012)",
    "footprint": null
  }
}

Get Special Rates

Returns a list of rates for a particular lot that are billed on a daily or monthly basis.

Request Parameters:

lot_id (Integer)
ID of the lot in question.

Resource Location: /lot/{lot_id}/specialrates

Response Object (XML)

<result>
    <specialrates>
        <specialrate>
            <id>60752</id>
            <type>Monthly</type>
            <label>NonReserved Monthly</label>
            <rate>80.00</rate>
        </specialrate>
        <specialrate>
            <id>48</id>
            <type>Event</type>
            <label>Milwaukee Bucks</label>
            <rate>5.00</rate>
        </specialrate>
        <specialrate>
            <id>49</id>
            <type>Event</type>
            <label>WWF</label>
            <rate>5.00</rate>
        </specialrate>
        <specialrate>
            <id>67</id>
            <type>Event</type>
            <label>Marquette games</label>
            <rate>5.00</rate>
        </specialrate>
        <specialrate>
            <id>68</id>
            <type>Event</type>
            <label>Milwaukee Wave</label>
            <rate>3.00</rate>
        </specialrate>
        <specialrate>
            <id>103</id>
            <type>Event</type>
            <label>Milwaukee Admirals</label>
            <rate>3.00</rate>
        </specialrate>
        <specialrate>
            <id>104</id>
            <type>Event</type>
            <label>Concerts</label>
            <rate>5.00</rate>
        </specialrate>
    </specialrates>
</result>

Response Object (JSON)

{
"special_rates":[
{ "id":60752, "type":"Monthly", "label":"NonReserved Monthly", "rate":80.00 },
{ "id":48, "type":"Event", "label":"Milwaukee Bucks", "rate":5.00 },
{ "id":49, "type":"Event", "label":"WWF", "rate":5.00 },
{ "id":67, "type":"Event", "label":"Marquette games", "rate":5.00 },
{ "id":68, "type":"Event", "label":"Milwaukee Wave", "rate":3.00 },
{ "id":103, "type":"Event", "label":"Milwaukee Admirals", "rate":3.00 },
{ "id":104, "type":"Event", "label":"Concerts", "rate":5.00 }
]
}

Lot Images

Returns a list of URLs for images associated with the given lot.

Request Parameters:

lot_id (Integer)
ID of the lot in question.

Resource Location: /lot/{lot_id}/images

Response Object (XML)

<?xml version="1.0" encoding="UTF-8"?>
<result>
  <images count="1">
    <image>
      <description>Entrance</description>
      <width>600</width>
      <height>474</height>
      <url>http://park1.mashery.urbanmapping.com/lot/3048/image/0</url>
    </image>
  </images>
</result>

Response Object (JSON)

{
  "images": [
    { "description" : "Entrance",
      "url": "http://park1.mashery.urbanmapping.com/lot/3048/image/0",
      "width":600,
      "height":474
    }
  ]
}