{
  "openapi": "3.0.1",
  "info": {
    "title": "Vehicle Problems Feed — NHTSA Complaints, Recalls & Mileage",
    "description": "Known problems for any car make, model and year from official NHTSA data: complaints ranked by component, mileage at failure, recurring symptoms, crash/fire counts, recalls, investigations and service bulletins. VIN input and new-complaint alerts.",
    "version": "0.1",
    "x-build-id": "eNYqlHlPgCy4cXJrz"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/signalloom~vehicle-problems-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-signalloom-vehicle-problems-feed",
        "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/signalloom~vehicle-problems-feed/runs": {
      "post": {
        "operationId": "runs-sync-signalloom-vehicle-problems-feed",
        "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/signalloom~vehicle-problems-feed/run-sync": {
      "post": {
        "operationId": "run-sync-signalloom-vehicle-problems-feed",
        "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": {
          "vehicles": {
            "title": "Vehicles (year, make, model)",
            "type": "array",
            "description": "One vehicle per line: model year, make and model, e.g. \"2019 Jeep Cherokee\". Year ranges work too: \"2017-2019 Honda CR-V\" gives one summary per year. Spaces and dashes in model names don't matter (\"CRV\" = \"CR-V\"). Leave empty (and no VINs) to run the three example vehicles.",
            "items": {
              "type": "string"
            }
          },
          "vins": {
            "title": "VINs",
            "type": "array",
            "description": "Optional 17-character VINs. Each is decoded with NHTSA's free vPIC decoder into model year, make and model, then summarized like the vehicles above.",
            "items": {
              "type": "string"
            }
          },
          "components": {
            "title": "Only these components",
            "type": "array",
            "description": "Optional. Limit complaints, recalls and service bulletins to these NHTSA component groups, e.g. \"POWER TRAIN\", \"ENGINE\", \"ELECTRICAL SYSTEM\", \"SERVICE BRAKES\", \"AIR BAGS\", \"STEERING\". Partial names work (\"brakes\"). Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "maxComponents": {
            "title": "Components per vehicle",
            "minimum": 1,
            "maximum": 40,
            "type": "integer",
            "description": "How many components to list per vehicle, ranked by number of complaints. The rest are summed in otherComponents.",
            "default": 10
          },
          "compareYears": {
            "title": "Compare with the model's other years (problemScore)",
            "type": "boolean",
            "description": "Compare this year's complaint count with the same model's nearby model years. Adds a few small requests per vehicle.",
            "default": true
          },
          "compareWindow": {
            "title": "Years before and after to compare",
            "minimum": 1,
            "maximum": 6,
            "type": "integer",
            "description": "problemScore compares with up to this many model years before and after (3 = up to 7 years in total). Years NHTSA has no complaints for are skipped.",
            "default": 3
          },
          "includeInvestigationsAndCommunications": {
            "title": "Include investigations and service bulletins",
            "type": "boolean",
            "description": "Add NHTSA defect investigations and manufacturer communications (technical service bulletins and similar notices) for each vehicle.",
            "default": true
          },
          "maxCommunications": {
            "title": "Service bulletins listed per vehicle",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "How many of the newest manufacturer communications to list with their titles. All of them are always counted.",
            "default": 15
          },
          "complaintDetails": {
            "title": "Also output individual complaints",
            "type": "boolean",
            "description": "Add one extra record per complaint (newest first; only the selected components if you set a filter) with dates, components, mileage and the complaint text. E-mails, phone numbers, VINs and obvious names are removed from the text. Charged per complaint record.",
            "default": false
          },
          "maxComplaintDetails": {
            "title": "Complaint details per vehicle",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum individual complaint records per vehicle when \"Also output individual complaints\" is on.",
            "default": 25
          },
          "onlyNew": {
            "title": "Only vehicles with new complaints or recalls (monitor)",
            "type": "boolean",
            "description": "Output a vehicle only when NHTSA has new complaints or recalls for it since the last run with the same monitor name. The first run outputs every vehicle and remembers the current state. Use with a schedule.",
            "default": false
          },
          "monitorId": {
            "title": "Monitor name",
            "type": "string",
            "description": "Keeps separate memories for different watch lists, e.g. \"fleet\" or \"client-a\". Letters, digits, - and _.",
            "default": "default"
          },
          "maxVehicles": {
            "title": "Max vehicles",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Safety cap on the number of make/model/year combinations per run (after expanding year ranges and VINs).",
            "default": 30
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}