Vehicle History Report API

Full vehicle history report from the NMVTIS government database and industry sources - DMV title records, brand codes, junk / salvage / total-loss events, insurance claims, odometer / mileage history, and market valuation - returned by VIN from the report endpoint as JSON or HTML.

OpenAPI Specification

clearvin-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: ClearVIN Vendor API
  description: >-
    REST API for ClearVIN's VIN decoding and vehicle history data. Clients
    exchange account credentials for a JWT bearer token at /rest/vendor/login,
    then request vehicle data by VIN from /rest/vendor/report. A single report
    endpoint returns VIN decode specifications, NMVTIS title and history data,
    and market valuation depending on the account subscription. Requests must
    originate from an IP address registered with ClearVIN. Documented endpoint
    paths are limited to login and report; additional product surfaces are
    served through the report endpoint.
  termsOfService: https://www.clearvin.com/en/terms-of-service/
  contact:
    name: ClearVIN
    url: https://www.clearvin.com/en/contact/
  version: '1.0'
servers:
  - url: https://www.clearvin.com
    description: ClearVIN production API
paths:
  /rest/vendor/login:
    post:
      operationId: login
      tags:
        - Authentication
      summary: Authenticate and obtain a bearer token.
      description: >-
        Exchanges account email and password for a JWT bearer token that is
        valid for 120 minutes. The request must originate from an IP address
        registered with ClearVIN.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginRequest'
      responses:
        '200':
          description: Authentication result with token on success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponse'
  /rest/vendor/report:
    get:
      operationId: getReport
      tags:
        - Report
      summary: Retrieve a vehicle report by VIN.
      description: >-
        Returns a vehicle report for the supplied VIN. Depending on the account
        subscription the report contains VIN decode specifications, NMVTIS title
        and history data, and / or market valuation. By default the response is
        JSON; pass format=html to receive an HTML rendering of the report.
        Requires a valid bearer token from /rest/vendor/login.
      security:
        - bearerAuth: []
      parameters:
        - name: vin
          in: query
          required: true
          description: The 17-character Vehicle Identification Number to look up.
          schema:
            type: string
          example: 5UXFA13544LU21050
        - name: format
          in: query
          required: false
          description: >-
            Response format. Omit for JSON (default) or set to html to receive
            an HTML rendering of the report.
          schema:
            type: string
            enum:
              - html
      responses:
        '200':
          description: Report result for the requested VIN.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportResponse'
            text/html:
              schema:
                type: string
                description: HTML rendering of the report when format=html.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT obtained from /rest/vendor/login, sent as
        "Authorization: Bearer {token}". Tokens expire after 120 minutes.
  schemas:
    LoginRequest:
      type: object
      required:
        - email
        - password
      properties:
        email:
          type: string
          format: email
          description: Account email address.
        password:
          type: string
          format: password
          description: Account password.
    LoginResponse:
      type: object
      properties:
        status:
          type: string
          description: Result status, "ok" on success or "error" on failure.
          enum:
            - ok
            - error
        message:
          type: string
          description: Error detail, present when status is "error".
        token:
          type: string
          description: JWT bearer token, present when status is "ok". Valid 120 minutes.
    ReportResponse:
      type: object
      properties:
        status:
          type: string
          description: Result status, "ok" on success or "error" on failure.
          enum:
            - ok
            - error
        message:
          type: string
          description: Error detail, present when status is "error".
        result:
          $ref: '#/components/schemas/ReportResult'
    ReportResult:
      type: object
      properties:
        id:
          type: string
          description: ClearVIN report identifier.
        vin:
          type: string
          description: The VIN the report was generated for.
        report:
          $ref: '#/components/schemas/Report'
    Report:
      type: object
      description: >-
        Vehicle report payload. Field structure varies by subscription and
        data availability; the decoder, history, and valuation sections below
        are representative and require reconciliation against a live account
        response for exact shapes.
      properties:
        decoder:
          type: object
          description: >-
            VIN decode output - up to 150 specification parameters such as year,
            make, model, trim, engine, body, dimensions, standard features, and
            recall data.
          additionalProperties: true
        nmvtis:
          type: object
          description: >-
            NMVTIS title and history data - DMV title records, brand codes,
            junk / salvage / total-loss events, insurance claims, and odometer /
            mileage history.
          additionalProperties: true
        valuation:
          type: object
          description: >-
            Market valuation data - wholesale, retail, and trade-in values
            across condition categories, with mileage adjustments.
          additionalProperties: true