Last Updated: 2026-02-07 (Pre-launch template)
EVDB (Electric Vehicle Database) is an open-source database of electric vehicles with detailed specifications, market data, and a free public API. It's built for developers, researchers, EV enthusiasts, and anyone who needs comprehensive, structured EV data.
Existing EV databases are often:
- Behind paywalls or have limited free tiers
- Incomplete or out of date
- Not open source - can't verify or contribute
- Missing real-world data - just manufacturer claims
EVDB is completely open, community-driven, and focused on data quality with source tracking.
Yes! EVDB is licensed under CC BY-SA 4.0:
- โ Free to use commercially
- โ Free to modify and build upon
- โ Free API access (no rate limits currently)
- โ Free to download all data
The only requirement: attribute EVDB and share derivative data under the same license.
Currently self-funded. Future sustainability options being considered:
- Voluntary donations/sponsorships
- "Pro" tier with enhanced features (core data always free)
- Grants from EV/sustainability organizations
- Community support
Currently 51 vehicle variants across 37 models from 19 manufacturers in 5 markets (Germany, USA, France, Poland, Italy).
Coverage will expand through community contributions after launch.
Every data field includes:
- Source (official specs, third-party tests, community input)
- Confidence level (high, medium, low)
- Last verified date
Data from official manufacturer sources is marked as high confidence. Third-party tests and community data are appropriately marked.
Vehicle Variant (Trim) Level:
- Battery capacity (usable/gross)
- Range (WLTP, EPA, real-world)
- Charging speed (AC/DC max, 10-80% time, charging curve)
- Performance (0-100 km/h, top speed, power, torque)
- Efficiency (kWh/100km, Wh/km)
- Dimensions, weight, drag coefficient
- Drive configuration (RWD, AWD, motors)
- Battery chemistry and supplier
Market Availability:
- Base price and on-the-road price
- Available colors, wheels, interiors
- Optional packages and pricing
- Delivery times
- Government incentives
- Insurance costs
- Popular configurations
- Validation: Every PR (automated)
- Database builds: Every push to main branch (automated)
- New vehicles: Community-driven (ongoing)
- Price updates: As market changes (contributors monitor)
All changes are tracked in git with full history.
Currently:
- ๐ฉ๐ช Germany (25 vehicles) - Primary focus
- ๐บ๐ธ USA (6 vehicles)
- ๐ซ๐ท France (1 vehicle)
- ๐ต๐ฑ Poland (1 vehicle)
- ๐ฎ๐น Italy (1 vehicle)
Expansion planned for:
- ๐ฌ๐ง UK
- ๐ณ๐ด Norway
- ๐ณ๐ฑ Netherlands
- ๐จ๐ณ China
- ๐จ๐ฆ Canada
We're still building coverage! Current focus:
- German market (most comprehensive data available)
- Popular models (high sales volume)
- Diverse segments (luxury, budget, trucks, sedans)
Help us add it! See CONTRIBUTING.md for a step-by-step guide. Adding a vehicle takes ~30 minutes.
- GitHub Issue: Open an issue with details and sources
- Pull Request: Even better - fix it yourself! See CONTRIBUTING.md
- Email: [contact info] for sensitive issues
Please include:
- Which vehicle and field
- What's wrong
- Correct value with source link
Currently no rate limits during initial launch. Fair use policy applies:
- Don't abuse the service
- Cache responses when possible
- Be reasonable with request frequency
If usage grows significantly, we may introduce generous free tier limits (e.g., 10k requests/day) with options for higher limits.
- REST JSON: Primary format
- REST CSV: For spreadsheet exports
- GraphQL: Full GraphQL API endpoint
- SQL: Direct queries via Datasette UI
See API_DOCS.md for examples in curl, Python, and JavaScript.
Yes! Multiple options:
- SQLite file: Download
evdb.dbfrom GitHub releases or API - CSV export: Export any table via Datasette
- JSON export: Query entire tables as JSON
- YAML source: Clone the GitHub repo
- Jupyter notebook: Export queries as notebooks
See API_DOCS.md for comprehensive examples:
# Find EVs with 500+ km range
curl "https://evdb-xxx.vercel.app/evdb/find_by_range.json?min_range=500"
# Get specific vehicle
curl "https://evdb-xxx.vercel.app/evdb/vehicle_variants/tesla-model-3-long-range-awd-2024.json"
# Compare vehicles
curl "https://evdb-xxx.vercel.app/evdb/compare_vehicles.json?ids=tesla-model-3-long-range-awd-2024,bmw-i4-edrive40-2024"Python and JavaScript examples also provided.
Absolutely! It's just a SQLite file:
# Clone repo
git clone https://github.com/yourusername/evdb.git
cd evdb
# Build database
python scripts/build-sqlite.py
# Run Datasette locally
datasette evdb.db --metadata metadata.jsonSee DEPLOYMENT.md for deployment options (Vercel, Fly.io, or self-hosted).
Four main tables with relationships:
- manufacturers (company info)
- vehicle_models (base model info)
- vehicle_variants (specific trims with full specs)
- market_availability (pricing by region)
Plus reference data:
- connectors (charging port types)
- platforms (EV platforms/architectures)
Full schema documented in SCHEMA_DESIGN.md.
Many ways to help:
- Add vehicles: See CONTRIBUTING.md for step-by-step guide
- Update data: Fix incorrect or outdated info
- Improve documentation: Clarify guides, add examples
- Report issues: Found a bug or have a suggestion?
- Build projects: Create apps using the API and share them!
- Spread the word: Help others discover EVDB
No! Adding vehicle data just requires:
- Basic YAML syntax (like indented key: value pairs)
- Finding specs online (manufacturer sites, reviews)
- Copy-paste from templates
See CONTRIBUTING.md for guided walkthrough with examples.
Typically 20-40 minutes depending on data availability:
- 5-10 min: Find official specs
- 5-10 min: Fill in YAML files (4 files: manufacturer, model, variant, market)
- 5 min: Validate locally
- 5-10 min: Test and submit PR
Faster for additional variants of existing models (reuse manufacturer/model files).
That's okay! Partial data is better than no data:
- Use
nullfor unknown fields - Mark confidence as "low" for uncertain values
- Add comments with
# Note: ...explaining gaps - Others can fill in missing data later
All fields are optional except core identifiers (id, name, year).
Yes! Contributors are recognized in:
- Git commit history (your GitHub profile linked)
- CONTRIBUTORS.md (listed with contributions)
- Release notes (mentioned in changes)
- GitHub PR comments (public thanks)
Only if licensed for sharing. Do not copy data from:
- โ Paid databases (EV-Database.org paid tier, etc.)
- โ Copyrighted reviews (unless explicitly allowed)
- โ Proprietary manufacturer data (dealer-only info)
Acceptable sources:
- โ Official manufacturer websites (public specs)
- โ Press releases and media kits
- โ Government testing (EPA, WLTP)
- โ Your own testing/measurements
- โ Community-shared data with permission
When in doubt, ask before contributing.
Currently maintained by [Your Name/Organization]. Seeking active co-maintainers from the community to help with:
- Data quality reviews
- PR approvals
- Issue triage
- Feature development
Interested? Open an issue or reach out!
Phase 1 (Now): Core database + API launch
Phase 2 (Months 1-3):
- Expand coverage (100+ vehicles, 10+ markets)
- Community growth
- Quality improvements
Phase 3 (Months 4-6):
- Real-world range data collection
- Charging network integration
- Historical price tracking
- Streamlit comparison dashboards
Phase 4 (Months 7-12):
- Mobile app (if demand exists)
- Advanced analytics
- Partnerships with EV organizations
- Sustainability features
Community feedback will shape priorities!
Yes! Under CC BY-SA 4.0 license you can:
- โ Use in commercial apps/services
- โ Modify and extend the data
- โ Charge for your product
Requirements:
- โ Attribute EVDB (include link + license)
- โ Share derivative data under same license
- โ Don't imply EVDB endorses your product
Example attribution:
"Vehicle data from EVDB (evdb.org), licensed under CC BY-SA 4.0"
- Contribute data: Add vehicles, update prices, fix errors
- Spread the word: Share with EV communities, developers, researchers
- Build with it: Create apps/tools using the API
- Provide feedback: Suggest improvements, report issues
- Sponsor (future): Funding model TBD based on costs/needs
The best support is active use and contribution!
Check:
- URL syntax (see API_DOCS.md for examples)
- Parameter spelling (case-sensitive)
- Value ranges (e.g.,
min_range=500notmin_range=500km)
Example:
# โ Wrong
curl "https://evdb-xxx.vercel.app/evdb/find_by_range?range=500"
# โ
Correct
curl "https://evdb-xxx.vercel.app/evdb/find_by_range.json?min_range=500"Common issues:
- Indentation: YAML uses spaces (2 or 4), not tabs
- Missing colons:
battery_usable_kwh: 75(colon + space) - Quotes: Use for strings with special chars (
description: "5-door SUV") - Lists: Proper dash + space formatting
Run validation:
python scripts/validate.py --directory dataDetailed errors show file, line, and issue.
Check GitHub Actions output:
- Click "Details" next to failed check
- Read error message
- Fix issue locally
- Push update to same PR branch
Common PR issues:
- YAML syntax errors
- Invalid enum values
- Missing required fields
- Foreign key violations (referencing non-existent IDs)
Possible reasons:
- Not added yet (contribute it!)
- Different naming (check vehicle_variants table)
- Market-specific (check market_availability filters)
Search all vehicles:
curl "https://evdb-xxx.vercel.app/evdb/vehicle_variants.json?_search=tesla"- GitHub Issues: Bug reports, feature requests
- GitHub Discussions: Q&A, ideas, show & tell (coming soon)
- Email: [contact email] (for private inquiries)
- Twitter/X: [@handle] (updates and announcements)
Response Times:
- Critical bugs: < 24 hours
- General issues: 1-3 days
- Feature requests: Added to roadmap, discussed in community
This FAQ will be updated regularly based on community questions. Don't see your question? Open a GitHub issue!