Welcome to OpenEV Data¶
-
Single Source of Truth
The world's most accurate, scientifically validated, and accessible open database of Electric Vehicle specifications.
-
Built for Performance
High-performance Rust ecosystem with API deployment, providing global low-latency access to data.
-
Data-as-Code
Version control, strict schema validation, and community review for every data point—from battery chemistry to charging curves.
-
Open & Collaborative
Community-driven project with contributions from EV enthusiasts, engineers, and manufacturers worldwide.
What is OpenEV Data?¶
OpenEV Data develops and maintains the world's most accurate open database of Electric Vehicle specifications. Unlike fragmented proprietary lists, OpenEV is built on Data-as-Code principles, ensuring:
- Version Control: Every change is tracked and reviewable
- Schema Validation: Strict typing prevents invalid data
- Community Review: Multiple eyes on every specification
- Global Standards: Support for CCS, NACS, CHAdeMO, GB/T, and more
Quick Links¶
-
Learn how to use the dataset or API
-
Learn about project structure and policies
-
Explore the REST API documentation
-
Learn about the EV dataset structure
-
Help improve the database
Project Status¶
| Component | Status |
|---|---|
| Website | |
| API | |
| Dataset |
Repository Structure¶
OpenEV Data is modular by design to separate concerns between data curation and software engineering.
| Repository | Description | Tech Stack |
|---|---|---|
| open-ev-data-dataset | The core database. Contains all vehicle JSONs and validation schemas. | JSON, JSON Schema |
| open-ev-data-api | The high-performance engine. Handles ETL, SQL generation, and the API. | Rust |
| open-ev-data.github.io | Official documentation, guides, and API reference. | MkDocs, Material |
| .github | Governance, organization-wide policies, and issue templates. | Markdown |
Use Cases¶
Integrate EV specifications into your applications:
- EV comparison tools
- Range calculators
- Charging time estimators
- Route planning with charging stops
Access structured data for analysis:
- EV market analysis
- Charging infrastructure planning
- Battery technology trends
- Energy consumption studies
Optimize charging infrastructure:
- Vehicle compatibility databases
- Charging curve optimization
- Protocol support validation
- Power requirements planning
Supported Standards¶
OpenEV Data standardizes specifications across multiple global charging standards:
- CCS2 (EU/Global)
- NACS / J3400 (North America/Tesla)
- CCS1 (North America Legacy)
- GB/T (China)
- CHAdeMO (Japan/Legacy)
- Type 2 / Type 1 (AC Charging)
Technical Highlights¶
- Strict Typing: All data is validated against rigorous JSON Schemas before merging
- Deep Merge Architecture: Hierarchical inheritance model (Base → Year → Trim) ensures DRY data entry
- High Performance: API optimized for low-latency global access using efficient Rust infrastructure
- Rust Core: All tooling (ETL, Validation, Server) written in Rust for safety and performance
Docker Compose Example¶
Create a docker-compose.yml file with the following content:
name: open-ev-data
services:
api:
image: ghcr.io/open-ev-data/ev-server:latest
container_name: open-ev-data-api
restart: unless-stopped
environment:
DATABASE_URL: /app/vehicles.db
PORT: 8080
HOST: 0.0.0.0
RUST_LOG: info
ports:
- "8080:8080"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 15s
init: true
entrypoint: >
sh -c "
echo '[INFO] Getting latest release version...' &&
LATEST_VERSION=$$(curl -sL https://api.github.com/repos/open-ev-data/open-ev-data-dataset/releases/latest | grep '\"tag_name\":' | cut -d'\"' -f4) &&
echo \"[INFO] Latest version: $$LATEST_VERSION\" &&
DOWNLOAD_URL=\"https://github.com/open-ev-data/open-ev-data-dataset/releases/download/$$LATEST_VERSION/open-ev-data-$$LATEST_VERSION.db\" &&
echo \"[INFO] Downloading from: $$DOWNLOAD_URL\" &&
curl -fSL -o /app/vehicles.db \"$$DOWNLOAD_URL\" &&
echo \"[INFO] Database downloaded\" &&
ls -lh /app/vehicles.db &&
echo \"[INFO] Starting API server...\" &&
exec /app/ev-server
"
Run docker compose up -d --build --pull always to start the API server.
Access the API at http://localhost:8080/docs.
License¶
This project employs a dual-licensing strategy:
- Software (API/CLI): Apache License, Version 2.0
- Database (Dataset): CDLA-Permissive-2.0
- Documentation: CC-BY 4.0
See License for details.