{
  "snapshot_id": "approved-static-d7ed373c115d60d0",
  "schema_version": "immigrationdb-city-resource-v2",
  "generated_at": "2026-09-12",
  "citation": {
    "@type": "CreativeWork",
    "@id": "https://immigrationdb.com/cities/de/ellwangen/#citation",
    "schema_version": "immigrationdb-citation-v1",
    "citation_type": "ImmigrationDB compilation",
    "canonical_url": "https://immigrationdb.com/cities/de/ellwangen/",
    "title": "Ellwangen, Germany: rent, salary, jobs",
    "author": {
      "name": "ImmigrationDB",
      "url": "https://immigrationdb.com/"
    },
    "publisher": {
      "name": "ImmigrationDB",
      "url": "https://immigrationdb.com/"
    },
    "snapshot_id": "approved-static-d7ed373c115d60d0",
    "version": "approved-static-d7ed373c115d60d0",
    "retrieval_date": "2026-09-12",
    "build_date": "2026-09-12",
    "compilation_license": {
      "name": "CC BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/",
      "terms_url": "https://immigrationdb.com/about/copyright/"
    },
    "formats": {
      "apa": "ImmigrationDB. (2026, September 12). Ellwangen, Germany: rent, salary, jobs [ImmigrationDB compilation; snapshot approved-static-d7ed373c115d60d0; version approved-static-d7ed373c115d60d0]. ImmigrationDB. https://immigrationdb.com/cities/de/ellwangen/ Retrieved 2026-09-12. Compilation license: CC BY 4.0, https://creativecommons.org/licenses/by/4.0/",
      "bibtex": "@misc{immigrationdb_immigrationdb_ellwangen-germany-rent-salary-jobs_c63d43c265e9,\n  author = {ImmigrationDB},\n  title = {Ellwangen, Germany: rent, salary, jobs},\n  publisher = {ImmigrationDB},\n  year = {2026},\n  date = {2026-09-12},\n  version = {approved-static-d7ed373c115d60d0},\n  snapshot = {approved-static-d7ed373c115d60d0},\n  url = {https://immigrationdb.com/cities/de/ellwangen/},\n  note = {Retrieved 2026-09-12. ImmigrationDB compilation. Compilation license: CC BY 4.0, https://creativecommons.org/licenses/by/4.0/},\n}",
      "markdown": "[Ellwangen, Germany: rent, salary, jobs](https://immigrationdb.com/cities/de/ellwangen/) — ImmigrationDB; ImmigrationDB; snapshot approved-static-d7ed373c115d60d0; version approved-static-d7ed373c115d60d0; retrieved 2026-09-12; built 2026-09-12."
    },
    "boundary_note": "This citation identifies the ImmigrationDB compilation/page. Underlying source publishers and datasets retain their own terms; inspect the Sources section and cite those records separately."
  },
  "underlying_source_references": [
    {
      "source_id": "source-7f9251b20b46",
      "source_url": "https://www.inkar.de/Table/GetDataTable",
      "source_title": "All recorded crimes per 100,000 residents in the BBSR/PKS Kreis indicator.",
      "publisher": "All recorded crimes per 100,000 residents in the BBSR/PKS Kreis indicator.",
      "source_quality": "verified",
      "last_checked": "2026-07-16"
    },
    {
      "source_id": "arbeitsagentur_entgelte_regional_wo_2024",
      "source_url": "https://statistik.arbeitsagentur.de/DE/Navigation/Statistiken/Interaktive-Statistiken/Entgelte-regional/Entgelte-regional-Nav.html",
      "source_title": "Bundesagentur für Arbeit — Entgelte im regionalen Vergleich (Wohnort)",
      "publisher": "Bundesagentur für Arbeit",
      "source_quality": "verified",
      "last_checked": "2026-07-14"
    },
    {
      "source_id": "source-333db3849e20",
      "source_url": "https://www.destatis.de/static/DE/zensus/gitterdaten/Regionaltabelle_Bildung_Erwerbstaetigkeit.xlsx",
      "source_title": "Zensus 2022 regional tables — Germany municipalities",
      "publisher": "Zensus 2022 regional tables",
      "source_quality": "verified",
      "last_checked": "2026-07-26"
    },
    {
      "source_id": "task-846-admission-02:source:5e1d26725459f6508ee2dfdc121862b9",
      "source_url": "https://air.discomap.eea.europa.eu/arcgis/rest/services/AirQuality/AQ_Statistics_WM/MapServer/0/query",
      "source_title": "air.discomap.eea.europa.eu",
      "publisher": "air.discomap.eea.europa.eu",
      "source_quality": "verified",
      "last_checked": "2026-08-26"
    },
    {
      "source_id": "source-0d44f89bd985",
      "source_url": "https://bundes-klinik-atlas.de/fileadmin/json/locations.json",
      "source_title": "Bundesministerium für Gesundheit (Bundesklinik-Atlas)",
      "publisher": "Bundesministerium für Gesundheit (Bundesklinik-Atlas)",
      "source_quality": "verified",
      "last_checked": "2026-08-03"
    },
    {
      "source_id": "source-2c811b7da15a",
      "source_url": "https://raw.githubusercontent.com/jpatokal/openflights/master/data/routes.dat",
      "source_title": "OpenFlights",
      "publisher": "OpenFlights",
      "source_quality": "verified",
      "last_checked": "2026-08-03"
    },
    {
      "source_id": "source-4e7d55f2c3dd",
      "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
      "source_title": "OurAirports",
      "publisher": "OurAirports",
      "source_quality": "verified",
      "last_checked": "2026-08-03"
    },
    {
      "source_id": "source-deeba1f6e9ae",
      "source_url": "https://www.bamf.de/DE/Themen/Integration/ZugewanderteTeilnehmende/Integrationskurse/integrationskurse-node.html",
      "source_title": "BAMF official integration-course description.",
      "publisher": "bamf.de",
      "source_quality": "verified",
      "last_checked": "2026-08-10"
    },
    {
      "source_id": "source-37fb0a3487ec",
      "source_url": "https://www.bamf.de/DE/Themen/Integration/ZugewanderteTeilnehmende/DeutschBeruf/deutsch-beruf.html",
      "source_title": "BAMF official job-related German-course description.",
      "publisher": "bamf.de",
      "source_quality": "verified",
      "last_checked": "2026-08-10"
    },
    {
      "source_id": "source-eae56cdb68cd",
      "source_url": "https://www.arbeitsagentur.de/api/download/datei/dienststellennr-verzeichnis_ba026562.pdf",
      "source_title": "Ellwangen",
      "publisher": "Bundesagentur für Arbeit",
      "source_quality": "verified",
      "last_checked": "2026-08-11"
    },
    {
      "source_id": "source-aad43cbb74f9",
      "source_url": "https://www.arbeitsagentur.de/arbeitslos-arbeit-finden",
      "source_title": "Bundesagentur für Arbeit",
      "publisher": "Bundesagentur für Arbeit",
      "source_quality": "verified",
      "last_checked": "2026-08-10"
    },
    {
      "source_id": "task-647-648-country-region-admission-01:source:d8cc2bb509bba38e81667bc798e62279",
      "source_url": "https://www.gesetze-im-internet.de/sgb_5/__5.html",
      "source_title": "Gesetze im Internet (Bundesministerium der Justiz), SGB V",
      "publisher": "Gesetze im Internet (Bundesministerium der Justiz), SGB V",
      "source_quality": "verified",
      "last_checked": "2026-08-03"
    },
    {
      "source_id": "source-201b18f8a3b0",
      "source_url": "https://www.wikidata.org/wiki/Q31993930",
      "source_title": "Coordinate identity evidence",
      "publisher": "Coordinate identity evidence",
      "source_quality": "verified",
      "last_checked": "2026-09-06"
    }
  ],
  "canonical_path": "/cities/de/ellwangen/",
  "mcp_uri": "immigrationdb://city/de/ellwangen",
  "editorial_copy": {
    "status": "reviewed",
    "reviewed_at": "2026-08-08",
    "copy_depth": "city_standard",
    "blocks": {
      "intro": "Ellwangen is one of the cities recorded in Germany. At the end of 2024, the regional median gross salary stood at €4,500 per month. The unemployment rate was 4.42% in May 2022.",
      "mobility_lead": "Ellwangen's nearest airport was STR, 73 km away and offered 80 direct destinations.",
      "healthcare_lead": "The availability of hospital beds in Ellwangen was 668 beds per 100,000 residents at the end of 2024."
    },
    "used_claim_count": 6,
    "uses_supplemental_cd": false
  },
  "city": {
    "coordinates": {
      "coordinate_id": "source-2fad719ba48f",
      "latitude": 48.96112,
      "longitude": 10.13098,
      "source_id": "source-201b18f8a3b0",
      "source_url": "https://www.wikidata.org/wiki/Q31993930",
      "source_locator": "P1566 exact lookup (2930889; Wikidata lexical value 2930889); P625",
      "source_quality": "verified",
      "observed_at": "2026-09-06",
      "verified_at": "2026-09-06",
      "method": "registry_wikidata_cross_reference",
      "identity_property": "P1566",
      "identity_key": "2930889",
      "wikidata_qid": "Q31993930"
    },
    "entity_id": "city:de:geonames:2930889",
    "name": "Ellwangen",
    "country_code": "DE",
    "public_slug": "ellwangen",
    "canonical_path": "/cities/de/ellwangen/",
    "mcp_uri": "immigrationdb://city/de/ellwangen",
    "page_state": "published",
    "usefulness": {
      "policy": "city_usefulness_v1",
      "has_reviewed_copy": true,
      "valid_slug": true,
      "counts": {
        "ab_facts": 6,
        "metrics": 6,
        "source_blocks": 3,
        "decision_domains": 3,
        "answer_intents": 3,
        "fresh_facts": 6
      },
      "answer_intents": [
        "healthcare",
        "income",
        "work"
      ],
      "decision_domains": [
        "healthcare",
        "mobility",
        "work"
      ],
      "requirements": {
        "metrics": true,
        "source_blocks": true,
        "decision_domains": true,
        "answer_intents": true,
        "fresh_facts": true
      },
      "base_floor_passed": true,
      "tier": "useful",
      "indexable": true,
      "internal_link_kind": "similar_population",
      "structured_context_count": 0,
      "missing_requirements": []
    },
    "useful_blocks": [
      "climate_air",
      "mobility_admin",
      "healthcare",
      "housing",
      "work_income"
    ],
    "useful_fact_count": 8,
    "city_tags": [],
    "profile_scores": {
      "remote": {
        "point": 54,
        "low": 40,
        "high": 68,
        "factors": {
          "employment_service": 82,
          "healthcare_capacity": 34,
          "language_integration": 82,
          "legal_path": 88
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 450,
          "source_id": "source-7f9251b20b46",
          "basis": "per_m2_x_45m2_reference"
        },
        "coverage": 0.1846,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "air",
          "cost_pressure",
          "healthcare_migrant_access",
          "housing",
          "safety",
          "tax_retention",
          "work"
        ],
        "country_context": {
          "employment_service": {
            "score": 82,
            "weight": 0.75,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 0.5,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "skilled_employee": {
        "point": 58,
        "low": 46,
        "high": 70,
        "factors": {
          "employment_service": 82,
          "healthcare_capacity": 34,
          "language_integration": 82,
          "legal_path": 88,
          "tax_retention": 61
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 450,
          "source_id": "source-7f9251b20b46",
          "basis": "per_m2_x_45m2_reference"
        },
        "coverage": 0.3889,
        "confidence": 0.7857,
        "coverage_status": "capped",
        "missing_factors": [
          "education",
          "healthcare_migrant_access",
          "housing",
          "safety",
          "work"
        ],
        "country_context": {
          "employment_service": {
            "score": 82,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 2,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "tax_retention": {
            "score": 61,
            "weight": 2,
            "confidence": 0.5,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "family": {
        "point": 54,
        "low": 40,
        "high": 68,
        "factors": {
          "employment_service": 82,
          "healthcare_capacity": 34,
          "language_integration": 82,
          "legal_path": 88
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 450,
          "source_id": "source-7f9251b20b46",
          "basis": "per_m2_x_45m2_reference"
        },
        "coverage": 0.2,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "cost_pressure",
          "education",
          "family",
          "healthcare_migrant_access",
          "housing",
          "safety"
        ],
        "country_context": {
          "employment_service": {
            "score": 82,
            "weight": 0.5,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "student": {
        "point": 56,
        "low": 42,
        "high": 70,
        "factors": {
          "employment_service": 82,
          "healthcare_capacity": 34,
          "language_integration": 82,
          "legal_path": 88
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 450,
          "source_id": "source-7f9251b20b46",
          "basis": "per_m2_x_45m2_reference"
        },
        "coverage": 0.2206,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "cost_pressure",
          "education",
          "healthcare_migrant_access",
          "housing",
          "safety",
          "work"
        ],
        "country_context": {
          "employment_service": {
            "score": 82,
            "weight": 0,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 2,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "retirement": {
        "point": 53,
        "low": 39,
        "high": 67,
        "factors": {
          "employment_service": 82,
          "healthcare_capacity": 34,
          "language_integration": 82,
          "legal_path": 88
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 450,
          "source_id": "source-7f9251b20b46",
          "basis": "per_m2_x_45m2_reference"
        },
        "coverage": 0.225,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "air",
          "bureaucracy",
          "cost_pressure",
          "healthcare_migrant_access",
          "housing",
          "safety",
          "tax_retention"
        ],
        "country_context": {
          "employment_service": {
            "score": 82,
            "weight": 0,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 0.5,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 2,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      }
    },
    "facts_by_block": {
      "housing_cost": [
        {
          "reader_label": "Average net rent (nettokalt)",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "rent_avg_nettokalt_eur_per_m2_month",
          "block_id": "housing",
          "value": 10,
          "unit": "EUR/m2/month",
          "geographic_scope": "parent_municipality",
          "observed_at": "2024",
          "verified_at": "2026-08-06",
          "comparison_eligible": false,
          "comparison_basis": {
            "geographic_scope": "parent_municipality",
            "unit": "eur/m²/month",
            "observed_at": "2024",
            "data_level": null
          },
          "source_id": "source-7f9251b20b46",
          "source_url": "https://www.inkar.de/Table/GetDataTable",
          "source_title": "All recorded crimes per 100,000 residents in the BBSR/PKS Kreis indicator.",
          "source_authority": "BBSR; Bundeskriminalamt (BKA), Polizeiliche Kriminalstatistik",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "supplemental"
        }
      ],
      "work_income": [
        {
          "reader_label": "Median gross salary (regional)",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "salary_median_gross_regional_eur_month",
          "block_id": "work_income",
          "value": 4500,
          "unit": "EUR/month",
          "geographic_scope": "parent_municipality",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-06",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "parent_municipality",
            "unit": "eur/month",
            "observed_at": "2024-12-31",
            "data_level": null
          },
          "source_id": "arbeitsagentur_entgelte_regional_wo_2024",
          "source_url": "https://statistik.arbeitsagentur.de/DE/Navigation/Statistiken/Interaktive-Statistiken/Entgelte-regional/Entgelte-regional-Nav.html",
          "source_title": "Bundesagentur für Arbeit — Entgelte im regionalen Vergleich (Wohnort)",
          "source_authority": "statistik.arbeitsagentur.de",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Unemployment rate",
          "label_owner_metric_id": "unemployment_total_percent",
          "reader_label_role": "primary",
          "metric_id": "unemployment_total_percent",
          "block_id": "work_income",
          "value": 4.419,
          "unit": "percent",
          "geographic_scope": "parent_municipality",
          "observed_at": "2022-05-15",
          "verified_at": "2026-08-06",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "parent_municipality",
            "unit": "%",
            "observed_at": "2022-05-15",
            "data_level": null
          },
          "source_id": "source-333db3849e20",
          "source_url": "https://www.destatis.de/static/DE/zensus/gitterdaten/Regionaltabelle_Bildung_Erwerbstaetigkeit.xlsx",
          "source_title": "Zensus 2022 regional tables — Germany municipalities",
          "source_authority": "Statistisches Bundesamt (Destatis) / Statistical Offices of the Länder",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "climate_air": [
        {
          "reader_label": "PM2.5 — annual mean",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "air_quality_pm25_annual_ug_m3",
          "block_id": "climate_air",
          "value": 8,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-27",
          "comparison_eligible": false,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "µg/m³",
            "observed_at": "2024-12-31",
            "data_level": null
          },
          "source_id": "task-846-admission-02:source:5e1d26725459f6508ee2dfdc121862b9",
          "source_url": "https://air.discomap.eea.europa.eu/arcgis/rest/services/AirQuality/AQ_Statistics_WM/MapServer/0/query",
          "source_title": "air.discomap.eea.europa.eu",
          "source_authority": "air.discomap.eea.europa.eu",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "supplemental"
        }
      ],
      "healthcare": [
        {
          "reader_label": "Hospital Beds Per 100k",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "hospital_beds_per_100k",
          "block_id": "healthcare",
          "value": 668,
          "unit": "beds_per_100k",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-03",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "beds per 100,000",
            "observed_at": "2024-12-31",
            "data_level": null
          },
          "source_id": "source-0d44f89bd985",
          "source_url": "https://bundes-klinik-atlas.de/fileadmin/json/locations.json",
          "source_title": "Bundesministerium für Gesundheit (Bundesklinik-Atlas)",
          "source_authority": "Bundesministerium für Gesundheit (Bundesklinik-Atlas)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "mobility_admin": [
        {
          "reader_label": "Airport Direct Destinations Count",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "airport_direct_destinations_count",
          "block_id": "mobility_admin",
          "value": 80,
          "unit": "count",
          "geographic_scope": "city",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "count",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "source-2c811b7da15a",
          "source_url": "https://raw.githubusercontent.com/jpatokal/openflights/master/data/routes.dat",
          "source_title": "OpenFlights",
          "source_authority": "OpenFlights",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Nearest Major Airport Distance Km",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "nearest_major_airport_distance_km",
          "block_id": "mobility_admin",
          "value": 73,
          "unit": "km",
          "geographic_scope": "city",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "km",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "source-4e7d55f2c3dd",
          "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
          "source_title": "OurAirports",
          "source_authority": "OurAirports",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Nearest Major Airport Iata",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "nearest_major_airport_iata",
          "block_id": "mobility_admin",
          "value": "STR",
          "unit": "iata_code",
          "geographic_scope": "city",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "unit-not-stated",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "source-4e7d55f2c3dd",
          "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
          "source_title": "OurAirports",
          "source_authority": "OurAirports",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ]
    },
    "language_integration": {
      "mode": "national",
      "local_locations": [],
      "supplemental_locations": [],
      "programmes": [
        {
          "program_id": "li:de:program:integrationskurs",
          "name": "BAMF Integrationskurse",
          "type": "integration_course",
          "responsible_body": "Bundesamt für Migration und Flüchtlinge (BAMF)",
          "scope": {
            "name": "Germany",
            "grain": "national",
            "country_code": "DE",
            "relation_method": "national_scope"
          },
          "target_groups": [
            "eligible migrants"
          ],
          "languages_taught": [
            "German"
          ],
          "cefr_start": null,
          "cefr_end": null,
          "eligibility_summary": null,
          "cost_model": null,
          "modality": [
            "in_person"
          ],
          "official_url": "https://www.bamf.de/DE/Themen/Integration/ZugewanderteTeilnehmende/Integrationskurse/integrationskurse-node.html",
          "source": {
            "source_id": "source-deeba1f6e9ae",
            "title": "BAMF official integration-course description.",
            "publisher": "bamf.de",
            "url": "https://www.bamf.de/DE/Themen/Integration/ZugewanderteTeilnehmende/Integrationskurse/integrationskurse-node.html",
            "source_url": "https://www.bamf.de/DE/Themen/Integration/ZugewanderteTeilnehmende/Integrationskurse/integrationskurse-node.html",
            "source_quality": "verified",
            "last_checked": "2026-08-10"
          }
        },
        {
          "program_id": "li:de:program:berufssprachkurse",
          "name": "BAMF job-related German courses",
          "type": "employment_integration",
          "responsible_body": "Bundesamt für Migration und Flüchtlinge (BAMF)",
          "scope": {
            "name": "Germany",
            "grain": "national",
            "country_code": "DE",
            "relation_method": "national_scope"
          },
          "target_groups": [
            "migrants needing job-related German"
          ],
          "languages_taught": [
            "German"
          ],
          "cefr_start": null,
          "cefr_end": null,
          "eligibility_summary": null,
          "cost_model": null,
          "modality": [
            "in_person"
          ],
          "official_url": "https://www.bamf.de/DE/Themen/Integration/ZugewanderteTeilnehmende/DeutschBeruf/deutsch-beruf.html",
          "source": {
            "source_id": "source-37fb0a3487ec",
            "title": "BAMF official job-related German-course description.",
            "publisher": "bamf.de",
            "url": "https://www.bamf.de/DE/Themen/Integration/ZugewanderteTeilnehmende/DeutschBeruf/deutsch-beruf.html",
            "source_url": "https://www.bamf.de/DE/Themen/Integration/ZugewanderteTeilnehmende/DeutschBeruf/deutsch-beruf.html",
            "source_quality": "verified",
            "last_checked": "2026-08-10"
          }
        }
      ],
      "supplemental_programmes": []
    },
    "public_employment_service": {
      "mode": "local",
      "local_locations": [
        {
          "location_id": "employment:de:location:61109",
          "service_id": "employment:de:service:bundesagentur-fuer-arbeit",
          "name": "Ellwangen",
          "agency_name": "Bundesagentur für Arbeit",
          "scope": {
            "name": "Ellwangen",
            "grain": "city",
            "entity_id": "city:de:geonames:2930889",
            "country_code": "DE",
            "official_key": null,
            "relation_method": "exact_entity_id"
          },
          "service_types": [
            "job_search"
          ],
          "address": "Sebastiansgraben 47, 73479 Ellwangen",
          "postal_code": "73479",
          "contact_phone": "+49-7961-9133-0",
          "contact_email": null,
          "opening_hours": null,
          "walk_in": null,
          "appointment_required": null,
          "appointment_url": null,
          "information_url": "https://www.arbeitsagentur.de/arbeitslos-arbeit-finden",
          "source": {
            "source_id": "source-eae56cdb68cd",
            "title": "Ellwangen",
            "publisher": "Bundesagentur für Arbeit",
            "source_url": "https://www.arbeitsagentur.de/api/download/datei/dienststellennr-verzeichnis_ba026562.pdf",
            "source_quality": "verified",
            "last_checked": "2026-08-11"
          }
        }
      ],
      "services": [
        {
          "service_id": "employment:de:service:bundesagentur-fuer-arbeit",
          "name": "Bundesagentur für Arbeit",
          "agency_name": "Bundesagentur für Arbeit",
          "scope": {
            "name": "DE",
            "grain": "national",
            "entity_id": null,
            "country_code": "DE",
            "official_key": null,
            "relation_method": "national_scope"
          },
          "service_types": [
            "job_search"
          ],
          "eligible_statuses": [],
          "registration_requirements": null,
          "languages_available": [],
          "information_url": "https://www.arbeitsagentur.de/arbeitslos-arbeit-finden",
          "registration_url": null,
          "job_search_url": "https://www.arbeitsagentur.de/jobsuche/",
          "source": {
            "source_id": "source-aad43cbb74f9",
            "title": "Bundesagentur für Arbeit",
            "publisher": "Bundesagentur für Arbeit",
            "source_url": "https://www.arbeitsagentur.de/arbeitslos-arbeit-finden",
            "source_quality": "verified",
            "last_checked": "2026-08-10"
          }
        }
      ]
    },
    "healthcare_access": {
      "scope": "country_rule_with_city_capacity_when_available",
      "facts": [
        {
          "reader_label": "Public healthcare access for foreign residents",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "public_health_expat_coverage",
          "value": "conditional",
          "unit": "eligibility_status",
          "geographic_scope": "country",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": false,
          "comparison_basis": {
            "geographic_scope": "country",
            "unit": "unit-not-stated",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "task-647-648-country-region-admission-01:source:d8cc2bb509bba38e81667bc798e62279",
          "source_url": "https://www.gesetze-im-internet.de/sgb_5/__5.html",
          "source_title": "Gesetze im Internet (Bundesministerium der Justiz), SGB V",
          "source_authority": "Gesetze im Internet (Bundesministerium der Justiz), SGB V",
          "source_quality": "verified"
        },
        {
          "reader_label": "Hospital Beds Per 100k",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "hospital_beds_per_100k",
          "block_id": "healthcare",
          "value": 668,
          "unit": "beds_per_100k",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-03",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "beds per 100,000",
            "observed_at": "2024-12-31",
            "data_level": null
          },
          "source_id": "source-0d44f89bd985",
          "source_url": "https://bundes-klinik-atlas.de/fileadmin/json/locations.json",
          "source_title": "Bundesministerium für Gesundheit (Bundesklinik-Atlas)",
          "source_authority": "Bundesministerium für Gesundheit (Bundesklinik-Atlas)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ]
    },
    "city_intent": null,
    "country_rules_url": "/countries/germany/",
    "answers": [
      {
        "answer_id": "answer:city:de:ellwangen:rent-current",
        "slot_id": "city.rent.current",
        "answer_type": "direct_metric",
        "status": "supported",
        "question": "How much does it cost to rent in Ellwangen?",
        "direct_answer": "Average net cold rent is 10 EUR/m² per month (2024), excluding heating and operating charges.",
        "qualifier": "Published average over existing tenancies; a specific flat can sit either side of it. Asking-rent series, where present, are separate rows in the table.",
        "temporal": {
          "mode": "historical_observation",
          "source_period": "2024",
          "captured_at": "2026-08-06"
        },
        "value": {
          "raw_value": 10,
          "normalized_value": 10,
          "machine_value": 10,
          "display_value": "10",
          "unit": "EUR/m² per month",
          "format_profile_id": "currency.eur.per_m2.answer.2dp.v1",
          "approximation_label": null
        },
        "format_profile_id": "currency.eur.per_m2.answer.2dp.v1",
        "evidence": [
          {
            "claim_id": "claim-1ab0b60ea7b7",
            "role": "primary",
            "metric_id": "rent_avg_nettokalt_eur_per_m2_month"
          }
        ],
        "alternatives": [],
        "dependency_hash": "12a56ca59cc88c9e5985acf44cec49d9e1518da720c11450fa3c8217053c479a"
      },
      {
        "answer_id": "answer:city:de:ellwangen:air_quality-pm25_annual",
        "slot_id": "city.air_quality.pm25_annual",
        "answer_type": "direct_metric",
        "status": "supported",
        "question": "Is the air quality good in Ellwangen?",
        "direct_answer": "The annual PM2.5 mean is 8 µg/m³ (2024) — above the WHO 2021 guideline of 5 µg/m³ but within the EU limit of 25 µg/m³.",
        "qualifier": "Annual mean at the measuring site(s) serving the city; current-day readings differ.",
        "temporal": {
          "mode": "historical_observation",
          "source_period": "2024",
          "captured_at": "2026-08-27"
        },
        "value": {
          "raw_value": 8,
          "normalized_value": 8,
          "machine_value": 8,
          "display_value": "8",
          "unit": "µg/m³",
          "format_profile_id": "concentration.ugm3.annual.1dp.v1",
          "approximation_label": null
        },
        "format_profile_id": "concentration.ugm3.annual.1dp.v1",
        "evidence": [
          {
            "claim_id": "claim-01c8bc37312e",
            "role": "primary",
            "metric_id": "air_quality_pm25_annual_ug_m3"
          }
        ],
        "alternatives": [],
        "dependency_hash": "9c8eaf6c6b5f8b0eefb743b47b31d7f3047c449cf6db72ed620507b13b050cd8"
      },
      {
        "answer_id": "answer:city:de:ellwangen:derived-rent_flat",
        "slot_id": "city.derived.rent_flat",
        "answer_type": "derived",
        "status": "supported",
        "question": "What does a 60 m² flat cost?",
        "direct_answer": "About 600 EUR a month in cold rent at the published average of 10 EUR/m² per month, before heating and operating charges.",
        "qualifier": "Heating, water and operating charges come on top, and a specific flat can sit either side of an average.",
        "temporal": {
          "mode": "historical_observation",
          "source_period": "2024",
          "captured_at": "2026-08-06"
        },
        "value": {
          "raw_value": 600,
          "normalized_value": 600,
          "machine_value": 600,
          "display_value": "600 EUR",
          "unit": "EUR/month",
          "format_profile_id": "currency.eur.monthly.answer.whole.v1",
          "approximation_label": "about"
        },
        "evidence": [
          {
            "claim_id": "claim-1ab0b60ea7b7",
            "role": "primary",
            "metric_id": "rent_avg_nettokalt_eur_per_m2_month"
          }
        ],
        "alternatives": [],
        "dependency_hash": "c496650d2d7b1b5fc726d07724baec2b6d92efa72dabec63dfdab02e90dbe445"
      },
      {
        "answer_id": "answer:city:de:ellwangen:unemployment-current",
        "slot_id": "city.unemployment.current",
        "answer_type": "direct_metric",
        "status": "supported",
        "question": "What is the unemployment rate in Ellwangen?",
        "direct_answer": "The unemployment rate is about 4.4 % (May 2022).",
        "qualifier": null,
        "temporal": {
          "mode": "historical_observation",
          "source_period": "May 2022",
          "captured_at": "2026-08-06"
        },
        "value": {
          "raw_value": 4.419,
          "normalized_value": 4.42,
          "machine_value": 4.42,
          "display_value": "4.4",
          "unit": "%",
          "format_profile_id": "percent.1dp.answer.v1",
          "approximation_label": "about"
        },
        "format_profile_id": "percent.1dp.answer.v1",
        "evidence": [
          {
            "claim_id": "claim-9c6182b5ff66",
            "role": "primary",
            "metric_id": "unemployment_total_percent"
          }
        ],
        "alternatives": [],
        "dependency_hash": "3899b5310418f55a84309ed519e980a8a6c0a43cdbeb003df399c6dbe8c8d08f"
      }
    ]
  }
}
