OpenEV Data API¶
A high-performance REST API for querying electric vehicle specifications, built with Rust.
Overview¶
This repository provides a production-ready REST API for querying electric vehicle data from the OpenEV Data Dataset. Built with Rust for maximum performance, type safety and reliability.
Documentation¶
Getting Started¶
- Get Started — Setup, build, run, and test the system
Technical Documentation¶
- Architecture — Hexagonal architecture and design decisions
- Rust Guidelines — Coding standards and best practices
Crate Documentation¶
- ev-core — Domain types and validation
- ev-etl — ETL pipeline for data processing
- ev-server — REST API server with OpenAPI
Project Governance¶
- Contributing Guide — How to contribute
- Code of Conduct — Community standards
Features¶
- High Performance: Built with Rust and Axum for maximum throughput
- Type Safety: Strong typing with compile-time guarantees
- Multiple Formats: JSON, SQLite, PostgreSQL, CSV, XML output support
- OpenAPI/Swagger: Interactive API documentation
- Pagination: Efficient handling of large datasets
- Full-text Search: Search across manufacturers, models, and trims
API Endpoints¶
| Endpoint | Description |
|---|---|
GET /api/v1/health | Health check |
GET /api/v1/vehicles/list | List vehicles with filters and pagination |
GET /api/v1/vehicles/code/{code} | Get vehicle by unique code |
GET /api/v1/vehicles/search?q=query | Full-text search |
GET /api/v1/makes/list | List manufacturers with model names |
Use Cases¶
- Applications: EV comparison tools, range calculators, charging time estimators
- Integrations: Backend data source for automotive applications
- Analytics: EV market analysis, charging infrastructure planning
- Research: Academic studies on EV technology and adoption
License¶
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
See LICENCE for full terms.
Acknowledgments¶
This project is part of the OpenEV Data initiative, providing open, structured, and verifiable EV data. Special thanks to all contributors who help maintain and improve this API.