Übersicht
Die API liefert aggregierte Statistiken aus der anonymen Online-Befragung. Individuelle Antworten sind nicht zugänglich.
Base-URL: https://backend-production-00697.up.railway.app
Format: JSON · Caching: 1 Stunde (Cache-Control: public, max-age=3600) · Auth: Keine
Endpoints
GET
/api/v1/resultsAktuelle aggregierte Ergebnisse der letzten Erhebungsversion.
Response (gekürzt)
{
"version": 5,
"last_updated": "2026-02-15T02:00:00.000Z",
"total_submissions": 1250,
"approved_submissions": 1180,
"data": {
"awi": {
"score": 47,
"sub_indicators": {
"abwanderungsneigung": 38.2,
"handlungsdruck": 42.1,
"wahrnehmungsdruck": 55.8,
"konkretisierungsgrad": 28.4,
"bleibe_resilienz": 35.6
},
"sample_size": 1180
},
"age_distribution": [
{ "value": "25-34", "count": 380, "percentage": "32.2", "reliable": true },
...
],
"emigration_likelihood": [...],
"future_perspective": [...],
"emigration_by_age": {
"25-34": {
"sehr wahrscheinlich": { "count": 85, "percentage": "22.4", "reliable": true },
...
}
},
"changes_since_last": {
"sample_size_change": 120,
"days_since_last": 7,
"emigration_likelihood_trend": { ... }
}
}
}GET
/api/v1/results/trendHistorischer Verlauf über alle Aggregationsversionen.
Response
{
"versions": [
{
"version": 1,
"date": "2026-01-15T02:00:00.000Z",
"awi": 42,
"sample_size": 500,
"key_metrics": {
"emigration_likely_pct": 35.2,
"negative_future_pct": 48.1,
"would_stay_pct": 52.0,
"concrete_plans_pct": 8.5
}
},
...
]
}Datentypen
AggregationItem
{
"value": string, // Kategorie-Name
"count": number, // Anzahl
"percentage": string, // z.B. "42.3"
"reliable": boolean // true wenn count >= 30
}CrossTabItem
{
"count": number,
"percentage": string, // Zeilen-Prozent
"reliable": boolean
}Code-Beispiele
curl
curl -s https://api.abwanderungsmonitor.org/api/v1/results | jq '.data.awi'
Python
import requests
response = requests.get("https://api.abwanderungsmonitor.org/api/v1/results")
data = response.json()
awi = data["data"]["awi"]
print(f"AWI Score: {awi['score']}/100")
print(f"Stichprobe: {awi['sample_size']} Teilnehmende")JavaScript
const res = await fetch("https://api.abwanderungsmonitor.org/api/v1/results");
const { data } = await res.json();
console.log(`AWI: ${data.awi.score}/100`);
console.log(`Emigration likely: ${
data.emigration_likelihood
.filter(i => i.value.includes("wahrscheinlich"))
.reduce((s, i) => s + parseFloat(i.percentage), 0)
.toFixed(1)
}%`);Nutzungsbedingungen
- Freie Nutzung für nicht-kommerzielle Zwecke mit Quellenangabe
- Quellenangabe: „Abwanderungsmonitor Deutschland, abwanderungsmonitor.org“
- Hinweis auf Nicht-Repräsentativität bei jeder Veröffentlichung erforderlich
- Kommerzielle Nutzung und API-Zugang auf Anfrage: B2B-Kontakt
- Keine Gewähr auf Verfügbarkeit oder Vollständigkeit
AWI-Berechnungsmethodik
Der Abwanderungs-Index (AWI) ist ein gewichteter Composite-Score (0–100) aus 5 Sub-Indikatoren:
AWI = 0.30 × Abwanderungsneigung
+ 0.25 × Handlungsdruck
+ 0.20 × Wahrnehmungsdruck
+ 0.15 × Konkretisierungsgrad
+ 0.10 × Bleibe-Resilienz (invertiert)
Abwanderungsneigung: % "eher/sehr wahrscheinlich" (emigration_likelihood)
Handlungsdruck: % "stark/sehr stark" (life_planning_influence)
Wahrnehmungsdruck: Ø neg. Anteil (4 Likert-Dimensionen)
Konkretisierungsgrad: √(% Zeithorizont × % Zielregion)
Bleibe-Resilienz: 100 − % "ja/eher ja" (would_stay_if_improved)