{
  "snapshot_id": "approved-static-48d32b636f07abc8",
  "page_version": "1770d46f56578be42ba84c0502d7317e",
  "content_date": "2026-10-16",
  "schema_version": "immigrationdb-region-v1",
  "region_id": "region:us:official:54",
  "name": "West Virginia",
  "name_local": "West Virginia",
  "country_code": "US",
  "country": "United States",
  "canonical_url": "https://immigrationdb.com/countries/united-states/west-virginia/",
  "summary": "West Virginia has 35 published cities; the largest is Charleston, with 46,117 residents. The median gross salary runs from €2,221 to €5,616 a month across 10 cities.",
  "cities": [
    {
      "name": "Charleston",
      "canonical_url": "https://immigrationdb.com/cities/us/charleston-wv/",
      "population": 46117,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": 6.891304
    },
    {
      "name": "Huntington",
      "canonical_url": "https://immigrationdb.com/cities/us/huntington-wv/",
      "population": 44815,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": 7.369672
    },
    {
      "name": "Morgantown",
      "canonical_url": "https://immigrationdb.com/cities/us/morgantown/",
      "population": 30293,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Parkersburg",
      "canonical_url": "https://immigrationdb.com/cities/us/parkersburg/",
      "population": 28593,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Wheeling",
      "canonical_url": "https://immigrationdb.com/cities/us/wheeling-wv/",
      "population": 25680,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Martinsburg",
      "canonical_url": "https://immigrationdb.com/cities/us/martinsburg/",
      "population": 19211,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Weirton Heights",
      "canonical_url": "https://immigrationdb.com/cities/us/weirton-heights/",
      "population": 18317,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": 2975.925219,
      "unemployment_percent": 7.130676,
      "pm25_ug_m3": null
    },
    {
      "name": "Weirton",
      "canonical_url": "https://immigrationdb.com/cities/us/weirton/",
      "population": 18133,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": 6.468871
    },
    {
      "name": "Fairmont",
      "canonical_url": "https://immigrationdb.com/cities/us/fairmont-wv/",
      "population": 18035,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Beckley",
      "canonical_url": "https://immigrationdb.com/cities/us/beckley/",
      "population": 16373,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Clarksburg",
      "canonical_url": "https://immigrationdb.com/cities/us/clarksburg/",
      "population": 15562,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Teays Valley",
      "canonical_url": "https://immigrationdb.com/cities/us/teays-valley/",
      "population": 14350,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": 5153.60987,
      "unemployment_percent": 2.009832,
      "pm25_ug_m3": null
    },
    {
      "name": "South Charleston",
      "canonical_url": "https://immigrationdb.com/cities/us/south-charleston/",
      "population": 13072,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Saint Albans",
      "canonical_url": "https://immigrationdb.com/cities/us/saint-albans/",
      "population": 10522,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": 3187.264953,
      "unemployment_percent": 5.399521,
      "pm25_ug_m3": null
    },
    {
      "name": "Vienna",
      "canonical_url": "https://immigrationdb.com/cities/us/vienna-wv/",
      "population": 10321,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "St. Albans",
      "canonical_url": "https://immigrationdb.com/cities/us/st-albans-wv/",
      "population": 10301,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": 3187.264953,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Cheat Lake",
      "canonical_url": "https://immigrationdb.com/cities/us/cheat-lake/",
      "population": 9930,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": 5616.093578,
      "unemployment_percent": 2.20069,
      "pm25_ug_m3": null
    },
    {
      "name": "Cross Lanes",
      "canonical_url": "https://immigrationdb.com/cities/us/cross-lanes/",
      "population": 9727,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": 3243.083279,
      "unemployment_percent": 3.524653,
      "pm25_ug_m3": null
    },
    {
      "name": "Bridgeport",
      "canonical_url": "https://immigrationdb.com/cities/us/bridgeport-wv/",
      "population": 9427,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": 5.958449
    },
    {
      "name": "Charles Town",
      "canonical_url": "https://immigrationdb.com/cities/us/charles-town/",
      "population": 9329,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Bluefield",
      "canonical_url": "https://immigrationdb.com/cities/us/bluefield/",
      "population": 9158,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Moundsville",
      "canonical_url": "https://immigrationdb.com/cities/us/moundsville/",
      "population": 7659,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": 7.671549
    },
    {
      "name": "Oak Hill",
      "canonical_url": "https://immigrationdb.com/cities/us/oak-hill/",
      "population": 7629,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Hurricane",
      "canonical_url": "https://immigrationdb.com/cities/us/hurricane-wv/",
      "population": 7367,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": 3.853297
    },
    {
      "name": "Dunbar",
      "canonical_url": "https://immigrationdb.com/cities/us/dunbar/",
      "population": 7050,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Elkins",
      "canonical_url": "https://immigrationdb.com/cities/us/elkins/",
      "population": 6622,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Nitro",
      "canonical_url": "https://immigrationdb.com/cities/us/nitro/",
      "population": 6270,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Brookhaven",
      "canonical_url": "https://immigrationdb.com/cities/us/brookhaven-wv-061/",
      "population": 5707,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": 3575.375553,
      "unemployment_percent": 6.952044,
      "pm25_ug_m3": null
    },
    {
      "name": "Princeton",
      "canonical_url": "https://immigrationdb.com/cities/us/princeton-wv/",
      "population": 5578,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Ranson corporation",
      "canonical_url": "https://immigrationdb.com/cities/us/ranson-corporation/",
      "population": 5433,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Buckhannon",
      "canonical_url": "https://immigrationdb.com/cities/us/buckhannon/",
      "population": 5054,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "New Martinsville",
      "canonical_url": "https://immigrationdb.com/cities/us/new-martinsville/",
      "population": 5039,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": null,
      "unemployment_percent": null,
      "pm25_ug_m3": null
    },
    {
      "name": "Keyser",
      "canonical_url": "https://immigrationdb.com/cities/us/keyser/",
      "population": 4802,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": 2599.671201,
      "unemployment_percent": 12.882788,
      "pm25_ug_m3": null
    },
    {
      "name": "Grafton",
      "canonical_url": "https://immigrationdb.com/cities/us/grafton/",
      "population": 4575,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": 2220.799496,
      "unemployment_percent": 7.40349,
      "pm25_ug_m3": null
    },
    {
      "name": "West Milford",
      "canonical_url": "https://immigrationdb.com/cities/us/west-milford/",
      "population": 454,
      "rent_eur_per_m2_month": null,
      "median_gross_salary_eur_month": 4977.762893,
      "unemployment_percent": 4.3,
      "pm25_ug_m3": null
    }
  ],
  "rankings": [
    {
      "key": "salary",
      "title": "Highest median gross salary",
      "items": [
        {
          "name": "Cheat Lake",
          "href": "/cities/us/cheat-lake/",
          "value": "€5,616 a month",
          "year": "2020"
        },
        {
          "name": "Teays Valley",
          "href": "/cities/us/teays-valley/",
          "value": "€5,154 a month",
          "year": "2020"
        },
        {
          "name": "West Milford",
          "href": "/cities/us/west-milford/",
          "value": "€4,978 a month",
          "year": "2020"
        },
        {
          "name": "Brookhaven",
          "href": "/cities/us/brookhaven-wv-061/",
          "value": "€3,575 a month",
          "year": "2020"
        },
        {
          "name": "Cross Lanes",
          "href": "/cities/us/cross-lanes/",
          "value": "€3,243 a month",
          "year": "2020"
        }
      ]
    }
  ]
}
