{
  "_meta": {
    "currency": "USD",
    "lastReviewed": "2026-10-20",
    "basis": "Ballpark U.S. home-center shelf prices set by the EstimaHome editors. Not quotes, and not drawn from a survey or price feed. Prices vary by region, season, brand and grade; every calculator lets the user enter local prices.",
    "spreadNote": "spreadPct is the plus/minus percentage applied to each subtotal to show a low-high range."
  },
  "spreadPct": 15,
  "items": {
    "deck_board": {
      "label": "Deck board, 5/4×6 pressure-treated, 16 ft",
      "unit": "each",
      "price": 18
    },
    "deck_joist": {
      "label": "Joist, pressure-treated, cut to deck depth",
      "unit": "each",
      "price": 22
    },
    "deck_screw_box": {
      "label": "Exterior deck screws, box",
      "unit": "box",
      "price": 38
    },
    "deck_post": {
      "label": "Deck post, 6×6 pressure-treated",
      "unit": "each",
      "price": 25
    },
    "concrete_bag_80": {
      "label": "Concrete mix, 80 lb bag",
      "unit": "bag",
      "price": 6.5
    },
    "concrete_bag_60": {
      "label": "Concrete mix, 60 lb bag",
      "unit": "bag",
      "price": 5.25
    },
    "ready_mix_yard": {
      "label": "Ready-mix concrete, delivered (before short-load fees)",
      "unit": "cubic yard",
      "price": 175
    },
    "fence_post": {
      "label": "Fence post, 4×4×8 pressure-treated",
      "unit": "each",
      "price": 16
    },
    "fence_rail": {
      "label": "Fence rail, 2×4×8 pressure-treated",
      "unit": "each",
      "price": 6
    },
    "fence_picket": {
      "label": "Fence picket, 5/8 × 5.5 in × 6 ft",
      "unit": "each",
      "price": 3.5
    },
    "paint_gallon": {
      "label": "Interior wall paint",
      "unit": "gallon",
      "price": 42
    },
    "primer_gallon": {
      "label": "Interior primer",
      "unit": "gallon",
      "price": 28
    },
    "paint_supplies": {
      "label": "Roller, covers, brushes, tape, tray",
      "unit": "set",
      "price": 35
    },
    "drywall_sheet": {
      "label": "Drywall, 1/2 in, 4×8 sheet",
      "unit": "sheet",
      "price": 16
    },
    "joint_compound": {
      "label": "All-purpose joint compound, 4.5 gal bucket",
      "unit": "each",
      "price": 20
    },
    "drywall_tape": {
      "label": "Paper joint tape, 250 ft roll",
      "unit": "roll",
      "price": 5
    },
    "drywall_screws": {
      "label": "Drywall screws, 1-1/4 in, box of about 1,000",
      "unit": "box",
      "price": 22
    },
    "flooring_sqft": {
      "label": "Laminate or vinyl plank flooring",
      "unit": "sq ft",
      "price": 3
    },
    "underlayment_roll": {
      "label": "Flooring underlayment, 100 sq ft roll",
      "unit": "roll",
      "price": 30
    },
    "quarter_round": {
      "label": "Quarter round molding, 8 ft",
      "unit": "each",
      "price": 8
    },
    "tile_sqft": {
      "label": "Porcelain floor tile",
      "unit": "sq ft",
      "price": 3
    },
    "thinset_bag": {
      "label": "Modified thinset mortar, 50 lb",
      "unit": "bag",
      "price": 22
    },
    "grout_bag": {
      "label": "Sanded grout, 25 lb",
      "unit": "bag",
      "price": 25
    },
    "mulch_bag": {
      "label": "Bagged mulch, 2 cu ft",
      "unit": "bag",
      "price": 4.5
    },
    "mulch_yard": {
      "label": "Bulk mulch",
      "unit": "cubic yard",
      "price": 40
    },
    "gravel_bag": {
      "label": "Bagged gravel, 0.5 cu ft",
      "unit": "bag",
      "price": 6
    },
    "gravel_yard": {
      "label": "Bulk crushed stone or gravel",
      "unit": "cubic yard",
      "price": 55
    },
    "topsoil_bag": {
      "label": "Bagged topsoil, 0.75 cu ft",
      "unit": "bag",
      "price": 3.5
    },
    "topsoil_yard": {
      "label": "Bulk screened topsoil",
      "unit": "cubic yard",
      "price": 40
    },
    "bulk_delivery": {
      "label": "Bulk material delivery, one trip",
      "unit": "trip",
      "price": 75
    },
    "shingle_bundle": {
      "label": "Architectural shingles",
      "unit": "bundle",
      "price": 38
    },
    "roof_underlayment": {
      "label": "Synthetic roof underlayment, 1,000 sq ft roll",
      "unit": "roll",
      "price": 95
    },
    "ridge_cap": {
      "label": "Hip and ridge cap shingles",
      "unit": "bundle",
      "price": 60
    },
    "drip_edge": {
      "label": "Aluminum drip edge, 10 ft",
      "unit": "each",
      "price": 9
    },
    "wallpaper_roll": {
      "label": "Wallpaper, double roll",
      "unit": "roll",
      "price": 60
    },
    "wallpaper_tools": {
      "label": "Wallpaper tool kit",
      "unit": "set",
      "price": 20
    },
    "insulation_package": {
      "label": "Fiberglass batts, R-13, 40 sq ft package",
      "unit": "package",
      "price": 30
    },
    "wall_block": {
      "label": "Retaining wall block, 16 in",
      "unit": "each",
      "price": 6
    },
    "wall_cap": {
      "label": "Retaining wall cap",
      "unit": "each",
      "price": 5
    },
    "paver": {
      "label": "Concrete paver, 4×8 in",
      "unit": "each",
      "price": 0.75
    },
    "paver_sand": {
      "label": "Paver sand, 0.5 cu ft bag",
      "unit": "bag",
      "price": 6
    }
  }
}