{
  "openapi": "3.0.1",
  "info": {
    "title": "VIN Decoder Bulk: Specs, Recalls, MPG & Fuel Cost per Mile",
    "description": "Decode VINs in bulk with official NHTSA vPIC data: year, make, model, trim, engine. Adds NHTSA recall campaigns, EPA MPG and fuel cost per mile from EIA weekly gas prices, next to the IRS mileage rate. No API key.",
    "version": "0.1",
    "x-build-id": "8mOa5Ud3X2UUdbg5W"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/infocomp~bulk-vin-decoder-recalls-mpg/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-infocomp-bulk-vin-decoder-recalls-mpg",
        "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/infocomp~bulk-vin-decoder-recalls-mpg/runs": {
      "post": {
        "operationId": "runs-sync-infocomp-bulk-vin-decoder-recalls-mpg",
        "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/infocomp~bulk-vin-decoder-recalls-mpg/run-sync": {
      "post": {
        "operationId": "run-sync-infocomp-bulk-vin-decoder-recalls-mpg",
        "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",
        "required": [
          "vins"
        ],
        "properties": {
          "vins": {
            "title": "VINs",
            "type": "array",
            "description": "One 17-character Vehicle Identification Number per line (cars, trucks, SUVs, vans, motorcycles; 1981 and newer). Spaces and dashes are removed; duplicates are decoded once. Paste hundreds or thousands at a time.",
            "items": {
              "type": "string"
            }
          },
          "state": {
            "title": "State for fuel prices",
            "type": "string",
            "description": "Two-letter US state (e.g. TX, CA, NY) used to pick the EIA weekly fuel price. EIA publishes state prices for CA, CO, FL, MA, MN, NY, OH, TX and WA; other states use their regional (PADD) price, and US uses the national average. The area used is shown in each row.",
            "default": "US"
          },
          "annualMiles": {
            "title": "Miles driven per year",
            "minimum": 0,
            "type": "integer",
            "description": "Used for annualFuelCostAtCurrentPrice. A full-time rideshare or delivery driver often drives 25,000-40,000 miles a year.",
            "default": 15000
          },
          "includeRecalls": {
            "title": "Include NHTSA recall campaigns",
            "type": "boolean",
            "description": "All NHTSA safety recall campaigns for the decoded model year, make and model, with Do Not Drive and Park Outside flags. Note: this cannot confirm whether a recall is still open on a specific VIN.",
            "default": true
          },
          "includeModelVariantRecalls": {
            "title": "Also include recalls for model variants",
            "type": "boolean",
            "description": "Off: recalls filed under the exact model name (plus the HYBRID name for hybrids). On: also recalls filed under names that start with the model, e.g. CAMRY SOLARA for Camry. More complete, but may include variants that are not this vehicle.",
            "default": false
          },
          "includeFuelEconomy": {
            "title": "Include EPA MPG and fuel cost per mile",
            "type": "boolean",
            "description": "Matches each vehicle to EPA fuel economy data (city, highway, combined MPG, annual fuel cost) and computes fuel cost per mile from the latest EIA weekly fuel price, next to the IRS business mileage rate.",
            "default": true
          },
          "electricityPricePerKwh": {
            "title": "Electricity price for EVs ($/kWh, optional)",
            "type": "string",
            "description": "For battery-electric vehicles, e.g. 0.17. Leave empty to use EPA's own annual cost estimate for EVs."
          },
          "includeFullDecode": {
            "title": "Include the full vPIC decode",
            "type": "boolean",
            "description": "Adds every non-empty field NHTSA vPIC returns (about 150 possible: airbags, safety systems, wheelbase, battery, etc.) as a nested 'vpic' object.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum VINs",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many VINs. Leave empty for no limit (your max cost per run still applies)."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}