Snowflake Quickstart Guide
Access comprehensive vehicle data directly in Snowflake through CarsXE's powerful API. This Native App provides an intuitive Streamlit interface and SQL callable procedures for seamless integration into your data workflows.
CarsXE Vehicle Data for Snowflake
Access comprehensive vehicle data directly in Snowflake through CarsXE's powerful API. This Native App provides an intuitive Streamlit interface and SQL callable procedures for seamless integration into your data workflows.
Features
- Vehicle Data Endpoints including VIN decoding, plate lookup, market value, history, images, recalls, Lien And Theft checks, and more
- Streamlit UI with guided setup and interactive endpoint testing
- SQL Interface for direct procedure calls in your queries and workflows
- Secure API Key Storage encrypted within your Snowflake account
- Auto-Navigation through setup steps for quick onboarding
Prerequisites
- A Snowflake account with Native App installation permissions
- A CarsXE account with an active API key (Sign up here)
- The app only requires outbound access to
api.carsxe.comand does not access any other external domains.
Installation
-
Install from Snowflake Marketplace
- Search for "CarsXE"
- Click "Get" and follow the installation prompts
-
Open the App
- Navigate to the installed app in your Snowflake account
- The setup wizard will launch automatically
-
Complete Setup (3 Simple Steps)
The app guides you through each step:
Step 1: Connect External Access
- Click "Connect CarsXE EAI ↗"
- Select or create an External Access Integration for
api.carsxe.com
Step 2: Add Your API Key
- Enter your CarsXE API key
- Click "Validate API key" to verify and save
- Note: The API key is now stored securely using a bind variable in the
CORE.CONFIGtable to prevent SQL identifier issues.
Step 3: Start Using the APIs
- You're ready! Select an endpoint and make your first call
Using the Streamlit UI
- Choose an Endpoint from the dropdown menu (e.g., "Specs (VIN specs)")
- Enter Required Fields (marked clearly in the form)
- Add Optional Parameters if needed (expand "Optional parameters" section)
- Click "Call endpoint" to get results
Using SQL Directly
You can call the app fully through SQL, without using the UI, via:
SQL Procedure
CALL CORE.CALL_CARSXE_ENDPOINT(
path => '<API_PATH>',
method => '<HTTP_METHOD>',
params => '<JSON string of params>'
);Parameters:
path– API endpoint path (e.g.,"/specs",/v2/platedecoder,/v2/marketvalue). For a complete list of available endpoints and their versions, see the CarsXE API Documentationmethod–"GET"or"POST"(most endpoints use GET; some endpoints like plate recognition and VIN OCR use POST. Check the API Documentation for endpoint-specific method requirements)params– JSON string with endpoint-specific parameters (do not includekey; the app injects it automatically)
SQL Examples
Important: Before using these SQL examples, you must complete the setup steps in the Streamlit UI app, including configuring the External Access Integration (EAI) and adding your API key. See the Installation section above for details.
Validating API Key
SQL
-- Validate your CarsXE API key
CALL CORE.VALIDATE_CARSXE_API_KEY('your_api_key_here'); Saving API Key
SQL
-- Save CarsXE API key in the secure CORE.CONFIG table
CALL CORE.SET_CARSXE_API_KEY('your_api_key_here'); Note: The API key storage now uses a bind variable internally to avoid SQL compilation errors with identifiers.
Specs by VIN
SQL
CALL CORE.CALL_CARSXE_ENDPOINT(
'/specs',
'GET',
'{"vin":"WBAFR7C57CC811956"}'
);Plate Decoder
SQL
CALL CORE.CALL_CARSXE_ENDPOINT(
'/v2/platedecoder',
'GET',
'{"plate":"7XER187","country":"US","state":"CA"}'
);Market Value
SQL
CALL CORE.CALL_CARSXE_ENDPOINT(
'/v2/marketvalue',
'GET',
'{"vin":"WBAFR7C57CC811956"}'
);Images
SQL
CALL CORE.CALL_CARSXE_ENDPOINT(
'/images',
'GET',
'{"make":"toyota","model":"tacoma","year":"2018", "color":"blue","format":"json"}'
);Plate Image Recognition (image URL)
SQL
CALL CORE.CALL_CARSXE_ENDPOINT(
'/platerecognition',
'POST',
'{"upload_url":"https://api.carsxe.com/img/apis/plate_recognition.JPG"}'
);VIN OCR (image URL)
SQL
CALL CORE.CALL_CARSXE_ENDPOINT(
'/v1/vinocr',
'POST',
'{"upload_url":"https://user-images.githubusercontent.com/5663423/30922082-64edb4fa-a3a8-11e7-873e-3fbcdce8ea3a.png"}'
);Lien And Theft Check
SQL
CALL CORE.CALL_CARSXE_ENDPOINT(
'/v1/lien-theft',
'GET',
'{"vin":"2C3CDXFG1FH762860"}'
);Internally, each call automatically adds key=<your API key> in the request to CarsXE.
Security & Governance
- The API key is stored securely in the
CORE.CONFIGtable using a bind variable to prevent SQL injection and identifier issues. - All external HTTP calls run through a Snowflake External Access Integration approved for the app, which follows Snowflake governance policies.
- The app does not store, cache, or log CarsXE API responses outside the execution context of the request; it simply returns them to the caller (UI or SQL).
Limitations
- No built-in caching: each call goes directly to CarsXE, which means latency and rate limits depend on your CarsXE plan and network conditions.
- The app does not modify or normalize CarsXE responses; it returns them as received (wrapped in JSON where necessary).
Support
- For API behavior, data quality, pricing, or rate limit issues, contact CarsXE support via their official channels.
- For issues specific to this Snowflake Native App (installation errors, procedure failures, UI errors), use the contact information provided on the Snowflake Marketplace listing.