The CarsXE Java SDK provides a simple and powerful way to integrate vehicle data into your Java applications. This guide will help you get started quickly.

For more information, see the <a href="https://central.sonatype.com/artifact/io.github.carsxe/carsxe" target="\_blank" style={{textDecoration: 'underline'}}>package on Maven Central</a>.

## Installation

### Maven

Add the following dependency to your `pom.xml`:

<CodeGroup title="pom.xml">
  ```xml
  <dependency>
    <groupId>io.github.carsxe</groupId>
    <artifactId>carsxe</artifactId>
    <version>1.0.3</version>
  </dependency>
  ```
</CodeGroup>

## Setup

Initialize the CarsXE object with your API key:

<CodeGroup title="Main.java">
```java
import io.github.carsxe.CarsXE;
public class Main {
    public static void main(String[] args) {
        // Initialize the CarsXE object
        CarsXE carsxe = new CarsXE("YOUR_API_KEY_HERE");
    }
}
```
</CodeGroup>

## Basic Usage

### VIN Specifications

<CodeGroup title="Main.java">
```java
import io.github.carsxe.CarsXE;
import java.util.Map;
import java.util.HashMap;
public class Main {
    public static void main(String[] args) {
        CarsXE carsxe = new CarsXE("YOUR_API_KEY_HERE");
        Map<String, String> params = new HashMap<>();
        params.put("vin", "WBAFR7C57CC811956");
        Map<String, Object> specs = carsxe.specs(params);
        System.out.println(specs);
    }
}
```
</CodeGroup>

### International VIN Decoder

<CodeGroup title="Main.java">
```java
Map<String, String> params = new HashMap<>();
params.put("vin", "WF0MXXGBWM8R43240");
Map<String, Object> internationalVin = carsxe.internationalVinDecoder(params);
System.out.println(internationalVin);
```
</CodeGroup>

### Market Value

<CodeGroup title="Main.java">
```java
Map<String, String> params = new HashMap<>();
params.put("vin", "WBAFR7C57CC811956");
Map<String, Object> marketValue = carsxe.marketvalue(params);
System.out.println(marketValue);
```
</CodeGroup>

### Vehicle History

<CodeGroup title="Main.java">
```java
Map<String, String> params = new HashMap<>();
params.put("vin", "WBAFR7C57CC811956");
Map<String, Object> history = carsxe.history(params);
System.out.println(history);
```
</CodeGroup>

### License Plate Decoder

<CodeGroup title="Main.java">
```java
Map<String, String> params = new HashMap<>();
params.put("plate", "7XER187");
params.put("state", "CA");
params.put("country", "US");
Map<String, Object> plateInfo = carsxe.platedecoder(params);
System.out.println(plateInfo);
```
</CodeGroup>

### Vehicle Images

<CodeGroup title="Main.java">
```java
Map<String, String> params = new HashMap<>();
params.put("make", "BMW");
params.put("model", "X5");
params.put("year", "2019");
Map<String, Object> images = carsxe.images(params);
System.out.println(images);
```
</CodeGroup>

### Vehicle Recalls

<CodeGroup title="Main.java">
```java
Map<String, String> params = new HashMap<>();
params.put("vin", "1C4JJXR64PW696340");
Map<String, Object> recalls = carsxe.recalls(params);
System.out.println(recalls);
```
</CodeGroup>

### Plate Image Recognition

<CodeGroup title="Main.java">
```java
String imageUrl = "https://imagedelivery.net/moyiiSImjJPI_EZVxNMBBw/f49aed53-d736-4370-f3f4-97418841c800/public";
Map<String, Object> plateRecognition = carsxe.plateImageRecognition(imageUrl);
System.out.println(plateRecognition);
```
</CodeGroup>

### VIN OCR from Image

<CodeGroup title="Main.java">
```java
String imageUrl = "https://user-images.githubusercontent.com/5663423/30922082-64edb4fa-a3a8-11e7-873e-3fbcdce8ea3a.png";
Map<String, Object> vinOcr = carsxe.vinOcr(imageUrl);
System.out.println(vinOcr);
```
</CodeGroup>

### Year-Make-Model Search

<CodeGroup title="Main.java">
```java
Map<String, String> params = new HashMap<>();
params.put("year", "2023");
params.put("make", "Toyota");
params.put("model", "Camry");
Map<String, Object> ymm = carsxe.yearMakeModel(params);
System.out.println(ymm);
```
</CodeGroup>

### OBD Code Decoder

<CodeGroup title="Main.java">
```java
Map<String, String> params = new HashMap<>();
params.put("code", "P0115");
Map<String, Object> obdCodes = carsxe.obdcodesdecoder(params);
System.out.println(obdCodes);
```
</CodeGroup>

### Lien and Theft

<CodeGroup title="Main.java">
```java
Map<String, String> params = new HashMap<>();
params.put("vin", "2C3CDXFG1FH762860");
Map<String, Object> lienTheft = carsxe.LienAndTheft(params);
System.out.println(lienTheft);
```
</CodeGroup>

Start building powerful automotive applications with CarsXE's Java SDK!
