{
  "openapi": "3.0.1",
  "info": {
    "title": "Waze Route & City Monitor",
    "description": "Monitor Waze traffic alerts and jams across multiple city areas and route corridors with one dataset item per incident, jam, or route summary.",
    "version": "4.3",
    "x-build-id": "U9d8WBb9YHfgNMyK7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mai_amm~waze-route-city-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mai_amm-waze-route-city-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/mai_amm~waze-route-city-monitor/runs": {
      "post": {
        "operationId": "runs-sync-mai_amm-waze-route-city-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/mai_amm~waze-route-city-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-mai_amm-waze-route-city-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "accessMode": {
            "title": "Access mode",
            "enum": [
              "preview",
              "full"
            ],
            "type": "string",
            "description": "Preview mode collects up to 50 redacted traffic items for evaluation and does not write full rows to the paid dataset. Full dataset mode is available only to Apify paid-plan users, writes results to the default dataset, and is charged per result.",
            "default": "preview"
          },
          "sampleMode": {
            "title": "Use sample data",
            "type": "boolean",
            "description": "Runs a small built-in Waze-like sample feed. Keep enabled for quick evaluation runs; disable it to query live Waze areas.",
            "default": true
          },
          "allowSampleFallback": {
            "title": "Fallback to sample data",
            "type": "boolean",
            "description": "When live Waze access is blocked, save sample rows instead of failing. Keep disabled when you need only live data.",
            "default": false
          },
          "mode": {
            "title": "Monitor mode",
            "enum": [
              "city",
              "routes",
              "both",
              "partnerFeed"
            ],
            "type": "string",
            "description": "Choose whether to monitor city areas, route corridors, Waze partner feeds, or both city areas and routes.",
            "default": "city"
          },
          "cityPresets": {
            "title": "Cities",
            "type": "array",
            "description": "Pick one or more ready-made city centers. For other cities, use Custom locations below.",
            "items": {
              "type": "string",
              "enum": [
                "bangkok",
                "phnom_penh",
                "ho_chi_minh",
                "jakarta",
                "manila",
                "kuala_lumpur",
                "singapore",
                "new_york",
                "london",
                "paris"
              ],
              "enumTitles": [
                "Bangkok",
                "Phnom Penh",
                "Ho Chi Minh City",
                "Jakarta",
                "Manila",
                "Kuala Lumpur",
                "Singapore",
                "New York",
                "London",
                "Paris"
              ]
            },
            "default": [
              "paris"
            ]
          },
          "locations": {
            "title": "Custom locations",
            "type": "array",
            "description": "Optional. Add any city or area by coordinates. Radius is in km.",
            "items": {
              "type": "object",
              "required": [
                "latitude",
                "longitude"
              ],
              "properties": {
                "name": {
                  "title": "Name",
                  "description": "Area name.",
                  "type": "string"
                },
                "latitude": {
                  "title": "Latitude",
                  "description": "Center latitude.",
                  "type": "number"
                },
                "longitude": {
                  "title": "Longitude",
                  "description": "Center longitude.",
                  "type": "number"
                },
                "radiusKm": {
                  "title": "Radius km",
                  "description": "Search radius in kilometers.",
                  "type": "number",
                  "minimum": 1,
                  "maximum": 100
                }
              }
            }
          },
          "partnerFeedUrls": {
            "title": "Waze partner feed URLs",
            "type": "array",
            "description": "Authorized Waze Data Feed or partner feed URLs. Use Monitor mode = Partner feed URLs for reliable live data that is not blocked by the public live-map anti-bot layer.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "name": {
                  "title": "Name",
                  "description": "Feed label.",
                  "type": "string"
                },
                "url": {
                  "title": "URL",
                  "description": "JSON, XML, RSS, or GeoRSS feed URL.",
                  "type": "string"
                }
              }
            },
            "default": []
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of alerts, jams, and route summaries to collect. Preview mode is capped by Free preview rows. Full dataset mode writes this many rows to the paid default dataset.",
            "default": 50
          },
          "freePreviewLimit": {
            "title": "Free preview rows",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Preview mode limit. The Actor saves up to this many redacted rows to PREVIEW without writing full paid dataset rows.",
            "default": 50
          },
          "includeAlerts": {
            "title": "Include alerts",
            "type": "boolean",
            "description": "Accidents, hazards, police reports, road closures, and similar Waze alerts.",
            "default": true
          },
          "includeTrafficJams": {
            "title": "Include traffic jams",
            "type": "boolean",
            "description": "Traffic jams with speed, delay, severity, length, and route geometry when available.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Residential proxy is recommended. Leave country unset first.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          },
          "browserHeadless": {
            "title": "Run browser headless",
            "type": "boolean",
            "description": "Use headless browser fallback when Waze requires a browser session. Keep enabled in Apify runs.",
            "default": true
          },
          "browserFallback": {
            "title": "Try browser fallback",
            "type": "boolean",
            "description": "Best-effort retry through a browser session when public live-map requests are blocked. This can be slow and is disabled by default; partner feed URLs are recommended for reliable live data.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}