Bulk VIN API – Vehicle History Reports Docs

Your personal API key is on the APIs page of your account. The examples below use the fake key 123_EXAMPLE-not-a-real-key.

Service status — check live API status
Open status page

Using WordPress? Install our plugin to take vehicle report orders on your own site automatically. See the BulkVIN Vehicle Report API for WordPress: https://bulkvin.com/wordpress-plugin/ (password protected — contact support for access).

Complete VIN check WooCommerce website templates are also available.

Records Credit

Method: GET

Request:

https://bulkvin.com/restapi/credit/?key={api_key}

Example request:

https://bulkvin.com/restapi/credit/?key=123_EXAMPLE-not-a-real-key

Reply:

{
  "status": true,
  "credit": "1"
}

Records Check by VIN (Carvin and Autostart)

Method: GET

Request:

https://bulkvin.com/restapi/check/?key={api_key}&vin={vin}

Example request:

https://bulkvin.com/restapi/check/?key=123_EXAMPLE-not-a-real-key&vin=WAUDG74F25N111998

Reply:

{
  "records": {
    "carvin": 57,
    "autostart": 33,
    "model": "AUDI A6 3.2 QUATTRO 2005",
    "year": 2005
  },
  "status": true
}

Carvin Report

Method: GET

Request:

https://bulkvin.com/restapi/carvin/?key={api_key}&vin={vin}

Example request:

https://bulkvin.com/restapi/carvin/?key=123_EXAMPLE-not-a-real-key&vin=WAUDG74F25N111998

*Reports are returned base64-encoded.

Reply:

{
  "status": true,
  "report_carvin": "PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy91....",
  "record_id": 1
}

Autostart Report

Method: GET

Request:

https://bulkvin.com/restapi/autostart/?key={api_key}&vin={vin}

Example request:

https://bulkvin.com/restapi/autostart/?key=123_EXAMPLE-not-a-real-key&vin=WAUDG74F25N111998

*Reports are returned base64-encoded.

Reply:

{
  "status": true,
  "report_autostart": "PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy91....",
  "record_id": 1
}

Good to know

  • Failed orders are never charged. A failed reply looks like {"status":false,"code":"...","error":"..."}. Check status and code, not the error text.
  • Codes: vin_invalid (wrong length or characters), vin_check_digit (VIN starting with 1-5 with a wrong 9th character, usually a typo), no_records (no data for this VIN), supplier_error (the report could not be made). The VIN is checked before anything is charged.
  • VINs are cleaned first: spaces removed, capitals, and Cyrillic letters that look like Latin ones converted.
  • Timeout: every report order is answered within about 1 minute. Set your client timeout to at least 70 seconds.
  • No double charges: the same order (same account, report type and VIN) sent again while the first is still running gets the same report and the same record_id, without a second charge.
  • Within 48 hours: ordering a VIN and report type you already ordered in the last 48 hours returns your earlier report free. A report another customer ordered in the last 48 hours is charged at your normal price and appears in your history.
  • record_id is your order number, as shown in Using History.