{
  "dataset": "RoofCostLookup modelled roof replacement costs",
  "generated": "2026-10-27",
  "rows": [
    {
      "city": "Albany",
      "stateCode": "NY",
      "state": "New York",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9200,
      "highEstimate": 13000,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albany",
      "stateCode": "NY",
      "state": "New York",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12000,
      "highEstimate": 16300,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albany",
      "stateCode": "NY",
      "state": "New York",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 21700,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albany",
      "stateCode": "NY",
      "state": "New York",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26100,
      "highEstimate": 39100,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albany",
      "stateCode": "NY",
      "state": "New York",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19600,
      "highEstimate": 30400,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albany",
      "stateCode": "NY",
      "state": "New York",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17400,
      "highEstimate": 28300,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albany",
      "stateCode": "NY",
      "state": "New York",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21700,
      "highEstimate": 34800,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albany",
      "stateCode": "NY",
      "state": "New York",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 28300,
      "highEstimate": 43500,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albany",
      "stateCode": "NY",
      "state": "New York",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 39100,
      "highEstimate": 65200,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albany",
      "stateCode": "NY",
      "state": "New York",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 21700,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albuquerque",
      "stateCode": "NM",
      "state": "New Mexico",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11100,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albuquerque",
      "stateCode": "NM",
      "state": "New Mexico",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13800,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albuquerque",
      "stateCode": "NM",
      "state": "New Mexico",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 18400,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albuquerque",
      "stateCode": "NM",
      "state": "New Mexico",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22100,
      "highEstimate": 33200,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albuquerque",
      "stateCode": "NM",
      "state": "New Mexico",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16600,
      "highEstimate": 25800,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albuquerque",
      "stateCode": "NM",
      "state": "New Mexico",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14700,
      "highEstimate": 23900,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albuquerque",
      "stateCode": "NM",
      "state": "New Mexico",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18400,
      "highEstimate": 29500,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albuquerque",
      "stateCode": "NM",
      "state": "New Mexico",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23900,
      "highEstimate": 36800,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albuquerque",
      "stateCode": "NM",
      "state": "New Mexico",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33200,
      "highEstimate": 55300,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Albuquerque",
      "stateCode": "NM",
      "state": "New Mexico",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 18400,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Allentown",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8400,
      "highEstimate": 11800,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Allentown",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10900,
      "highEstimate": 14800,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Allentown",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Allentown",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23700,
      "highEstimate": 35500,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Allentown",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17800,
      "highEstimate": 27600,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Allentown",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15800,
      "highEstimate": 25700,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Allentown",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19700,
      "highEstimate": 31600,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Allentown",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 39500,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Allentown",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35500,
      "highEstimate": 59200,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Allentown",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Anchorage",
      "stateCode": "AK",
      "state": "Alaska",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9200,
      "highEstimate": 13000,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Anchorage",
      "stateCode": "AK",
      "state": "Alaska",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11900,
      "highEstimate": 16200,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Anchorage",
      "stateCode": "AK",
      "state": "Alaska",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15100,
      "highEstimate": 21600,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Anchorage",
      "stateCode": "AK",
      "state": "Alaska",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25900,
      "highEstimate": 38900,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Anchorage",
      "stateCode": "AK",
      "state": "Alaska",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19400,
      "highEstimate": 30200,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Anchorage",
      "stateCode": "AK",
      "state": "Alaska",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17300,
      "highEstimate": 28100,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Anchorage",
      "stateCode": "AK",
      "state": "Alaska",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21600,
      "highEstimate": 34600,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Anchorage",
      "stateCode": "AK",
      "state": "Alaska",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 28100,
      "highEstimate": 43200,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Anchorage",
      "stateCode": "AK",
      "state": "Alaska",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38900,
      "highEstimate": 64800,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Anchorage",
      "stateCode": "AK",
      "state": "Alaska",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 21600,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Arlington",
      "stateCode": "TX",
      "state": "Texas",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11000,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Arlington",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13700,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Arlington",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Arlington",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22000,
      "highEstimate": 32900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Arlington",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16500,
      "highEstimate": 25600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Arlington",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23800,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Arlington",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18300,
      "highEstimate": 29300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Arlington",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23800,
      "highEstimate": 36600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Arlington",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32900,
      "highEstimate": 54900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Arlington",
      "stateCode": "TX",
      "state": "Texas",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Atlanta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7900,
      "highEstimate": 11100,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Atlanta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10200,
      "highEstimate": 13900,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Atlanta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 18500,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Atlanta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22200,
      "highEstimate": 33300,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Atlanta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 25900,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Atlanta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14800,
      "highEstimate": 24100,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Atlanta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18500,
      "highEstimate": 29600,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Atlanta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24100,
      "highEstimate": 37000,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Atlanta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33300,
      "highEstimate": 55500,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Atlanta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 18500,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Augusta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7900,
      "highEstimate": 11100,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Augusta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10200,
      "highEstimate": 13900,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Augusta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 18500,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Augusta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22200,
      "highEstimate": 33300,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Augusta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 25900,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Augusta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14800,
      "highEstimate": 24100,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Augusta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18500,
      "highEstimate": 29600,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Augusta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24100,
      "highEstimate": 37000,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Augusta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33300,
      "highEstimate": 55500,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Augusta",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 18500,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Austin",
      "stateCode": "TX",
      "state": "Texas",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11000,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Austin",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13700,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Austin",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Austin",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22000,
      "highEstimate": 32900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Austin",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16500,
      "highEstimate": 25600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Austin",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23800,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Austin",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18300,
      "highEstimate": 29300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Austin",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23800,
      "highEstimate": 36600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Austin",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32900,
      "highEstimate": 54900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Austin",
      "stateCode": "TX",
      "state": "Texas",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bakersfield",
      "stateCode": "CA",
      "state": "California",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9100,
      "highEstimate": 12900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bakersfield",
      "stateCode": "CA",
      "state": "California",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 16100,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bakersfield",
      "stateCode": "CA",
      "state": "California",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bakersfield",
      "stateCode": "CA",
      "state": "California",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 38600,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bakersfield",
      "stateCode": "CA",
      "state": "California",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19300,
      "highEstimate": 30000,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bakersfield",
      "stateCode": "CA",
      "state": "California",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17200,
      "highEstimate": 27900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bakersfield",
      "stateCode": "CA",
      "state": "California",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21400,
      "highEstimate": 34300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bakersfield",
      "stateCode": "CA",
      "state": "California",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 27900,
      "highEstimate": 42900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bakersfield",
      "stateCode": "CA",
      "state": "California",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38600,
      "highEstimate": 64300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bakersfield",
      "stateCode": "CA",
      "state": "California",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baltimore",
      "stateCode": "MD",
      "state": "Maryland",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8700,
      "highEstimate": 12300,
      "stateLabourFactor": 1.027,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baltimore",
      "stateCode": "MD",
      "state": "Maryland",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 15400,
      "stateLabourFactor": 1.027,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baltimore",
      "stateCode": "MD",
      "state": "Maryland",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14400,
      "highEstimate": 20500,
      "stateLabourFactor": 1.027,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baltimore",
      "stateCode": "MD",
      "state": "Maryland",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 24600,
      "highEstimate": 37000,
      "stateLabourFactor": 1.027,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baltimore",
      "stateCode": "MD",
      "state": "Maryland",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18500,
      "highEstimate": 28800,
      "stateLabourFactor": 1.027,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baltimore",
      "stateCode": "MD",
      "state": "Maryland",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16400,
      "highEstimate": 26700,
      "stateLabourFactor": 1.027,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baltimore",
      "stateCode": "MD",
      "state": "Maryland",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20500,
      "highEstimate": 32900,
      "stateLabourFactor": 1.027,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baltimore",
      "stateCode": "MD",
      "state": "Maryland",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 26700,
      "highEstimate": 41100,
      "stateLabourFactor": 1.027,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baltimore",
      "stateCode": "MD",
      "state": "Maryland",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 37000,
      "highEstimate": 61600,
      "stateLabourFactor": 1.027,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baltimore",
      "stateCode": "MD",
      "state": "Maryland",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12300,
      "highEstimate": 20500,
      "stateLabourFactor": 1.027,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baton Rouge",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8200,
      "highEstimate": 11500,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baton Rouge",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10500,
      "highEstimate": 14400,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baton Rouge",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13400,
      "highEstimate": 19200,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baton Rouge",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23000,
      "highEstimate": 34500,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baton Rouge",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17300,
      "highEstimate": 26900,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baton Rouge",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15300,
      "highEstimate": 24900,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baton Rouge",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19200,
      "highEstimate": 30700,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baton Rouge",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24900,
      "highEstimate": 38400,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baton Rouge",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 34500,
      "highEstimate": 57500,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Baton Rouge",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11500,
      "highEstimate": 19200,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Billings",
      "stateCode": "MT",
      "state": "Montana",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8400,
      "highEstimate": 11900,
      "stateLabourFactor": 0.991,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Billings",
      "stateCode": "MT",
      "state": "Montana",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10900,
      "highEstimate": 14900,
      "stateLabourFactor": 0.991,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Billings",
      "stateCode": "MT",
      "state": "Montana",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13900,
      "highEstimate": 19800,
      "stateLabourFactor": 0.991,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Billings",
      "stateCode": "MT",
      "state": "Montana",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23800,
      "highEstimate": 35700,
      "stateLabourFactor": 0.991,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Billings",
      "stateCode": "MT",
      "state": "Montana",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17800,
      "highEstimate": 27700,
      "stateLabourFactor": 0.991,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Billings",
      "stateCode": "MT",
      "state": "Montana",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15900,
      "highEstimate": 25800,
      "stateLabourFactor": 0.991,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Billings",
      "stateCode": "MT",
      "state": "Montana",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19800,
      "highEstimate": 31700,
      "stateLabourFactor": 0.991,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Billings",
      "stateCode": "MT",
      "state": "Montana",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25800,
      "highEstimate": 39600,
      "stateLabourFactor": 0.991,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Billings",
      "stateCode": "MT",
      "state": "Montana",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35700,
      "highEstimate": 59500,
      "stateLabourFactor": 0.991,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Billings",
      "stateCode": "MT",
      "state": "Montana",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11900,
      "highEstimate": 19800,
      "stateLabourFactor": 0.991,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Birmingham",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11000,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Birmingham",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13800,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Birmingham",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 18400,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Birmingham",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22100,
      "highEstimate": 33100,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Birmingham",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16600,
      "highEstimate": 25800,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Birmingham",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14700,
      "highEstimate": 23900,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Birmingham",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18400,
      "highEstimate": 29400,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Birmingham",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23900,
      "highEstimate": 36800,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Birmingham",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33100,
      "highEstimate": 55200,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Birmingham",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 18400,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boise",
      "stateCode": "ID",
      "state": "Idaho",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8200,
      "highEstimate": 11600,
      "stateLabourFactor": 0.97,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boise",
      "stateCode": "ID",
      "state": "Idaho",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10700,
      "highEstimate": 14600,
      "stateLabourFactor": 0.97,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boise",
      "stateCode": "ID",
      "state": "Idaho",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13600,
      "highEstimate": 19400,
      "stateLabourFactor": 0.97,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boise",
      "stateCode": "ID",
      "state": "Idaho",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23300,
      "highEstimate": 34900,
      "stateLabourFactor": 0.97,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boise",
      "stateCode": "ID",
      "state": "Idaho",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17500,
      "highEstimate": 27200,
      "stateLabourFactor": 0.97,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boise",
      "stateCode": "ID",
      "state": "Idaho",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15500,
      "highEstimate": 25200,
      "stateLabourFactor": 0.97,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boise",
      "stateCode": "ID",
      "state": "Idaho",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19400,
      "highEstimate": 31000,
      "stateLabourFactor": 0.97,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boise",
      "stateCode": "ID",
      "state": "Idaho",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25200,
      "highEstimate": 38800,
      "stateLabourFactor": 0.97,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boise",
      "stateCode": "ID",
      "state": "Idaho",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 34900,
      "highEstimate": 58200,
      "stateLabourFactor": 0.97,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boise",
      "stateCode": "ID",
      "state": "Idaho",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11600,
      "highEstimate": 19400,
      "stateLabourFactor": 0.97,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boston",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9500,
      "highEstimate": 13400,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boston",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12300,
      "highEstimate": 16700,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boston",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15600,
      "highEstimate": 22300,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boston",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26800,
      "highEstimate": 40100,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boston",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 20100,
      "highEstimate": 31200,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boston",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17800,
      "highEstimate": 29000,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boston",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 22300,
      "highEstimate": 35700,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boston",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 29000,
      "highEstimate": 44600,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boston",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 40100,
      "highEstimate": 66900,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Boston",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13400,
      "highEstimate": 22300,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bridgeport",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9200,
      "highEstimate": 13000,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bridgeport",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11900,
      "highEstimate": 16200,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bridgeport",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15100,
      "highEstimate": 21600,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bridgeport",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25900,
      "highEstimate": 38900,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bridgeport",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19400,
      "highEstimate": 30200,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bridgeport",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17300,
      "highEstimate": 28100,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bridgeport",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21600,
      "highEstimate": 34600,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bridgeport",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 28100,
      "highEstimate": 43200,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bridgeport",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38900,
      "highEstimate": 64800,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Bridgeport",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 21600,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Buffalo",
      "stateCode": "NY",
      "state": "New York",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9200,
      "highEstimate": 13000,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Buffalo",
      "stateCode": "NY",
      "state": "New York",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12000,
      "highEstimate": 16300,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Buffalo",
      "stateCode": "NY",
      "state": "New York",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 21700,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Buffalo",
      "stateCode": "NY",
      "state": "New York",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26100,
      "highEstimate": 39100,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Buffalo",
      "stateCode": "NY",
      "state": "New York",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19600,
      "highEstimate": 30400,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Buffalo",
      "stateCode": "NY",
      "state": "New York",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17400,
      "highEstimate": 28300,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Buffalo",
      "stateCode": "NY",
      "state": "New York",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21700,
      "highEstimate": 34800,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Buffalo",
      "stateCode": "NY",
      "state": "New York",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 28300,
      "highEstimate": 43500,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Buffalo",
      "stateCode": "NY",
      "state": "New York",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 39100,
      "highEstimate": 65200,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Buffalo",
      "stateCode": "NY",
      "state": "New York",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 21700,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Burlington",
      "stateCode": "VT",
      "state": "Vermont",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8400,
      "highEstimate": 11800,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Burlington",
      "stateCode": "VT",
      "state": "Vermont",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14800,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Burlington",
      "stateCode": "VT",
      "state": "Vermont",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Burlington",
      "stateCode": "VT",
      "state": "Vermont",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23700,
      "highEstimate": 35500,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Burlington",
      "stateCode": "VT",
      "state": "Vermont",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17700,
      "highEstimate": 27600,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Burlington",
      "stateCode": "VT",
      "state": "Vermont",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15800,
      "highEstimate": 25600,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Burlington",
      "stateCode": "VT",
      "state": "Vermont",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19700,
      "highEstimate": 31600,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Burlington",
      "stateCode": "VT",
      "state": "Vermont",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25600,
      "highEstimate": 39400,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Burlington",
      "stateCode": "VT",
      "state": "Vermont",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35500,
      "highEstimate": 59200,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Burlington",
      "stateCode": "VT",
      "state": "Vermont",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charleston",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11300,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charleston",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10300,
      "highEstimate": 14100,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charleston",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13100,
      "highEstimate": 18800,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charleston",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22500,
      "highEstimate": 33800,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charleston",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16900,
      "highEstimate": 26300,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charleston",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 24400,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charleston",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18800,
      "highEstimate": 30000,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charleston",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24400,
      "highEstimate": 37500,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charleston",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33800,
      "highEstimate": 56300,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charleston",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 18800,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charlotte",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charlotte",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10300,
      "highEstimate": 14100,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charlotte",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13100,
      "highEstimate": 18700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charlotte",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22500,
      "highEstimate": 33700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charlotte",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16900,
      "highEstimate": 26200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charlotte",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 24400,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charlotte",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18700,
      "highEstimate": 30000,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charlotte",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24400,
      "highEstimate": 37500,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charlotte",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33700,
      "highEstimate": 56200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Charlotte",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11200,
      "highEstimate": 18700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chattanooga",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 10900,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chattanooga",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10000,
      "highEstimate": 13700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chattanooga",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chattanooga",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 21900,
      "highEstimate": 32800,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chattanooga",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16400,
      "highEstimate": 25500,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chattanooga",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chattanooga",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18200,
      "highEstimate": 29200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chattanooga",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23700,
      "highEstimate": 36500,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chattanooga",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32800,
      "highEstimate": 54700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chattanooga",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 10900,
      "highEstimate": 18200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cheyenne",
      "stateCode": "WY",
      "state": "Wyoming",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7900,
      "highEstimate": 11200,
      "stateLabourFactor": 0.935,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cheyenne",
      "stateCode": "WY",
      "state": "Wyoming",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10300,
      "highEstimate": 14000,
      "stateLabourFactor": 0.935,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cheyenne",
      "stateCode": "WY",
      "state": "Wyoming",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13100,
      "highEstimate": 18700,
      "stateLabourFactor": 0.935,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cheyenne",
      "stateCode": "WY",
      "state": "Wyoming",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22400,
      "highEstimate": 33700,
      "stateLabourFactor": 0.935,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cheyenne",
      "stateCode": "WY",
      "state": "Wyoming",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16800,
      "highEstimate": 26200,
      "stateLabourFactor": 0.935,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cheyenne",
      "stateCode": "WY",
      "state": "Wyoming",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 24300,
      "stateLabourFactor": 0.935,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cheyenne",
      "stateCode": "WY",
      "state": "Wyoming",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18700,
      "highEstimate": 29900,
      "stateLabourFactor": 0.935,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cheyenne",
      "stateCode": "WY",
      "state": "Wyoming",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24300,
      "highEstimate": 37400,
      "stateLabourFactor": 0.935,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cheyenne",
      "stateCode": "WY",
      "state": "Wyoming",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33700,
      "highEstimate": 56100,
      "stateLabourFactor": 0.935,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cheyenne",
      "stateCode": "WY",
      "state": "Wyoming",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11200,
      "highEstimate": 18700,
      "stateLabourFactor": 0.935,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chicago",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9800,
      "highEstimate": 13800,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chicago",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12700,
      "highEstimate": 17300,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chicago",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 16100,
      "highEstimate": 23000,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chicago",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 27600,
      "highEstimate": 41400,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chicago",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 20700,
      "highEstimate": 32200,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chicago",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 18400,
      "highEstimate": 29900,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chicago",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 23000,
      "highEstimate": 36800,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chicago",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 29900,
      "highEstimate": 46000,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chicago",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 41400,
      "highEstimate": 69100,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Chicago",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13800,
      "highEstimate": 23000,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cincinnati",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8300,
      "highEstimate": 11800,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cincinnati",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14700,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cincinnati",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13700,
      "highEstimate": 19600,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cincinnati",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23500,
      "highEstimate": 35300,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cincinnati",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17700,
      "highEstimate": 27500,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cincinnati",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15700,
      "highEstimate": 25500,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cincinnati",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19600,
      "highEstimate": 31400,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cincinnati",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25500,
      "highEstimate": 39200,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cincinnati",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35300,
      "highEstimate": 58900,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cincinnati",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19600,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cleveland",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8300,
      "highEstimate": 11800,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cleveland",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14700,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cleveland",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13700,
      "highEstimate": 19600,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cleveland",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23500,
      "highEstimate": 35300,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cleveland",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17700,
      "highEstimate": 27500,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cleveland",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15700,
      "highEstimate": 25500,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cleveland",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19600,
      "highEstimate": 31400,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cleveland",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25500,
      "highEstimate": 39200,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cleveland",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35300,
      "highEstimate": 58900,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Cleveland",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19600,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Colorado Springs",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8400,
      "highEstimate": 11800,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Colorado Springs",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14800,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Colorado Springs",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Colorado Springs",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23600,
      "highEstimate": 35500,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Colorado Springs",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17700,
      "highEstimate": 27600,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Colorado Springs",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15800,
      "highEstimate": 25600,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Colorado Springs",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19700,
      "highEstimate": 31500,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Colorado Springs",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25600,
      "highEstimate": 39400,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Colorado Springs",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35500,
      "highEstimate": 59100,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Colorado Springs",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbia",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11300,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbia",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10300,
      "highEstimate": 14100,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbia",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13100,
      "highEstimate": 18800,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbia",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22500,
      "highEstimate": 33800,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbia",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16900,
      "highEstimate": 26300,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbia",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 24400,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbia",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18800,
      "highEstimate": 30000,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbia",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24400,
      "highEstimate": 37500,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbia",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33800,
      "highEstimate": 56300,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbia",
      "stateCode": "SC",
      "state": "South Carolina",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 18800,
      "stateLabourFactor": 0.938,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbus",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8300,
      "highEstimate": 11800,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbus",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14700,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbus",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13700,
      "highEstimate": 19600,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbus",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23500,
      "highEstimate": 35300,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbus",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17700,
      "highEstimate": 27500,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbus",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15700,
      "highEstimate": 25500,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbus",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19600,
      "highEstimate": 31400,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbus",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25500,
      "highEstimate": 39200,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbus",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35300,
      "highEstimate": 58900,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Columbus",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19600,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dallas",
      "stateCode": "TX",
      "state": "Texas",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11000,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dallas",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13700,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dallas",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dallas",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22000,
      "highEstimate": 32900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dallas",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16500,
      "highEstimate": 25600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dallas",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23800,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dallas",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18300,
      "highEstimate": 29300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dallas",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23800,
      "highEstimate": 36600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dallas",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32900,
      "highEstimate": 54900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dallas",
      "stateCode": "TX",
      "state": "Texas",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dayton",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8300,
      "highEstimate": 11800,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dayton",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14700,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dayton",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13700,
      "highEstimate": 19600,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dayton",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23500,
      "highEstimate": 35300,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dayton",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17700,
      "highEstimate": 27500,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dayton",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15700,
      "highEstimate": 25500,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dayton",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19600,
      "highEstimate": 31400,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dayton",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25500,
      "highEstimate": 39200,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dayton",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35300,
      "highEstimate": 58900,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Dayton",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19600,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Denver",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8400,
      "highEstimate": 11800,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Denver",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14800,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Denver",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Denver",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23600,
      "highEstimate": 35500,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Denver",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17700,
      "highEstimate": 27600,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Denver",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15800,
      "highEstimate": 25600,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Denver",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19700,
      "highEstimate": 31500,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Denver",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25600,
      "highEstimate": 39400,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Denver",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35500,
      "highEstimate": 59100,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Denver",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Des Moines",
      "stateCode": "IA",
      "state": "Iowa",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8100,
      "highEstimate": 11400,
      "stateLabourFactor": 0.953,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Des Moines",
      "stateCode": "IA",
      "state": "Iowa",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10500,
      "highEstimate": 14300,
      "stateLabourFactor": 0.953,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Des Moines",
      "stateCode": "IA",
      "state": "Iowa",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13300,
      "highEstimate": 19100,
      "stateLabourFactor": 0.953,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Des Moines",
      "stateCode": "IA",
      "state": "Iowa",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22900,
      "highEstimate": 34300,
      "stateLabourFactor": 0.953,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Des Moines",
      "stateCode": "IA",
      "state": "Iowa",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17200,
      "highEstimate": 26700,
      "stateLabourFactor": 0.953,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Des Moines",
      "stateCode": "IA",
      "state": "Iowa",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 24800,
      "stateLabourFactor": 0.953,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Des Moines",
      "stateCode": "IA",
      "state": "Iowa",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19100,
      "highEstimate": 30500,
      "stateLabourFactor": 0.953,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Des Moines",
      "stateCode": "IA",
      "state": "Iowa",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24800,
      "highEstimate": 38100,
      "stateLabourFactor": 0.953,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Des Moines",
      "stateCode": "IA",
      "state": "Iowa",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 34300,
      "highEstimate": 57200,
      "stateLabourFactor": 0.953,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Des Moines",
      "stateCode": "IA",
      "state": "Iowa",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11400,
      "highEstimate": 19100,
      "stateLabourFactor": 0.953,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Detroit",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8700,
      "highEstimate": 12300,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Detroit",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 15400,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Detroit",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14400,
      "highEstimate": 20500,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Detroit",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 24600,
      "highEstimate": 36900,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Detroit",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18500,
      "highEstimate": 28700,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Detroit",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16400,
      "highEstimate": 26700,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Detroit",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20500,
      "highEstimate": 32800,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Detroit",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 26700,
      "highEstimate": 41000,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Detroit",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 36900,
      "highEstimate": 61600,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Detroit",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12300,
      "highEstimate": 20500,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Durham",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Durham",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10300,
      "highEstimate": 14100,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Durham",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13100,
      "highEstimate": 18700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Durham",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22500,
      "highEstimate": 33700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Durham",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16900,
      "highEstimate": 26200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Durham",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 24400,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Durham",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18700,
      "highEstimate": 30000,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Durham",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24400,
      "highEstimate": 37500,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Durham",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33700,
      "highEstimate": 56200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Durham",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11200,
      "highEstimate": 18700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "El Paso",
      "stateCode": "TX",
      "state": "Texas",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11000,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "El Paso",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13700,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "El Paso",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "El Paso",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22000,
      "highEstimate": 32900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "El Paso",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16500,
      "highEstimate": 25600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "El Paso",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23800,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "El Paso",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18300,
      "highEstimate": 29300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "El Paso",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23800,
      "highEstimate": 36600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "El Paso",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32900,
      "highEstimate": 54900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "El Paso",
      "stateCode": "TX",
      "state": "Texas",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Eugene",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8700,
      "highEstimate": 12300,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Eugene",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 15400,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Eugene",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14400,
      "highEstimate": 20500,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Eugene",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 24600,
      "highEstimate": 36900,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Eugene",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18500,
      "highEstimate": 28700,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Eugene",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16400,
      "highEstimate": 26700,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Eugene",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20500,
      "highEstimate": 32800,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Eugene",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 26700,
      "highEstimate": 41000,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Eugene",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 36900,
      "highEstimate": 61600,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Eugene",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12300,
      "highEstimate": 20500,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fargo",
      "stateCode": "ND",
      "state": "North Dakota",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8700,
      "highEstimate": 12200,
      "stateLabourFactor": 1.019,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fargo",
      "stateCode": "ND",
      "state": "North Dakota",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11200,
      "highEstimate": 15300,
      "stateLabourFactor": 1.019,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fargo",
      "stateCode": "ND",
      "state": "North Dakota",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14300,
      "highEstimate": 20400,
      "stateLabourFactor": 1.019,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fargo",
      "stateCode": "ND",
      "state": "North Dakota",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 24500,
      "highEstimate": 36700,
      "stateLabourFactor": 1.019,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fargo",
      "stateCode": "ND",
      "state": "North Dakota",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18300,
      "highEstimate": 28500,
      "stateLabourFactor": 1.019,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fargo",
      "stateCode": "ND",
      "state": "North Dakota",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16300,
      "highEstimate": 26500,
      "stateLabourFactor": 1.019,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fargo",
      "stateCode": "ND",
      "state": "North Dakota",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20400,
      "highEstimate": 32600,
      "stateLabourFactor": 1.019,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fargo",
      "stateCode": "ND",
      "state": "North Dakota",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 26500,
      "highEstimate": 40800,
      "stateLabourFactor": 1.019,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fargo",
      "stateCode": "ND",
      "state": "North Dakota",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 36700,
      "highEstimate": 61100,
      "stateLabourFactor": 1.019,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fargo",
      "stateCode": "ND",
      "state": "North Dakota",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12200,
      "highEstimate": 20400,
      "stateLabourFactor": 1.019,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Collins",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8400,
      "highEstimate": 11800,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Collins",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14800,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Collins",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Collins",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23600,
      "highEstimate": 35500,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Collins",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17700,
      "highEstimate": 27600,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Collins",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15800,
      "highEstimate": 25600,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Collins",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19700,
      "highEstimate": 31500,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Collins",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25600,
      "highEstimate": 39400,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Collins",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35500,
      "highEstimate": 59100,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Collins",
      "stateCode": "CO",
      "state": "Colorado",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.985,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Wayne",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8600,
      "highEstimate": 12200,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Wayne",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 15200,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Wayne",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14200,
      "highEstimate": 20300,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Wayne",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 24300,
      "highEstimate": 36500,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Wayne",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18200,
      "highEstimate": 28400,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Wayne",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16200,
      "highEstimate": 26300,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Wayne",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20300,
      "highEstimate": 32400,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Wayne",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 26300,
      "highEstimate": 40500,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Wayne",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 36500,
      "highEstimate": 60800,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Wayne",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12200,
      "highEstimate": 20300,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Worth",
      "stateCode": "TX",
      "state": "Texas",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11000,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Worth",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13700,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Worth",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Worth",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22000,
      "highEstimate": 32900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Worth",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16500,
      "highEstimate": 25600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Worth",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23800,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Worth",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18300,
      "highEstimate": 29300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Worth",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23800,
      "highEstimate": 36600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Worth",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32900,
      "highEstimate": 54900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fort Worth",
      "stateCode": "TX",
      "state": "Texas",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fresno",
      "stateCode": "CA",
      "state": "California",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9100,
      "highEstimate": 12900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fresno",
      "stateCode": "CA",
      "state": "California",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 16100,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fresno",
      "stateCode": "CA",
      "state": "California",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fresno",
      "stateCode": "CA",
      "state": "California",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 38600,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fresno",
      "stateCode": "CA",
      "state": "California",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19300,
      "highEstimate": 30000,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fresno",
      "stateCode": "CA",
      "state": "California",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17200,
      "highEstimate": 27900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fresno",
      "stateCode": "CA",
      "state": "California",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21400,
      "highEstimate": 34300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fresno",
      "stateCode": "CA",
      "state": "California",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 27900,
      "highEstimate": 42900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fresno",
      "stateCode": "CA",
      "state": "California",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38600,
      "highEstimate": 64300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Fresno",
      "stateCode": "CA",
      "state": "California",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Grand Rapids",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8700,
      "highEstimate": 12300,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Grand Rapids",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 15400,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Grand Rapids",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14400,
      "highEstimate": 20500,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Grand Rapids",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 24600,
      "highEstimate": 36900,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Grand Rapids",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18500,
      "highEstimate": 28700,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Grand Rapids",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16400,
      "highEstimate": 26700,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Grand Rapids",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20500,
      "highEstimate": 32800,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Grand Rapids",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 26700,
      "highEstimate": 41000,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Grand Rapids",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 36900,
      "highEstimate": 61600,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Grand Rapids",
      "stateCode": "MI",
      "state": "Michigan",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12300,
      "highEstimate": 20500,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Greensboro",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Greensboro",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10300,
      "highEstimate": 14100,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Greensboro",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13100,
      "highEstimate": 18700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Greensboro",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22500,
      "highEstimate": 33700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Greensboro",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16900,
      "highEstimate": 26200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Greensboro",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 24400,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Greensboro",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18700,
      "highEstimate": 30000,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Greensboro",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24400,
      "highEstimate": 37500,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Greensboro",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33700,
      "highEstimate": 56200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Greensboro",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11200,
      "highEstimate": 18700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Hartford",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9200,
      "highEstimate": 13000,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Hartford",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11900,
      "highEstimate": 16200,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Hartford",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15100,
      "highEstimate": 21600,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Hartford",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25900,
      "highEstimate": 38900,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Hartford",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19400,
      "highEstimate": 30200,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Hartford",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17300,
      "highEstimate": 28100,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Hartford",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21600,
      "highEstimate": 34600,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Hartford",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 28100,
      "highEstimate": 43200,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Hartford",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38900,
      "highEstimate": 64800,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Hartford",
      "stateCode": "CT",
      "state": "Connecticut",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 21600,
      "stateLabourFactor": 1.08,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Honolulu",
      "stateCode": "HI",
      "state": "Hawaii",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8700,
      "highEstimate": 12300,
      "stateLabourFactor": 1.025,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Honolulu",
      "stateCode": "HI",
      "state": "Hawaii",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 15400,
      "stateLabourFactor": 1.025,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Honolulu",
      "stateCode": "HI",
      "state": "Hawaii",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14300,
      "highEstimate": 20500,
      "stateLabourFactor": 1.025,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Honolulu",
      "stateCode": "HI",
      "state": "Hawaii",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 24600,
      "highEstimate": 36900,
      "stateLabourFactor": 1.025,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Honolulu",
      "stateCode": "HI",
      "state": "Hawaii",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18500,
      "highEstimate": 28700,
      "stateLabourFactor": 1.025,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Honolulu",
      "stateCode": "HI",
      "state": "Hawaii",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16400,
      "highEstimate": 26600,
      "stateLabourFactor": 1.025,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Honolulu",
      "stateCode": "HI",
      "state": "Hawaii",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20500,
      "highEstimate": 32800,
      "stateLabourFactor": 1.025,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Honolulu",
      "stateCode": "HI",
      "state": "Hawaii",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 26600,
      "highEstimate": 41000,
      "stateLabourFactor": 1.025,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Honolulu",
      "stateCode": "HI",
      "state": "Hawaii",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 36900,
      "highEstimate": 61500,
      "stateLabourFactor": 1.025,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Honolulu",
      "stateCode": "HI",
      "state": "Hawaii",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12300,
      "highEstimate": 20500,
      "stateLabourFactor": 1.025,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Houston",
      "stateCode": "TX",
      "state": "Texas",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11000,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Houston",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13700,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Houston",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Houston",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22000,
      "highEstimate": 32900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Houston",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16500,
      "highEstimate": 25600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Houston",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23800,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Houston",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18300,
      "highEstimate": 29300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Houston",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23800,
      "highEstimate": 36600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Houston",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32900,
      "highEstimate": 54900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Houston",
      "stateCode": "TX",
      "state": "Texas",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Huntsville",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11000,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Huntsville",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13800,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Huntsville",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 18400,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Huntsville",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22100,
      "highEstimate": 33100,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Huntsville",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16600,
      "highEstimate": 25800,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Huntsville",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14700,
      "highEstimate": 23900,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Huntsville",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18400,
      "highEstimate": 29400,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Huntsville",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23900,
      "highEstimate": 36800,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Huntsville",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33100,
      "highEstimate": 55200,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Huntsville",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 18400,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Indianapolis",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8600,
      "highEstimate": 12200,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Indianapolis",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 15200,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Indianapolis",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14200,
      "highEstimate": 20300,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Indianapolis",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 24300,
      "highEstimate": 36500,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Indianapolis",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18200,
      "highEstimate": 28400,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Indianapolis",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16200,
      "highEstimate": 26300,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Indianapolis",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20300,
      "highEstimate": 32400,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Indianapolis",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 26300,
      "highEstimate": 40500,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Indianapolis",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 36500,
      "highEstimate": 60800,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Indianapolis",
      "stateCode": "IN",
      "state": "Indiana",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12200,
      "highEstimate": 20300,
      "stateLabourFactor": 1.013,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jackson",
      "stateCode": "MS",
      "state": "Mississippi",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7700,
      "highEstimate": 10800,
      "stateLabourFactor": 0.901,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jackson",
      "stateCode": "MS",
      "state": "Mississippi",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 9900,
      "highEstimate": 13500,
      "stateLabourFactor": 0.901,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jackson",
      "stateCode": "MS",
      "state": "Mississippi",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12600,
      "highEstimate": 18000,
      "stateLabourFactor": 0.901,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jackson",
      "stateCode": "MS",
      "state": "Mississippi",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 21600,
      "highEstimate": 32400,
      "stateLabourFactor": 0.901,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jackson",
      "stateCode": "MS",
      "state": "Mississippi",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16200,
      "highEstimate": 25200,
      "stateLabourFactor": 0.901,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jackson",
      "stateCode": "MS",
      "state": "Mississippi",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14400,
      "highEstimate": 23400,
      "stateLabourFactor": 0.901,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jackson",
      "stateCode": "MS",
      "state": "Mississippi",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18000,
      "highEstimate": 28800,
      "stateLabourFactor": 0.901,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jackson",
      "stateCode": "MS",
      "state": "Mississippi",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23400,
      "highEstimate": 36000,
      "stateLabourFactor": 0.901,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jackson",
      "stateCode": "MS",
      "state": "Mississippi",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32400,
      "highEstimate": 54100,
      "stateLabourFactor": 0.901,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jackson",
      "stateCode": "MS",
      "state": "Mississippi",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 18000,
      "stateLabourFactor": 0.901,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jacksonville",
      "stateCode": "FL",
      "state": "Florida",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7900,
      "highEstimate": 11100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jacksonville",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10200,
      "highEstimate": 13900,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jacksonville",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 18600,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jacksonville",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22300,
      "highEstimate": 33400,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jacksonville",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 26000,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jacksonville",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14800,
      "highEstimate": 24100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jacksonville",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18600,
      "highEstimate": 29700,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jacksonville",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24100,
      "highEstimate": 37100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jacksonville",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33400,
      "highEstimate": 55700,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jacksonville",
      "stateCode": "FL",
      "state": "Florida",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 18600,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jersey City",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9600,
      "highEstimate": 13500,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jersey City",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12400,
      "highEstimate": 16900,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jersey City",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15800,
      "highEstimate": 22500,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jersey City",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 27000,
      "highEstimate": 40500,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jersey City",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 20300,
      "highEstimate": 31500,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jersey City",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 18000,
      "highEstimate": 29300,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jersey City",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 22500,
      "highEstimate": 36000,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jersey City",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 29300,
      "highEstimate": 45000,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jersey City",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 40500,
      "highEstimate": 67600,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Jersey City",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13500,
      "highEstimate": 22500,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Kansas City",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8400,
      "highEstimate": 11800,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Kansas City",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14800,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Kansas City",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Kansas City",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23700,
      "highEstimate": 35500,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Kansas City",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17700,
      "highEstimate": 27600,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Kansas City",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15800,
      "highEstimate": 25600,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Kansas City",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19700,
      "highEstimate": 31600,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Kansas City",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25600,
      "highEstimate": 39400,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Kansas City",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35500,
      "highEstimate": 59200,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Kansas City",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Knoxville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 10900,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Knoxville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10000,
      "highEstimate": 13700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Knoxville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Knoxville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 21900,
      "highEstimate": 32800,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Knoxville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16400,
      "highEstimate": 25500,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Knoxville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Knoxville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18200,
      "highEstimate": 29200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Knoxville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23700,
      "highEstimate": 36500,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Knoxville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32800,
      "highEstimate": 54700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Knoxville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 10900,
      "highEstimate": 18200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Lexington",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11300,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Lexington",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10400,
      "highEstimate": 14100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Lexington",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13200,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Lexington",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22600,
      "highEstimate": 33900,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Lexington",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17000,
      "highEstimate": 26400,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Lexington",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15100,
      "highEstimate": 24500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Lexington",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18800,
      "highEstimate": 30100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Lexington",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24500,
      "highEstimate": 37700,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Lexington",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33900,
      "highEstimate": 56500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Lexington",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Little Rock",
      "stateCode": "AR",
      "state": "Arkansas",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7700,
      "highEstimate": 10800,
      "stateLabourFactor": 0.904,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Little Rock",
      "stateCode": "AR",
      "state": "Arkansas",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 9900,
      "highEstimate": 13600,
      "stateLabourFactor": 0.904,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Little Rock",
      "stateCode": "AR",
      "state": "Arkansas",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12700,
      "highEstimate": 18100,
      "stateLabourFactor": 0.904,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Little Rock",
      "stateCode": "AR",
      "state": "Arkansas",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 21700,
      "highEstimate": 32500,
      "stateLabourFactor": 0.904,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Little Rock",
      "stateCode": "AR",
      "state": "Arkansas",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16300,
      "highEstimate": 25300,
      "stateLabourFactor": 0.904,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Little Rock",
      "stateCode": "AR",
      "state": "Arkansas",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14500,
      "highEstimate": 23500,
      "stateLabourFactor": 0.904,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Little Rock",
      "stateCode": "AR",
      "state": "Arkansas",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18100,
      "highEstimate": 28900,
      "stateLabourFactor": 0.904,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Little Rock",
      "stateCode": "AR",
      "state": "Arkansas",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23500,
      "highEstimate": 36200,
      "stateLabourFactor": 0.904,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Little Rock",
      "stateCode": "AR",
      "state": "Arkansas",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32500,
      "highEstimate": 54200,
      "stateLabourFactor": 0.904,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Little Rock",
      "stateCode": "AR",
      "state": "Arkansas",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 18100,
      "stateLabourFactor": 0.904,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Long Beach",
      "stateCode": "CA",
      "state": "California",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9100,
      "highEstimate": 12900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Long Beach",
      "stateCode": "CA",
      "state": "California",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 16100,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Long Beach",
      "stateCode": "CA",
      "state": "California",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Long Beach",
      "stateCode": "CA",
      "state": "California",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 38600,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Long Beach",
      "stateCode": "CA",
      "state": "California",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19300,
      "highEstimate": 30000,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Long Beach",
      "stateCode": "CA",
      "state": "California",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17200,
      "highEstimate": 27900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Long Beach",
      "stateCode": "CA",
      "state": "California",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21400,
      "highEstimate": 34300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Long Beach",
      "stateCode": "CA",
      "state": "California",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 27900,
      "highEstimate": 42900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Long Beach",
      "stateCode": "CA",
      "state": "California",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38600,
      "highEstimate": 64300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Long Beach",
      "stateCode": "CA",
      "state": "California",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Los Angeles",
      "stateCode": "CA",
      "state": "California",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9100,
      "highEstimate": 12900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Los Angeles",
      "stateCode": "CA",
      "state": "California",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 16100,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Los Angeles",
      "stateCode": "CA",
      "state": "California",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Los Angeles",
      "stateCode": "CA",
      "state": "California",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 38600,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Los Angeles",
      "stateCode": "CA",
      "state": "California",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19300,
      "highEstimate": 30000,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Los Angeles",
      "stateCode": "CA",
      "state": "California",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17200,
      "highEstimate": 27900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Los Angeles",
      "stateCode": "CA",
      "state": "California",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21400,
      "highEstimate": 34300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Los Angeles",
      "stateCode": "CA",
      "state": "California",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 27900,
      "highEstimate": 42900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Los Angeles",
      "stateCode": "CA",
      "state": "California",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38600,
      "highEstimate": 64300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Los Angeles",
      "stateCode": "CA",
      "state": "California",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Louisville",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11300,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Louisville",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10400,
      "highEstimate": 14100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Louisville",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13200,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Louisville",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22600,
      "highEstimate": 33900,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Louisville",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17000,
      "highEstimate": 26400,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Louisville",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15100,
      "highEstimate": 24500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Louisville",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18800,
      "highEstimate": 30100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Louisville",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24500,
      "highEstimate": 37700,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Louisville",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33900,
      "highEstimate": 56500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Louisville",
      "stateCode": "KY",
      "state": "Kentucky",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Madison",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8500,
      "highEstimate": 12000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Madison",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 15000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Madison",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14000,
      "highEstimate": 20000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Madison",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 24000,
      "highEstimate": 36000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Madison",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18000,
      "highEstimate": 28000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Madison",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16000,
      "highEstimate": 26000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Madison",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20000,
      "highEstimate": 32000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Madison",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 26000,
      "highEstimate": 40000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Madison",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 36000,
      "highEstimate": 59900,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Madison",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12000,
      "highEstimate": 20000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Manchester",
      "stateCode": "NH",
      "state": "New Hampshire",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8900,
      "highEstimate": 12500,
      "stateLabourFactor": 1.044,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Manchester",
      "stateCode": "NH",
      "state": "New Hampshire",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11500,
      "highEstimate": 15700,
      "stateLabourFactor": 1.044,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Manchester",
      "stateCode": "NH",
      "state": "New Hampshire",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 20900,
      "stateLabourFactor": 1.044,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Manchester",
      "stateCode": "NH",
      "state": "New Hampshire",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25100,
      "highEstimate": 37600,
      "stateLabourFactor": 1.044,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Manchester",
      "stateCode": "NH",
      "state": "New Hampshire",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18800,
      "highEstimate": 29200,
      "stateLabourFactor": 1.044,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Manchester",
      "stateCode": "NH",
      "state": "New Hampshire",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 27100,
      "stateLabourFactor": 1.044,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Manchester",
      "stateCode": "NH",
      "state": "New Hampshire",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20900,
      "highEstimate": 33400,
      "stateLabourFactor": 1.044,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Manchester",
      "stateCode": "NH",
      "state": "New Hampshire",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 27100,
      "highEstimate": 41800,
      "stateLabourFactor": 1.044,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Manchester",
      "stateCode": "NH",
      "state": "New Hampshire",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 37600,
      "highEstimate": 62600,
      "stateLabourFactor": 1.044,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Manchester",
      "stateCode": "NH",
      "state": "New Hampshire",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12500,
      "highEstimate": 20900,
      "stateLabourFactor": 1.044,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Memphis",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 10900,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Memphis",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10000,
      "highEstimate": 13700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Memphis",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Memphis",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 21900,
      "highEstimate": 32800,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Memphis",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16400,
      "highEstimate": 25500,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Memphis",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Memphis",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18200,
      "highEstimate": 29200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Memphis",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23700,
      "highEstimate": 36500,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Memphis",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32800,
      "highEstimate": 54700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Memphis",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 10900,
      "highEstimate": 18200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mesa",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11300,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mesa",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10400,
      "highEstimate": 14100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mesa",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13200,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mesa",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22600,
      "highEstimate": 33900,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mesa",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17000,
      "highEstimate": 26400,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mesa",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15100,
      "highEstimate": 24500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mesa",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18800,
      "highEstimate": 30100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mesa",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24500,
      "highEstimate": 37700,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mesa",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33900,
      "highEstimate": 56500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mesa",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Miami",
      "stateCode": "FL",
      "state": "Florida",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7900,
      "highEstimate": 11100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Miami",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10200,
      "highEstimate": 13900,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Miami",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 18600,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Miami",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22300,
      "highEstimate": 33400,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Miami",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 26000,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Miami",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14800,
      "highEstimate": 24100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Miami",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18600,
      "highEstimate": 29700,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Miami",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24100,
      "highEstimate": 37100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Miami",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33400,
      "highEstimate": 55700,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Miami",
      "stateCode": "FL",
      "state": "Florida",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 18600,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Milwaukee",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8500,
      "highEstimate": 12000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Milwaukee",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 15000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Milwaukee",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14000,
      "highEstimate": 20000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Milwaukee",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 24000,
      "highEstimate": 36000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Milwaukee",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18000,
      "highEstimate": 28000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Milwaukee",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16000,
      "highEstimate": 26000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Milwaukee",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20000,
      "highEstimate": 32000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Milwaukee",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 26000,
      "highEstimate": 40000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Milwaukee",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 36000,
      "highEstimate": 59900,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Milwaukee",
      "stateCode": "WI",
      "state": "Wisconsin",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12000,
      "highEstimate": 20000,
      "stateLabourFactor": 0.999,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Minneapolis",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9500,
      "highEstimate": 13400,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Minneapolis",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12300,
      "highEstimate": 16700,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Minneapolis",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15600,
      "highEstimate": 22300,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Minneapolis",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26700,
      "highEstimate": 40100,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Minneapolis",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 20100,
      "highEstimate": 31200,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Minneapolis",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17800,
      "highEstimate": 29000,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Minneapolis",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 22300,
      "highEstimate": 35600,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Minneapolis",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 29000,
      "highEstimate": 44600,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Minneapolis",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 40100,
      "highEstimate": 66800,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Minneapolis",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13400,
      "highEstimate": 22300,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mobile",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11000,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mobile",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13800,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mobile",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 18400,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mobile",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22100,
      "highEstimate": 33100,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mobile",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16600,
      "highEstimate": 25800,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mobile",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14700,
      "highEstimate": 23900,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mobile",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18400,
      "highEstimate": 29400,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mobile",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23900,
      "highEstimate": 36800,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mobile",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33100,
      "highEstimate": 55200,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Mobile",
      "stateCode": "AL",
      "state": "Alabama",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 18400,
      "stateLabourFactor": 0.92,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Nashville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 10900,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Nashville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10000,
      "highEstimate": 13700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Nashville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Nashville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 21900,
      "highEstimate": 32800,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Nashville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16400,
      "highEstimate": 25500,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Nashville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Nashville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18200,
      "highEstimate": 29200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Nashville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23700,
      "highEstimate": 36500,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Nashville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32800,
      "highEstimate": 54700,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Nashville",
      "stateCode": "TN",
      "state": "Tennessee",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 10900,
      "highEstimate": 18200,
      "stateLabourFactor": 0.912,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New Orleans",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8200,
      "highEstimate": 11500,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New Orleans",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10500,
      "highEstimate": 14400,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New Orleans",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13400,
      "highEstimate": 19200,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New Orleans",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23000,
      "highEstimate": 34500,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New Orleans",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17300,
      "highEstimate": 26900,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New Orleans",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15300,
      "highEstimate": 24900,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New Orleans",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19200,
      "highEstimate": 30700,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New Orleans",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24900,
      "highEstimate": 38400,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New Orleans",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 34500,
      "highEstimate": 57500,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New Orleans",
      "stateCode": "LA",
      "state": "Louisiana",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11500,
      "highEstimate": 19200,
      "stateLabourFactor": 0.959,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New York",
      "stateCode": "NY",
      "state": "New York",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9200,
      "highEstimate": 13000,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New York",
      "stateCode": "NY",
      "state": "New York",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12000,
      "highEstimate": 16300,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New York",
      "stateCode": "NY",
      "state": "New York",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 21700,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New York",
      "stateCode": "NY",
      "state": "New York",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26100,
      "highEstimate": 39100,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New York",
      "stateCode": "NY",
      "state": "New York",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19600,
      "highEstimate": 30400,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New York",
      "stateCode": "NY",
      "state": "New York",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17400,
      "highEstimate": 28300,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New York",
      "stateCode": "NY",
      "state": "New York",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21700,
      "highEstimate": 34800,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New York",
      "stateCode": "NY",
      "state": "New York",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 28300,
      "highEstimate": 43500,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New York",
      "stateCode": "NY",
      "state": "New York",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 39100,
      "highEstimate": 65200,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "New York",
      "stateCode": "NY",
      "state": "New York",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 21700,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Newark",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9600,
      "highEstimate": 13500,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Newark",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12400,
      "highEstimate": 16900,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Newark",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15800,
      "highEstimate": 22500,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Newark",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 27000,
      "highEstimate": 40500,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Newark",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 20300,
      "highEstimate": 31500,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Newark",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 18000,
      "highEstimate": 29300,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Newark",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 22500,
      "highEstimate": 36000,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Newark",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 29300,
      "highEstimate": 45000,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Newark",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 40500,
      "highEstimate": 67600,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Newark",
      "stateCode": "NJ",
      "state": "New Jersey",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13500,
      "highEstimate": 22500,
      "stateLabourFactor": 1.126,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Norfolk",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8100,
      "highEstimate": 11400,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Norfolk",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10400,
      "highEstimate": 14200,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Norfolk",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13300,
      "highEstimate": 19000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Norfolk",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22800,
      "highEstimate": 34200,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Norfolk",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17100,
      "highEstimate": 26600,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Norfolk",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 24700,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Norfolk",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19000,
      "highEstimate": 30400,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Norfolk",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24700,
      "highEstimate": 38000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Norfolk",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 34200,
      "highEstimate": 56900,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Norfolk",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11400,
      "highEstimate": 19000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oakland",
      "stateCode": "CA",
      "state": "California",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9100,
      "highEstimate": 12900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oakland",
      "stateCode": "CA",
      "state": "California",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 16100,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oakland",
      "stateCode": "CA",
      "state": "California",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oakland",
      "stateCode": "CA",
      "state": "California",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 38600,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oakland",
      "stateCode": "CA",
      "state": "California",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19300,
      "highEstimate": 30000,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oakland",
      "stateCode": "CA",
      "state": "California",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17200,
      "highEstimate": 27900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oakland",
      "stateCode": "CA",
      "state": "California",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21400,
      "highEstimate": 34300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oakland",
      "stateCode": "CA",
      "state": "California",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 27900,
      "highEstimate": 42900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oakland",
      "stateCode": "CA",
      "state": "California",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38600,
      "highEstimate": 64300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oakland",
      "stateCode": "CA",
      "state": "California",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oklahoma City",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7900,
      "highEstimate": 11200,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oklahoma City",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10200,
      "highEstimate": 14000,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oklahoma City",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 18600,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oklahoma City",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22300,
      "highEstimate": 33500,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oklahoma City",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 26000,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oklahoma City",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14900,
      "highEstimate": 24200,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oklahoma City",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18600,
      "highEstimate": 29800,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oklahoma City",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24200,
      "highEstimate": 37200,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oklahoma City",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33500,
      "highEstimate": 55800,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Oklahoma City",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11200,
      "highEstimate": 18600,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Omaha",
      "stateCode": "NE",
      "state": "Nebraska",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11100,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Omaha",
      "stateCode": "NE",
      "state": "Nebraska",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13800,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Omaha",
      "stateCode": "NE",
      "state": "Nebraska",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 18400,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Omaha",
      "stateCode": "NE",
      "state": "Nebraska",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22100,
      "highEstimate": 33200,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Omaha",
      "stateCode": "NE",
      "state": "Nebraska",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16600,
      "highEstimate": 25800,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Omaha",
      "stateCode": "NE",
      "state": "Nebraska",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14700,
      "highEstimate": 23900,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Omaha",
      "stateCode": "NE",
      "state": "Nebraska",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18400,
      "highEstimate": 29500,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Omaha",
      "stateCode": "NE",
      "state": "Nebraska",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23900,
      "highEstimate": 36800,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Omaha",
      "stateCode": "NE",
      "state": "Nebraska",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33200,
      "highEstimate": 55300,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Omaha",
      "stateCode": "NE",
      "state": "Nebraska",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 18400,
      "stateLabourFactor": 0.921,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Orlando",
      "stateCode": "FL",
      "state": "Florida",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7900,
      "highEstimate": 11100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Orlando",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10200,
      "highEstimate": 13900,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Orlando",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 18600,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Orlando",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22300,
      "highEstimate": 33400,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Orlando",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 26000,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Orlando",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14800,
      "highEstimate": 24100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Orlando",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18600,
      "highEstimate": 29700,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Orlando",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24100,
      "highEstimate": 37100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Orlando",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33400,
      "highEstimate": 55700,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Orlando",
      "stateCode": "FL",
      "state": "Florida",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 18600,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Philadelphia",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8400,
      "highEstimate": 11800,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Philadelphia",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10900,
      "highEstimate": 14800,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Philadelphia",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Philadelphia",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23700,
      "highEstimate": 35500,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Philadelphia",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17800,
      "highEstimate": 27600,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Philadelphia",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15800,
      "highEstimate": 25700,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Philadelphia",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19700,
      "highEstimate": 31600,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Philadelphia",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 39500,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Philadelphia",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35500,
      "highEstimate": 59200,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Philadelphia",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Phoenix",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11300,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Phoenix",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10400,
      "highEstimate": 14100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Phoenix",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13200,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Phoenix",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22600,
      "highEstimate": 33900,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Phoenix",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17000,
      "highEstimate": 26400,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Phoenix",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15100,
      "highEstimate": 24500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Phoenix",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18800,
      "highEstimate": 30100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Phoenix",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24500,
      "highEstimate": 37700,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Phoenix",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33900,
      "highEstimate": 56500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Phoenix",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Pittsburgh",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8400,
      "highEstimate": 11800,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Pittsburgh",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10900,
      "highEstimate": 14800,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Pittsburgh",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Pittsburgh",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23700,
      "highEstimate": 35500,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Pittsburgh",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17800,
      "highEstimate": 27600,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Pittsburgh",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15800,
      "highEstimate": 25700,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Pittsburgh",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19700,
      "highEstimate": 31600,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Pittsburgh",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 39500,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Pittsburgh",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35500,
      "highEstimate": 59200,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Pittsburgh",
      "stateCode": "PA",
      "state": "Pennsylvania",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.987,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "ME",
      "state": "Maine",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8200,
      "highEstimate": 11600,
      "stateLabourFactor": 0.966,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "ME",
      "state": "Maine",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10600,
      "highEstimate": 14500,
      "stateLabourFactor": 0.966,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "ME",
      "state": "Maine",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13500,
      "highEstimate": 19300,
      "stateLabourFactor": 0.966,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "ME",
      "state": "Maine",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23200,
      "highEstimate": 34800,
      "stateLabourFactor": 0.966,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "ME",
      "state": "Maine",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17400,
      "highEstimate": 27000,
      "stateLabourFactor": 0.966,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "ME",
      "state": "Maine",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15500,
      "highEstimate": 25100,
      "stateLabourFactor": 0.966,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "ME",
      "state": "Maine",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19300,
      "highEstimate": 30900,
      "stateLabourFactor": 0.966,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "ME",
      "state": "Maine",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25100,
      "highEstimate": 38600,
      "stateLabourFactor": 0.966,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "ME",
      "state": "Maine",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 34800,
      "highEstimate": 58000,
      "stateLabourFactor": 0.966,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "ME",
      "state": "Maine",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11600,
      "highEstimate": 19300,
      "stateLabourFactor": 0.966,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8700,
      "highEstimate": 12300,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 15400,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14400,
      "highEstimate": 20500,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 24600,
      "highEstimate": 36900,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18500,
      "highEstimate": 28700,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16400,
      "highEstimate": 26700,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20500,
      "highEstimate": 32800,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 26700,
      "highEstimate": 41000,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 36900,
      "highEstimate": 61600,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Portland",
      "stateCode": "OR",
      "state": "Oregon",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12300,
      "highEstimate": 20500,
      "stateLabourFactor": 1.026,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Providence",
      "stateCode": "RI",
      "state": "Rhode Island",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8900,
      "highEstimate": 12500,
      "stateLabourFactor": 1.042,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Providence",
      "stateCode": "RI",
      "state": "Rhode Island",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11500,
      "highEstimate": 15600,
      "stateLabourFactor": 1.042,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Providence",
      "stateCode": "RI",
      "state": "Rhode Island",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 20800,
      "stateLabourFactor": 1.042,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Providence",
      "stateCode": "RI",
      "state": "Rhode Island",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25000,
      "highEstimate": 37500,
      "stateLabourFactor": 1.042,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Providence",
      "stateCode": "RI",
      "state": "Rhode Island",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 18800,
      "highEstimate": 29200,
      "stateLabourFactor": 1.042,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Providence",
      "stateCode": "RI",
      "state": "Rhode Island",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 27100,
      "stateLabourFactor": 1.042,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Providence",
      "stateCode": "RI",
      "state": "Rhode Island",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 20800,
      "highEstimate": 33300,
      "stateLabourFactor": 1.042,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Providence",
      "stateCode": "RI",
      "state": "Rhode Island",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 27100,
      "highEstimate": 41700,
      "stateLabourFactor": 1.042,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Providence",
      "stateCode": "RI",
      "state": "Rhode Island",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 37500,
      "highEstimate": 62500,
      "stateLabourFactor": 1.042,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Providence",
      "stateCode": "RI",
      "state": "Rhode Island",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12500,
      "highEstimate": 20800,
      "stateLabourFactor": 1.042,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Provo",
      "stateCode": "UT",
      "state": "Utah",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8100,
      "highEstimate": 11400,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Provo",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10400,
      "highEstimate": 14200,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Provo",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13300,
      "highEstimate": 19000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Provo",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22800,
      "highEstimate": 34200,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Provo",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17100,
      "highEstimate": 26600,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Provo",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 24700,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Provo",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19000,
      "highEstimate": 30400,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Provo",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24700,
      "highEstimate": 38000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Provo",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 34200,
      "highEstimate": 56900,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Provo",
      "stateCode": "UT",
      "state": "Utah",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11400,
      "highEstimate": 19000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Raleigh",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Raleigh",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10300,
      "highEstimate": 14100,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Raleigh",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13100,
      "highEstimate": 18700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Raleigh",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22500,
      "highEstimate": 33700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Raleigh",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16900,
      "highEstimate": 26200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Raleigh",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 24400,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Raleigh",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18700,
      "highEstimate": 30000,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Raleigh",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24400,
      "highEstimate": 37500,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Raleigh",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33700,
      "highEstimate": 56200,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Raleigh",
      "stateCode": "NC",
      "state": "North Carolina",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11200,
      "highEstimate": 18700,
      "stateLabourFactor": 0.937,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Richmond",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8100,
      "highEstimate": 11400,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Richmond",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10400,
      "highEstimate": 14200,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Richmond",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13300,
      "highEstimate": 19000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Richmond",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22800,
      "highEstimate": 34200,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Richmond",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17100,
      "highEstimate": 26600,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Richmond",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 24700,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Richmond",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19000,
      "highEstimate": 30400,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Richmond",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24700,
      "highEstimate": 38000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Richmond",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 34200,
      "highEstimate": 56900,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Richmond",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11400,
      "highEstimate": 19000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rochester",
      "stateCode": "NY",
      "state": "New York",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9200,
      "highEstimate": 13000,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rochester",
      "stateCode": "NY",
      "state": "New York",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12000,
      "highEstimate": 16300,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rochester",
      "stateCode": "NY",
      "state": "New York",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 21700,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rochester",
      "stateCode": "NY",
      "state": "New York",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26100,
      "highEstimate": 39100,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rochester",
      "stateCode": "NY",
      "state": "New York",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19600,
      "highEstimate": 30400,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rochester",
      "stateCode": "NY",
      "state": "New York",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17400,
      "highEstimate": 28300,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rochester",
      "stateCode": "NY",
      "state": "New York",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21700,
      "highEstimate": 34800,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rochester",
      "stateCode": "NY",
      "state": "New York",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 28300,
      "highEstimate": 43500,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rochester",
      "stateCode": "NY",
      "state": "New York",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 39100,
      "highEstimate": 65200,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rochester",
      "stateCode": "NY",
      "state": "New York",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 21700,
      "stateLabourFactor": 1.087,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rockford",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9800,
      "highEstimate": 13800,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rockford",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12700,
      "highEstimate": 17300,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rockford",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 16100,
      "highEstimate": 23000,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rockford",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 27600,
      "highEstimate": 41400,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rockford",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 20700,
      "highEstimate": 32200,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rockford",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 18400,
      "highEstimate": 29900,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rockford",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 23000,
      "highEstimate": 36800,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rockford",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 29900,
      "highEstimate": 46000,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rockford",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 41400,
      "highEstimate": 69100,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Rockford",
      "stateCode": "IL",
      "state": "Illinois",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13800,
      "highEstimate": 23000,
      "stateLabourFactor": 1.151,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sacramento",
      "stateCode": "CA",
      "state": "California",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9100,
      "highEstimate": 12900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sacramento",
      "stateCode": "CA",
      "state": "California",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 16100,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sacramento",
      "stateCode": "CA",
      "state": "California",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sacramento",
      "stateCode": "CA",
      "state": "California",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 38600,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sacramento",
      "stateCode": "CA",
      "state": "California",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19300,
      "highEstimate": 30000,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sacramento",
      "stateCode": "CA",
      "state": "California",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17200,
      "highEstimate": 27900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sacramento",
      "stateCode": "CA",
      "state": "California",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21400,
      "highEstimate": 34300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sacramento",
      "stateCode": "CA",
      "state": "California",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 27900,
      "highEstimate": 42900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sacramento",
      "stateCode": "CA",
      "state": "California",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38600,
      "highEstimate": 64300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sacramento",
      "stateCode": "CA",
      "state": "California",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Salt Lake City",
      "stateCode": "UT",
      "state": "Utah",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8100,
      "highEstimate": 11400,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Salt Lake City",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10400,
      "highEstimate": 14200,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Salt Lake City",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13300,
      "highEstimate": 19000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Salt Lake City",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22800,
      "highEstimate": 34200,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Salt Lake City",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17100,
      "highEstimate": 26600,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Salt Lake City",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 24700,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Salt Lake City",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19000,
      "highEstimate": 30400,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Salt Lake City",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24700,
      "highEstimate": 38000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Salt Lake City",
      "stateCode": "UT",
      "state": "Utah",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 34200,
      "highEstimate": 56900,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Salt Lake City",
      "stateCode": "UT",
      "state": "Utah",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11400,
      "highEstimate": 19000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Antonio",
      "stateCode": "TX",
      "state": "Texas",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11000,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Antonio",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13700,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Antonio",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Antonio",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22000,
      "highEstimate": 32900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Antonio",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16500,
      "highEstimate": 25600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Antonio",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23800,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Antonio",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18300,
      "highEstimate": 29300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Antonio",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23800,
      "highEstimate": 36600,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Antonio",
      "stateCode": "TX",
      "state": "Texas",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32900,
      "highEstimate": 54900,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Antonio",
      "stateCode": "TX",
      "state": "Texas",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 18300,
      "stateLabourFactor": 0.915,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Diego",
      "stateCode": "CA",
      "state": "California",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9100,
      "highEstimate": 12900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Diego",
      "stateCode": "CA",
      "state": "California",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 16100,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Diego",
      "stateCode": "CA",
      "state": "California",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Diego",
      "stateCode": "CA",
      "state": "California",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 38600,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Diego",
      "stateCode": "CA",
      "state": "California",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19300,
      "highEstimate": 30000,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Diego",
      "stateCode": "CA",
      "state": "California",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17200,
      "highEstimate": 27900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Diego",
      "stateCode": "CA",
      "state": "California",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21400,
      "highEstimate": 34300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Diego",
      "stateCode": "CA",
      "state": "California",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 27900,
      "highEstimate": 42900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Diego",
      "stateCode": "CA",
      "state": "California",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38600,
      "highEstimate": 64300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Diego",
      "stateCode": "CA",
      "state": "California",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Francisco",
      "stateCode": "CA",
      "state": "California",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9100,
      "highEstimate": 12900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Francisco",
      "stateCode": "CA",
      "state": "California",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 16100,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Francisco",
      "stateCode": "CA",
      "state": "California",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Francisco",
      "stateCode": "CA",
      "state": "California",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 38600,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Francisco",
      "stateCode": "CA",
      "state": "California",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19300,
      "highEstimate": 30000,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Francisco",
      "stateCode": "CA",
      "state": "California",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17200,
      "highEstimate": 27900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Francisco",
      "stateCode": "CA",
      "state": "California",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21400,
      "highEstimate": 34300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Francisco",
      "stateCode": "CA",
      "state": "California",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 27900,
      "highEstimate": 42900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Francisco",
      "stateCode": "CA",
      "state": "California",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38600,
      "highEstimate": 64300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Francisco",
      "stateCode": "CA",
      "state": "California",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Jose",
      "stateCode": "CA",
      "state": "California",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9100,
      "highEstimate": 12900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Jose",
      "stateCode": "CA",
      "state": "California",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 16100,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Jose",
      "stateCode": "CA",
      "state": "California",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15000,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Jose",
      "stateCode": "CA",
      "state": "California",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 25700,
      "highEstimate": 38600,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Jose",
      "stateCode": "CA",
      "state": "California",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19300,
      "highEstimate": 30000,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Jose",
      "stateCode": "CA",
      "state": "California",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17200,
      "highEstimate": 27900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Jose",
      "stateCode": "CA",
      "state": "California",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21400,
      "highEstimate": 34300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Jose",
      "stateCode": "CA",
      "state": "California",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 27900,
      "highEstimate": 42900,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Jose",
      "stateCode": "CA",
      "state": "California",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 38600,
      "highEstimate": 64300,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "San Jose",
      "stateCode": "CA",
      "state": "California",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 12900,
      "highEstimate": 21400,
      "stateLabourFactor": 1.072,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Savannah",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7900,
      "highEstimate": 11100,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Savannah",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10200,
      "highEstimate": 13900,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Savannah",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 18500,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Savannah",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22200,
      "highEstimate": 33300,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Savannah",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 25900,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Savannah",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14800,
      "highEstimate": 24100,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Savannah",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18500,
      "highEstimate": 29600,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Savannah",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24100,
      "highEstimate": 37000,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Savannah",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33300,
      "highEstimate": 55500,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Savannah",
      "stateCode": "GA",
      "state": "Georgia",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 18500,
      "stateLabourFactor": 0.925,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Scottsdale",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11300,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Scottsdale",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10400,
      "highEstimate": 14100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Scottsdale",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13200,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Scottsdale",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22600,
      "highEstimate": 33900,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Scottsdale",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17000,
      "highEstimate": 26400,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Scottsdale",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15100,
      "highEstimate": 24500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Scottsdale",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18800,
      "highEstimate": 30100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Scottsdale",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24500,
      "highEstimate": 37700,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Scottsdale",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33900,
      "highEstimate": 56500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Scottsdale",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Seattle",
      "stateCode": "WA",
      "state": "Washington",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9200,
      "highEstimate": 13000,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Seattle",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11900,
      "highEstimate": 16200,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Seattle",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 21700,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Seattle",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26000,
      "highEstimate": 39000,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Seattle",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19500,
      "highEstimate": 30300,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Seattle",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17300,
      "highEstimate": 28200,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Seattle",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21700,
      "highEstimate": 34700,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Seattle",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 28200,
      "highEstimate": 43300,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Seattle",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 39000,
      "highEstimate": 65000,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Seattle",
      "stateCode": "WA",
      "state": "Washington",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 21700,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sioux Falls",
      "stateCode": "SD",
      "state": "South Dakota",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7800,
      "highEstimate": 11000,
      "stateLabourFactor": 0.914,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sioux Falls",
      "stateCode": "SD",
      "state": "South Dakota",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10100,
      "highEstimate": 13700,
      "stateLabourFactor": 0.914,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sioux Falls",
      "stateCode": "SD",
      "state": "South Dakota",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 12800,
      "highEstimate": 18300,
      "stateLabourFactor": 0.914,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sioux Falls",
      "stateCode": "SD",
      "state": "South Dakota",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 21900,
      "highEstimate": 32900,
      "stateLabourFactor": 0.914,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sioux Falls",
      "stateCode": "SD",
      "state": "South Dakota",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16500,
      "highEstimate": 25600,
      "stateLabourFactor": 0.914,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sioux Falls",
      "stateCode": "SD",
      "state": "South Dakota",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14600,
      "highEstimate": 23800,
      "stateLabourFactor": 0.914,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sioux Falls",
      "stateCode": "SD",
      "state": "South Dakota",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18300,
      "highEstimate": 29200,
      "stateLabourFactor": 0.914,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sioux Falls",
      "stateCode": "SD",
      "state": "South Dakota",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 23800,
      "highEstimate": 36600,
      "stateLabourFactor": 0.914,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sioux Falls",
      "stateCode": "SD",
      "state": "South Dakota",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 32900,
      "highEstimate": 54800,
      "stateLabourFactor": 0.914,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Sioux Falls",
      "stateCode": "SD",
      "state": "South Dakota",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11000,
      "highEstimate": 18300,
      "stateLabourFactor": 0.914,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Spokane",
      "stateCode": "WA",
      "state": "Washington",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9200,
      "highEstimate": 13000,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Spokane",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11900,
      "highEstimate": 16200,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Spokane",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 21700,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Spokane",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26000,
      "highEstimate": 39000,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Spokane",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19500,
      "highEstimate": 30300,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Spokane",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17300,
      "highEstimate": 28200,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Spokane",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21700,
      "highEstimate": 34700,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Spokane",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 28200,
      "highEstimate": 43300,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Spokane",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 39000,
      "highEstimate": 65000,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Spokane",
      "stateCode": "WA",
      "state": "Washington",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 21700,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Louis",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8400,
      "highEstimate": 11800,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Louis",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14800,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Louis",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Louis",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23700,
      "highEstimate": 35500,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Louis",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17700,
      "highEstimate": 27600,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Louis",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15800,
      "highEstimate": 25600,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Louis",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19700,
      "highEstimate": 31600,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Louis",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25600,
      "highEstimate": 39400,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Louis",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35500,
      "highEstimate": 59200,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Louis",
      "stateCode": "MO",
      "state": "Missouri",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19700,
      "stateLabourFactor": 0.986,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Paul",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9500,
      "highEstimate": 13400,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Paul",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12300,
      "highEstimate": 16700,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Paul",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15600,
      "highEstimate": 22300,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Paul",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26700,
      "highEstimate": 40100,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Paul",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 20100,
      "highEstimate": 31200,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Paul",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17800,
      "highEstimate": 29000,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Paul",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 22300,
      "highEstimate": 35600,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Paul",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 29000,
      "highEstimate": 44600,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Paul",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 40100,
      "highEstimate": 66800,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Paul",
      "stateCode": "MN",
      "state": "Minnesota",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13400,
      "highEstimate": 22300,
      "stateLabourFactor": 1.114,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Petersburg",
      "stateCode": "FL",
      "state": "Florida",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7900,
      "highEstimate": 11100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Petersburg",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10200,
      "highEstimate": 13900,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Petersburg",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 18600,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Petersburg",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22300,
      "highEstimate": 33400,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Petersburg",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 26000,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Petersburg",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14800,
      "highEstimate": 24100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Petersburg",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18600,
      "highEstimate": 29700,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Petersburg",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24100,
      "highEstimate": 37100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Petersburg",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33400,
      "highEstimate": 55700,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "St. Petersburg",
      "stateCode": "FL",
      "state": "Florida",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 18600,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tacoma",
      "stateCode": "WA",
      "state": "Washington",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9200,
      "highEstimate": 13000,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tacoma",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11900,
      "highEstimate": 16200,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tacoma",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 21700,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tacoma",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26000,
      "highEstimate": 39000,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tacoma",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19500,
      "highEstimate": 30300,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tacoma",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17300,
      "highEstimate": 28200,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tacoma",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21700,
      "highEstimate": 34700,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tacoma",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 28200,
      "highEstimate": 43300,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tacoma",
      "stateCode": "WA",
      "state": "Washington",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 39000,
      "highEstimate": 65000,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tacoma",
      "stateCode": "WA",
      "state": "Washington",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 21700,
      "stateLabourFactor": 1.083,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tampa",
      "stateCode": "FL",
      "state": "Florida",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7900,
      "highEstimate": 11100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tampa",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10200,
      "highEstimate": 13900,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tampa",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 18600,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tampa",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22300,
      "highEstimate": 33400,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tampa",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 26000,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tampa",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14800,
      "highEstimate": 24100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tampa",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18600,
      "highEstimate": 29700,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tampa",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24100,
      "highEstimate": 37100,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tampa",
      "stateCode": "FL",
      "state": "Florida",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33400,
      "highEstimate": 55700,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tampa",
      "stateCode": "FL",
      "state": "Florida",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11100,
      "highEstimate": 18600,
      "stateLabourFactor": 0.928,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Toledo",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8300,
      "highEstimate": 11800,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Toledo",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14700,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Toledo",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13700,
      "highEstimate": 19600,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Toledo",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23500,
      "highEstimate": 35300,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Toledo",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17700,
      "highEstimate": 27500,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Toledo",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15700,
      "highEstimate": 25500,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Toledo",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19600,
      "highEstimate": 31400,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Toledo",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25500,
      "highEstimate": 39200,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Toledo",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35300,
      "highEstimate": 58900,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Toledo",
      "stateCode": "OH",
      "state": "Ohio",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11800,
      "highEstimate": 19600,
      "stateLabourFactor": 0.981,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tucson",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8000,
      "highEstimate": 11300,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tucson",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10400,
      "highEstimate": 14100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tucson",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13200,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tucson",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22600,
      "highEstimate": 33900,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tucson",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17000,
      "highEstimate": 26400,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tucson",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15100,
      "highEstimate": 24500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tucson",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18800,
      "highEstimate": 30100,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tucson",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24500,
      "highEstimate": 37700,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tucson",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33900,
      "highEstimate": 56500,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tucson",
      "stateCode": "AZ",
      "state": "Arizona",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11300,
      "highEstimate": 18800,
      "stateLabourFactor": 0.942,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tulsa",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 7900,
      "highEstimate": 11200,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tulsa",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10200,
      "highEstimate": 14000,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tulsa",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 18600,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tulsa",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22300,
      "highEstimate": 33500,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tulsa",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 16700,
      "highEstimate": 26000,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tulsa",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 14900,
      "highEstimate": 24200,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tulsa",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 18600,
      "highEstimate": 29800,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tulsa",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24200,
      "highEstimate": 37200,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tulsa",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 33500,
      "highEstimate": 55800,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Tulsa",
      "stateCode": "OK",
      "state": "Oklahoma",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11200,
      "highEstimate": 18600,
      "stateLabourFactor": 0.93,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Virginia Beach",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8100,
      "highEstimate": 11400,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Virginia Beach",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10400,
      "highEstimate": 14200,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Virginia Beach",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13300,
      "highEstimate": 19000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Virginia Beach",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 22800,
      "highEstimate": 34200,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Virginia Beach",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17100,
      "highEstimate": 26600,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Virginia Beach",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15200,
      "highEstimate": 24700,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Virginia Beach",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19000,
      "highEstimate": 30400,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Virginia Beach",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 24700,
      "highEstimate": 38000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Virginia Beach",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 34200,
      "highEstimate": 56900,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Virginia Beach",
      "stateCode": "VA",
      "state": "Virginia",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11400,
      "highEstimate": 19000,
      "stateLabourFactor": 0.949,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Washington",
      "stateCode": "DC",
      "state": "District of Columbia",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9200,
      "highEstimate": 13000,
      "stateLabourFactor": 1.082,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Washington",
      "stateCode": "DC",
      "state": "District of Columbia",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 11900,
      "highEstimate": 16200,
      "stateLabourFactor": 1.082,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Washington",
      "stateCode": "DC",
      "state": "District of Columbia",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15100,
      "highEstimate": 21600,
      "stateLabourFactor": 1.082,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Washington",
      "stateCode": "DC",
      "state": "District of Columbia",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26000,
      "highEstimate": 39000,
      "stateLabourFactor": 1.082,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Washington",
      "stateCode": "DC",
      "state": "District of Columbia",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 19500,
      "highEstimate": 30300,
      "stateLabourFactor": 1.082,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Washington",
      "stateCode": "DC",
      "state": "District of Columbia",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17300,
      "highEstimate": 28100,
      "stateLabourFactor": 1.082,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Washington",
      "stateCode": "DC",
      "state": "District of Columbia",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 21600,
      "highEstimate": 34600,
      "stateLabourFactor": 1.082,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Washington",
      "stateCode": "DC",
      "state": "District of Columbia",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 28100,
      "highEstimate": 43300,
      "stateLabourFactor": 1.082,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Washington",
      "stateCode": "DC",
      "state": "District of Columbia",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 39000,
      "highEstimate": 64900,
      "stateLabourFactor": 1.082,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Washington",
      "stateCode": "DC",
      "state": "District of Columbia",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13000,
      "highEstimate": 21600,
      "stateLabourFactor": 1.082,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wichita",
      "stateCode": "KS",
      "state": "Kansas",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8200,
      "highEstimate": 11600,
      "stateLabourFactor": 0.963,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wichita",
      "stateCode": "KS",
      "state": "Kansas",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10600,
      "highEstimate": 14400,
      "stateLabourFactor": 0.963,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wichita",
      "stateCode": "KS",
      "state": "Kansas",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13500,
      "highEstimate": 19300,
      "stateLabourFactor": 0.963,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wichita",
      "stateCode": "KS",
      "state": "Kansas",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23100,
      "highEstimate": 34700,
      "stateLabourFactor": 0.963,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wichita",
      "stateCode": "KS",
      "state": "Kansas",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17300,
      "highEstimate": 27000,
      "stateLabourFactor": 0.963,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wichita",
      "stateCode": "KS",
      "state": "Kansas",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15400,
      "highEstimate": 25000,
      "stateLabourFactor": 0.963,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wichita",
      "stateCode": "KS",
      "state": "Kansas",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19300,
      "highEstimate": 30800,
      "stateLabourFactor": 0.963,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wichita",
      "stateCode": "KS",
      "state": "Kansas",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25000,
      "highEstimate": 38500,
      "stateLabourFactor": 0.963,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wichita",
      "stateCode": "KS",
      "state": "Kansas",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 34700,
      "highEstimate": 57800,
      "stateLabourFactor": 0.963,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wichita",
      "stateCode": "KS",
      "state": "Kansas",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11600,
      "highEstimate": 19300,
      "stateLabourFactor": 0.963,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wilmington",
      "stateCode": "DE",
      "state": "Delaware",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 8300,
      "highEstimate": 11700,
      "stateLabourFactor": 0.978,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wilmington",
      "stateCode": "DE",
      "state": "Delaware",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 10800,
      "highEstimate": 14700,
      "stateLabourFactor": 0.978,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wilmington",
      "stateCode": "DE",
      "state": "Delaware",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 13700,
      "highEstimate": 19600,
      "stateLabourFactor": 0.978,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wilmington",
      "stateCode": "DE",
      "state": "Delaware",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 23500,
      "highEstimate": 35200,
      "stateLabourFactor": 0.978,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wilmington",
      "stateCode": "DE",
      "state": "Delaware",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 17600,
      "highEstimate": 27400,
      "stateLabourFactor": 0.978,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wilmington",
      "stateCode": "DE",
      "state": "Delaware",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 15600,
      "highEstimate": 25400,
      "stateLabourFactor": 0.978,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wilmington",
      "stateCode": "DE",
      "state": "Delaware",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 19600,
      "highEstimate": 31300,
      "stateLabourFactor": 0.978,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wilmington",
      "stateCode": "DE",
      "state": "Delaware",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 25400,
      "highEstimate": 39100,
      "stateLabourFactor": 0.978,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wilmington",
      "stateCode": "DE",
      "state": "Delaware",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 35200,
      "highEstimate": 58700,
      "stateLabourFactor": 0.978,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Wilmington",
      "stateCode": "DE",
      "state": "Delaware",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 11700,
      "highEstimate": 19600,
      "stateLabourFactor": 0.978,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Worcester",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "3-Tab Asphalt Shingles",
      "materialSlug": "asphalt-3-tab",
      "roofSqft": 2000,
      "lowEstimate": 9500,
      "highEstimate": 13400,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Worcester",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Architectural Asphalt Shingles",
      "materialSlug": "asphalt-architectural",
      "roofSqft": 2000,
      "lowEstimate": 12300,
      "highEstimate": 16700,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Worcester",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Designer Asphalt Shingles",
      "materialSlug": "asphalt-designer",
      "roofSqft": 2000,
      "lowEstimate": 15600,
      "highEstimate": 22300,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Worcester",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Standing Seam Metal",
      "materialSlug": "standing-seam-metal",
      "roofSqft": 2000,
      "lowEstimate": 26800,
      "highEstimate": 40100,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Worcester",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Metal Shingles",
      "materialSlug": "metal-shingle",
      "roofSqft": 2000,
      "lowEstimate": 20100,
      "highEstimate": 31200,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Worcester",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Cedar Shake",
      "materialSlug": "cedar-shake",
      "roofSqft": 2000,
      "lowEstimate": 17800,
      "highEstimate": 29000,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Worcester",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Concrete Tile",
      "materialSlug": "concrete-tile",
      "roofSqft": 2000,
      "lowEstimate": 22300,
      "highEstimate": 35700,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Worcester",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Clay Tile",
      "materialSlug": "clay-tile",
      "roofSqft": 2000,
      "lowEstimate": 29000,
      "highEstimate": 44600,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Worcester",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "Natural Slate",
      "materialSlug": "natural-slate",
      "roofSqft": 2000,
      "lowEstimate": 40100,
      "highEstimate": 66900,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    },
    {
      "city": "Worcester",
      "stateCode": "MA",
      "state": "Massachusetts",
      "material": "TPO Flat Roofing (single-ply)",
      "materialSlug": "flat-tpo",
      "roofSqft": 2000,
      "lowEstimate": 13400,
      "highEstimate": 22300,
      "stateLabourFactor": 1.115,
      "source": "BLS OEWS May 2025, Roofers (47-2181), as republished — see Methodology",
      "checkedOn": "2026-10-27",
      "note": "Modelled estimate — see https://roofcostlookup.com/methodology/"
    }
  ]
}