Road closure information

You can use the Waze Partner feed to provide planned and real time road closures automatically and at scale.

The planned closures you send to Waze will appear in the Waze Map Editor, and will appear on the Waze app during the actual time of the closure.

Provide road closures only in the event that all lanes in the road are closed. If your closure impacts only some of the lanes, describe the lanes impacted in the lane impact element.

For road closures to appear on the map accurately, you should follow the guidelines below and the CIFS specifications.

If your feed does not comply with the CIFS specifications, but includes all of the required data, Waze might still be able to process it. Submit your feed via the Partner Hub for validation and feedback.

In the event of incomplete or incompatible data, the closures will not automatically appear on the map, but will be sent to our Editors Community as a ‘map problem’ for manual review, approval, or rejection.

Sharing a closure

1. Specify closure tag

To map a road closure, specify ROAD_CLOSED as the tag input of the type element.

2. Structure your closure

To share a closure with Waze, specify a polyline (required) and direction (requested).

  • Polylines are sequences of coordinates that follow the road geometry and describe the stretch of road that should be closed.
  • The order of the coordinates in the polyline tells us which traffic direction is impacted.
  • direction indicates if the closure applies to one, or both directions of traffic.

For closure on one-way roads:

  • The order of the points in the polyline must match the traffic direction.
  • To avoid ambiguity and overcome mapping differences, it is recommended that you specify ONE_DIRECTION even for one-way roads.

For closures on two-way roads:

  • If the closure only affects one direction: the order of the coordinates in the polyline tells us which traffic direction to close.
  • If the closure affects both directions: share the polyline, and in the direction field, indicate BOTH_DIRECTIONS.

For a polyline extending from point A to point B, the closure will impact the traffic direction based on the direction and road type as seen below:

An image explaining polyline and direction behavior.

3. Shape your polyline

  • The closer the polyline resembles the road's geometry, the more likely it is that Waze can match it correctly and process the closure.
    It is strongly encouraged to provide multiple points for each segment between the start and end coordinates. Providing only 2 coordinates may suffice for short or straight segments, but is often the cause of processing failures.
    The following polyline correctly maintains the general shape of the road:

    Polyline image used in context.
    The following polyline does not clearly reflect the road geometry as it only provides the start and end coordinates:

    Polyline image used in context.

  • Waze will use the polyline you provided to apply the event to one or more segments on the Waze map. Note that the applied closure may be longer or slightly shorter than the polyline, since Waze can only close whole segments as configured on the Waze map.
  • If you specify only a portion of the segment for closure, the entire segment will be closed.
  • It is recommended that the start and end points of a closure be at least 30 meters apart.
  • The length of a closure should not exceed 20 km.

4. Ensure that your closure is within these guidelines:

  • Street names
    • Closures can only affect one street or road on the Waze map. The closure’s start and end coordinates must have the same street name. A reported closure that spans across different street names will probably fail processing, even if an exact polyline is provided.
    • Waze will attempt to match the street name you provide with primary or alternate road names on the Waze map at the reported location. A full or partial match will help us correctly identify which road to close, in particular when there are multiple candidates.
      • Example: I-95S, I-95 Southbound and JFK Memorial Highway would all be successfully matched to the same road.
    • To ensure that the street and road names you provide in your listing matches the ones in the Waze map, use the Waze Reverse Geocoding API or check the Waze Map Editor.
  • Feed closures can only be made on the following Waze road types:
    • Freeways
    • Highways
    • City Streets
    • Ramps
    • Private roads
  • Waze road types that cannot be closed using a feed include the following:
    • Parking lot roads
    • Off-roads (4x4) and pedestrian roads
  • Start and end times:
    • ​​Start time: You must provide a start time for a closure. If you are unsure of the start time, you can use the timestamp of the initial report, but DO NOT modify the start time after publishing the event.
    • End time: If you don't know the end time, leave it blank. Closures without an end time will be assigned a default duration (currently 2 weeks), then they will expire unless explicitly extended by specifying a new end time. You can modify the end time after publishing the event, but avoid setting end times dynamically based on the current time.

    For more detailed specifications of the Closure and Incident Feed Specification (CIFS) tags, see CIFS specification.

    Closure examples

    The following examples show a single road closure in XML and JSON formats.

    XML closure

    The following is an example of a feed containing a single road closure in XML format:

    <incidents>
      <incident id="101">
        <type>ROAD_CLOSED</type>
        <subtype>ROAD_CLOSED_CONSTRUCTION</subtype>
        <polyline>51.510090 -0.006902 51.509142 -0.006564 51.506291 -0.003640 51.503796 0.001051 51.499218 0.001687 51.497365 0.002020</polyline>
        <street>NW 12th St</street>
        <starttime>2016-04-07T09:00:00+01:00</starttime>
        <endtime>2016-04-07T23:00:00+01:00</endtime>
        <description>Closure on I-95 NB due to construction</description>
        <direction>BOTH_DIRECTIONS</direction>
      </incident>
    </incidents>

    JSON closure

    The following is an example of a feed file containing a single road closure in JSON format:

    {
      "incidents": [
        {
          "incident": {
            "id": "101",
            "type": "ROAD_CLOSED",
            "subtype": "ROAD_CLOSED_CONSTRUCTION",
            "polyline": "51.510090 -0.006902 51.509142 -0.006564 51.506291 -0.003640 51.503796 0.001051 51.499218 0.001687 51.497365 0.002020",
            "street": "NW 12th St",
            "starttime": "2016-04-07T09:00:00+01:00",
            "endtime": "2016-04-07T23:00:00+01:00",
            "description": "Closure on I-95 NB due to construction",
            "direction": "BOTH_DIRECTIONS"
          }
        }
      ]
    }

    The following examples show an entire road closure feed file in both XML and JSON formats.

    XML feed file

    The following is an example of a complete road closure feed file in XML:

    <?xml version="1.0" ?>
    <incidents xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/road-incidents/cifsv2.xsd">
        <incident id="3f4r45ff233">
          <creationtime>2017-07-04T13:31:17-04:00</creationtime>
          <updatetime>2017-11-17T04:40:41-05:00</updatetime>
          <type>ROAD_CLOSED</type>
          <description>Complete road closure due to road works</description>
          <street>N Liberty St</street>
          <direction>BOTH_DIRECTIONS</direction>
          <polyline>42.1601432984533 -119.3525208937842 42.1781676611244 -119.35679623266</polyline>
          <starttime>2017-06-05T00:01:00-04:00</starttime>
          <endtime>2017-11-22T15:30:00-05:00</endtime>
        </incident>
        <incident id="zxf3kvmrpf">
          <creationtime>2017-08-04T13:31:30-04:00</creationtime>
          <updatetime>2017-12-17T04:40:41-05:00</updatetime>
          <type>ROAD_CLOSED</type>
          <subtype>ROAD_CLOSED_CONSTRUCTION</subtype>
          <description>PLANNED ROAD CLOSURE St Johns Sdrd from William Graham to Woodbine in the Town of Aurora. Closed until Dec 31.</description>
            <street>St John's Sideroad</street>
            <direction>BOTH_DIRECTIONS</direction>
            <polyline>44.02712 -99.43131 44.023011 -99.363349 44.02712 -99.43131 44.0343021 -99.399426</polyline>
          <starttime>2017-04-18T00:01:00-04:00</starttime>
          <endtime>2017-12-31T23:59:00-05:00</endtime>
        </incident>
    </incidents>

    JSON feed file

    The following is an example of a complete road closure feed file in JSON:

    {
      "incidents": [
        {
          "id": "3f4r45ff233",
          "creationtime": "2017-07-04T13:31:17-04:00",
          "updatetime": "2017-11-17T04:40:41-05:00",
          "description": "Complete road closure due to road works",
          "street": "N Liberty St",
          "direction": "BOTH_DIRECTIONS",
          "polyline": "42.1601432984533 -119.3525208937842 42.1781676611244 -119.35679623266",
          "starttime": "2017-06-05T00:01:00-04:00",
          "endtime": "2017-11-22T15:30:00-05:00",
          "type": "ROAD_CLOSED"
        },
        {
          "id": "zxf3kvmrpf",
          "creationtime": "2017-08-04T13:31:30-04:00",
          "updatetime": "2017-12-17T04:40:41-05:00",
          "description": "St Johns Sdrd from William Graham to Woodbine in the Town of Aurora. Closed until Dec 31. ",
          "type": "ROAD_CLOSED",
          "subtype": "ROAD_CLOSED_CONSTRUCTION",
          "street": "St John's Sideroad",
          "direction": "BOTH_DIRECTIONS",
          "polyline": "44.02712 -99.43131 44.023011 -99.363349 44.02712 -99.43131 44.0343021 -99.399426",
          "starttime": "2017-04-18T00:01:00-04:00",
          "endtime": "2017-12-31T23:59:00-05:00"
        }
      ]
    }