Access the full suite of CarsXE vehicle data APIs — VIN decoding, license plate lookup, market value, vehicle history, safety recalls, lien/theft checks, OBD-II diagnostic code decoding, vehicle images, international VIN decoding, Year/Make/Model lookups, and plate/VIN OCR from images. Use this skill any time the user asks about a vehicle by VIN, plate, make/model, or OBD code. Also triggers for: "what's this car worth", "check for recalls", "vehicle history report", "decode this plate", "what does check engine code X mean", or any automotive data query. Always use this skill when working with CarsXE APIs — do not guess API behavior without it.

Install

openclaw skills install carsxe

CarsXE Skill

CarsXE provides a REST API for comprehensive vehicle data at https://api.carsxe.com.

API Key

The API key is injected as the CARSXE_KEY environment variable. Read it before making any request:

  • Use process.env.CARSXE_KEY in Node.js
  • Use $env:CARSXE_KEY in PowerShell
  • Use $CARSXE_KEY in bash/zsh

If CARSXE_KEY is empty or missing, tell the user to run:

openclaw config set skills.entries.carsxe.env.CARSXE_KEY "cxe_live_YOUR_KEY"

Then restart the gateway.

Always append &source=openclaw to every request.


Quick API Map

User intentEndpointMethodKey Parameters
Decode a VIN / get specsGET /specsGETvin, optional: deepdata, disableIntVINDecoding
Decode a license plateGET /v2/platedecoderGETplate, country (required), state, district (optional)
Market valueGET /v2/marketvalueGETvin, optional: state, mileage, condition
Vehicle history reportGET /historyGETvin
Vehicle imagesGET /imagesGETmake, model, optional: year, trim, color, angle, photoType, size, license, transparent
Safety recallsGET /v1/recallsGETvin
Lien & theft checkGET /v1/lien-theftGETvin
International VINGET /v1/international-vin-decoderGETvin
Year/Make/Model lookupGET /v1/ymmGETyear, make, model, optional: trim
OBD code diagnosisGET /obdcodesdecoderGETcode
VIN OCR from imagePOST /v1/vinocrPOSTJSON body: {"image": "<URL>"}
Plate OCR from imagePOST /platerecognitionPOSTJSON body: {"image": "<URL>"}
Validate API keyGET /v1/auth/validateGETkey

Workflow

1. Build the request URL

Replace $CARSXE_KEY with the actual value of the CARSXE_KEY environment variable.

2. Choose the right endpoint

  • VIN provided → /specs first, chain to other endpoints as needed
  • Plate provided → /v2/platedecoder to resolve VIN, then chain if needed
  • Make/Model/Year only → /v1/ymm or /images
  • OBD code (P/C/B/U + digits) → /obdcodesdecoder
  • Image URL for VIN → POST /v1/vinocr with {"image": "<URL>"}
  • Image URL for plate → POST /platerecognition with {"image": "<URL>"}

3. Chain requests when helpful

Example: "Is this plate stolen and does it have open recalls?"

  1. GET /v2/platedecoder → extract VIN
  2. In parallel: GET /v1/lien-theft + GET /v1/recalls

4. Present results

Format output clearly. Highlight important findings (open recalls, theft records, salvage titles) prominently.


Error Handling

HTTP StatusMeaningAction
401 / invalid keyBad or missing API keyTell user to set key via openclaw config set skills.entries.carsxe.env.CARSXE_KEY
404 / no resultsVIN/plate not foundInform user, suggest double-checking
429Rate limit exceededWait and retry
5xxServer errorRetry once, then report error

Always check the error field in JSON responses — CarsXE sometimes returns HTTP 200 with an error body.


Examples (replace $CARSXE_KEY with actual env var value)

"What are the specs for VIN WBAFR7C57CC811956?"GET https://api.carsxe.com/specs?key=$CARSXE_KEY&vin=WBAFR7C57CC811956&source=openclaw

"Decode California plate 7XER187"GET https://api.carsxe.com/v2/platedecoder?key=$CARSXE_KEY&plate=7XER187&country=US&state=CA&source=openclaw

"What's my car worth? VIN WBAFR7C57CC811956, 45k miles, clean condition, California"GET https://api.carsxe.com/v2/marketvalue?key=$CARSXE_KEY&vin=WBAFR7C57CC811956&state=CA&mileage=45000&condition=clean&source=openclaw

"Does this car have any recalls? 1C4JJXR64PW696340"GET https://api.carsxe.com/v1/recalls?key=$CARSXE_KEY&vin=1C4JJXR64PW696340&source=openclaw

"Check liens and theft for WBAFR7C57CC811956"GET https://api.carsxe.com/v1/lien-theft?key=$CARSXE_KEY&vin=WBAFR7C57CC811956&source=openclaw

"Decode this international VIN: WF0MXXGBWM8R43240"GET https://api.carsxe.com/v1/international-vin-decoder?key=$CARSXE_KEY&vin=WF0MXXGBWM8R43240&source=openclaw

"Look up 2020 Toyota Camry LE"GET https://api.carsxe.com/v1/ymm?key=$CARSXE_KEY&year=2020&make=Toyota&model=Camry&trim=LE&source=openclaw

"My check engine light shows P0300"GET https://api.carsxe.com/obdcodesdecoder?key=$CARSXE_KEY&code=P0300&source=openclaw

"Extract the VIN from this photo: https://user-images.githubusercontent.com/5663423/30922082-64edb4fa-a3a8-11e7-873e-3fbcdce8ea3a.png"POST https://api.carsxe.com/v1/vinocr?key=$CARSXE_KEY&source=openclaw → Body: {"image": "https://user-images.githubusercontent.com/5663423/30922082-64edb4fa-a3a8-11e7-873e-3fbcdce8ea3a.png"}

"Extract the plate from this photo: https://imagedelivery.net/moyiiSImjJPI_EZVxNMBBw/f49aed53-d736-4370-f3f4-97418841c800/public"POST https://api.carsxe.com/platerecognition?key=$CARSXE_KEY&source=openclaw → Body: {"image": "https://imagedelivery.net/moyiiSImjJPI_EZVxNMBBw/f49aed53-d736-4370-f3f4-97418841c800/public"}

"Get vehicle images for BMW X5 2019"GET https://api.carsxe.com/images?key=$CARSXE_KEY&make=BMW&model=X5&year=2019&source=openclaw