INRIX documentation logo


The On-Street Parking API is used to return metadata information on one or more city blocks.


The API can return a single block or a list of blocks in a geographic region. A block represents a road from one intersection to the next. The concept of blocks is important for the OnStreet API to be map independant and to be conflatable to any third party map library.


Each block will have a list of one or more parking “segments”, which will include information about rates / hours that parking is available, as well as number of spaces. Returned results can be additionally filtered by their metadata. Segments are defined as a continguous parking restriction. Segments are represented either by their offsets or their geometery.

Driveways and Fire Hydrants

In order to avoid “zebra striping” in the UI/UX, we do not represent breaks in street parking <25m in our API if they do not also represent a change in parking restriction type. This includes: driveways, fire hydrates, mailboxes, crosswalks, etc. This data is collected in our backend system and is a componenet of our USS and LPR offerings, however we have not found a end-user facing purpose for it yet and therefore do not have it in our API.

Spaces Total

The spacesTotal field returned by the API is specific to each segment. The number of spaces returned here reflects the number of actual spaces in the seg,emt, this does not take into account whether the street is currently available, “isOpen”, “No Parking”, etc., but an absolute measurement of spaces.


Query Types

Block queries can be made as follows:

  1. Querying a single block for a known block id
  2. Querying a list of blocks by block id
  3. Querying a geographic region
    1. by a bounded box defined by four points
    2. by a circle defined by a point and radius

Filtering and Pagination

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.

Entry Datetime and Duration

The entry_dt and duration parameters not only change the calculatedRates (see FAQ) but also the availability prediction. Selecting an entry_dt or duration too far in the past or future can case additional overhead that will slow down response time.

Example /blocks request

GET|-122.352635,47.6085|-122.327074&accesstoken=YOURACCESSTOKEN HTTP/1.1
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


GET Get blocks in a given area.


  = 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'.
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 Double 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."
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 Comma separated list of output fields
restrictions Query String Comma separated list of restriction IDs as returned from the Filters API
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.


200 block segments returned
    "result": [
            "m_id": "9419",
            "name": "Virginia St from 4th Ave to 5th Ave",
            "probability": 77,
            "segments": [
                    "start": 11,
                    "rateCards": [
                        "Each 12 Min (Mon-Sat; 09:00-23:00): €0.20",
                        "Max (Mon-Sat; 09:00-23:00): €6",
                        "Mon-Sat (23:00-09:00): Free",
                        "Sun: Free",
                        "Residential Permit Only: Free"
                    "rateCard": "Each 12 Min (Mon-Sat; 09:00-23:00): €0.20\nMax (Mon-Sat; 09:00-23:00): €6\nMon-Sat (23:00-09:00): Free\nSun: Free\nResidential Permit Only: Free",
                    "calculatedRates": [
                            "rate_cost": 0,
                            "quoted_duration": "1:00:00",
                            "rate_type": "B"
                    "structuredRates": [
                            "dow_start": 1,
                            "repeats": true,
                            "increment": 12,
                            "dow_end": 6,
                            "time_in": "09:00-23:00",
                            "rate": 0.2
                            "dow_start": 1,
                            "repeats": true,
                            "increment": 840,
                            "dow_end": 6,
                            "time_in": "09:00-23:00",
                            "rate": 6
                            "dow_end": 6,
                            "time_in": "23:00-09:00",
                            "rate": 0,
                            "dow_start": 1
                            "dow_end": 7,
                            "dow_start": 7,
                            "repeats": true,
                            "rate": 0,
                            "increment": 1440
                            "dow_end": 6,
                            "dow_start": 1,
                            "repeats": true,
                            "rate": 0,
                            "increment": 1440
                    "isOpen": true,
                    "polyline6": "kjjyzAytaaUpOq[",
                    "spacesTotal": 8,
                    "side": "RIGHT",
                    "segmentID": "60d754de-d5e2-4008-8239-803a6b7e431d",
                    "polyline": "qvydH}mreAt@{A",
                    "paymentID": ["53002"],
                    "end": 58
            "blockID": "9419",
            "bucket": 2,
            "streetID": "cf333060-eb0d-4304-8d11-fd789b5bb832",
            "currency": "$",
            "i_flag": 1, // 1 = internal, 2 = street-dynamic, 3 = street-static
            "reservations": [],
            "polyline": "mlraHnpuiViCgD",
            "address": "Virginia St from 4th Ave to 5th Ave",
            "pmtTypes": [
            "photoThumbs": [
400 Bad request
401 invalid or expired token
404 instance not found

POST Update details of a block or segment in a given area.