How to read this. Each row is where Germany imports a material from — the
immediate customs origin, sorted by single-supplier concentration. ⛏ marks a top source that is also
the material's lead miner (a genuine origin); without it, the supplier is a refiner or hub and the real
mine sits further upstream (open the material's profile to see where).
Import-vulnerability index (11/100). A value-weighted average, across Germany’s
imports, of each material’s supply-risk index × how concentrated Germany’s
own sourcing of it is. High when it buys intrinsically risky materials from a single supplier; lower when
it diversifies. The risk column below is the material’s own score — multiply it by the country’s
share to see where Germany is most exposed.
China’s share of Germany’s critical-material imports, 2002–2024: 2% ↑ 6%
| Material | Top source | share | import HHI | risk | China | # sources | imports |
|---|---|---|---|---|---|---|---|
| Beryllium, unwrought | 🇫🇷 France | 99% | 0.99 | 74 | 0% | 2 | $1M |
| Magnesium, unwrought | 🇨🇳 China ⛏ | 83% | 0.70 | 60 | 83% | 12 | $55M |
| Rare-earth permanent magnets | 🇨🇳 China ⛏ | 83% | 0.70 | 52 | 83% | 47 | $617M |
| Cobalt oxides & hydroxides | 🇫🇮 Finland | 83% | 0.70 | 52 | 0% | 10 | $27M |
| Strontium carbonate | 🇮🇹 Italy | 81% | 0.66 | 57 | 0% | 9 | $537k |
| Phosphate rock | 🇸🇳 Senegal | 80% | 0.67 | 30 | 0% | 10 | $33M |
| Aluminium ores / bauxite | 🇬🇳 Guinea | 79% | 0.64 | 45 | 8% | 19 | $146M |
| Ferro-niobium | 🇳🇱 Netherlands | 67% | 0.53 | 64 | 0% | 11 | $103M |
| Ferro-vanadium | 🇦🇹 Austria | 54% | 0.34 | 46 | 5% | 17 | $65M |
| Natural graphite | 🇫🇷 France | 54% | 0.33 | 51 | 8% | 15 | $562k |
| Lithium carbonate | 🇨🇱 Chile | 47% | 0.29 | 65 | 0% | 12 | $44M |
| Arsenic | 🇫🇷 France | 45% | 0.34 | 31 | 2% | 7 | $2M |
| Silicon, < 99.99% | 🇳🇴 Norway | 45% | 0.27 | 47 | 0% | 26 | $580M |
| Helium | 🇶🇦 Qatar | 44% | 0.25 | 21 | 0% | 28 | $283M |
| Feldspar | 🇹🇷 Turkey ⛏ | 41% | 0.26 | 27 | 0% | 16 | $14M |
| Coking coal | 🇦🇺 Australia ⛏ | 39% | 0.30 | 22 | 0% | 15 | $2.4B |
| Germanium | 🇨🇳 China ⛏ | 37% | 0.23 | 47 | 37% | 32 | $106M |
| Gallium | 🇨🇳 China ⛏ | 37% | 0.23 | 58 | 37% | 32 | $106M |
| Hafnium, unwrought | 🇨🇳 China | 37% | 0.23 | 33 | 37% | 32 | $106M |
| Nickel, unwrought | 🇳🇴 Norway | 36% | 0.20 | 32 | 0% | 20 | $757M |
| Tantalum, unwrought | 🇪🇪 Estonia | 35% | 0.23 | 33 | 15% | 12 | $7M |
| Phosphorus | 🇰🇿 Kazakhstan | 35% | 0.26 | 56 | 1% | 12 | $116M |
| Baryte | 🇳🇱 Netherlands | 34% | 0.20 | 15 | 10% | 16 | $19M |
| Natural borates | 🇱🇺 Luxembourg | 33% | 0.20 | 41 | 0% | 11 | $1M |
| Palladium, unwrought | 🇿🇦 South Africa | 32% | 0.16 | 25 | 0% | 33 | $2.2B |
| Manganese ore | 🇳🇱 Netherlands | 32% | 0.20 | 46 | 0% | 9 | $10M |
| Fluorspar, >97% CaF2 | 🇿🇦 South Africa | 30% | 0.21 | 50 | 10% | 14 | $51M |
| Platinum, unwrought | 🇧🇪 Belgium | 28% | 0.21 | 39 | 0% | 34 | $1.0B |
| Antimony, unwrought | 🇳🇱 Netherlands | 25% | 0.17 | 35 | 23% | 11 | $4M |
| Tungsten, unwrought | 🇨🇦 Canada | 23% | 0.16 | 50 | 21% | 18 | $10M |
| Titanium, unwrought | 🇯🇵 Japan | 23% | 0.14 | 43 | 15% | 28 | $32M |
| Refined copper cathodes | 🇵🇱 Poland | 20% | 0.12 | 24 | 0% | 31 | $3.6B |
Computed from out/flows_2024.json + out/data.json by build_profiles.py. Customs records the immediate shipper, not the mine — see methodology.