-
-
Notifications
You must be signed in to change notification settings - Fork 128
Description
Currently, none of the available food providers deliver German-language search results for generic/unprocessed foods. This is a significant limitation for users in the DACH region (Germany, Austria, Switzerland):
- USDA: English only, no language parameter supported
- FatSecret: German localization requires a paid Premier account, and SparkyFitness doesn't pass
region/languageparameters to the API anyway - OpenFoodFacts: Primarily covers packaged/branded products with barcodes — searching for generic items like "Mango" or "Reis" yields poor or no results
- Nutritionix: English only
Searching for basic foods like "Mango", "Kartoffel", or "Haferflocken" in German is currently not possible with any provider.
Proposed Solution
Add the Swiss Food Composition Database (Schweizer Nährwertdatenbank) as a new food provider.
Website: https://naehrwertdaten.ch
Operator: Swiss Federal Food Safety and Veterinary Office (BLV)
API Documentation: https://naehrwertdaten.ch/de/downloads/ (API description available as .docx download)
Why this database is an excellent fit
| Feature | Detail |
|---|---|
| Language | Native support for German, French, Italian, and English |
| Content | 1,220 generic foods (fruits, vegetables, grains, dairy, meat, etc.) — exactly what users need for daily food tracking |
| License | Free for commercial use with source attribution |
| API | REST API, no API key required |
| Data quality | Maintained by Swiss government, scientifically curated by SGE (Swiss Society for Nutrition) |
| Nutrients | Macronutrients (carbs, protein, fat, fiber, sugar), vitamins, minerals, fatty acid profiles |
Key advantages over existing providers for DACH users
- German food names natively — no translation needed
- Generic foods focus — covers unprocessed/whole foods that OpenFoodFacts lacks
- No API key required — zero setup friction for end users
- Open data — aligns with the self-hosted / open-source philosophy of SparkyFitness
- Complements existing providers — USDA for English, OpenFoodFacts for branded/packaged, Swiss DB for German generic foods
Implementation Notes
The provider could follow the same architecture as the existing USDA provider. Key API endpoints:
- Search foods by name (supports German search terms)
- Retrieve nutrient details per food item
- Language parameter to switch between
de,fr,it,en
The API documentation is available as a downloadable .docx from the official site. The database is also available as an Excel download for reference.
Additional Context
- SparkyFitness already supports German as a UI language, so this would complete the German-language experience for food tracking
- The database covers ~1,220 foods which is sufficient for most daily tracking needs of generic/whole foods
- Users can combine this provider with OpenFoodFacts for branded products, giving full German-language coverage
Who benefits
All SparkyFitness users in German-speaking countries (Germany, Austria, Switzerland) — and potentially French/Italian users as well, since the database supports those languages too.
Metadata
Metadata
Assignees
Labels
Projects
Status