# Handyman hourly rate: Handyman Pay Benchmark

> The median published figure in the Handyman Pay Benchmark is 48,145 USD across 2 sources' own pages (range 46,700 to 49,590 USD), read 12 October 2026.

PunchListWorks · https://punchlistworks.com/datasets/handyman-pay-benchmark/ · computed 2026-10-18

**Median published figure:** 48,145 USD (range 46,700 to 49,590 USD; 2 sources with a figure; 2 of 12 sources read publish one).

2 of the 12 named sources read in full publish a figure; 10 publish none, read 12 October 2026.

The median is unchanged since 26 September 2026 (was 48,145 USD across 2).

## Every figure, with its source

One row per source: the figure the source's own page publishes, the page, and the day it was read.

| Source | Figure | Read |
|---|---|---|
| [BLS Occupational Outlook Handbook, general maintenance and repair workers](https://www.bls.gov/ooh/installation-maintenance-and-repair/general-maintenance-and-repair-workers.htm) | 49,590 USD | 2026-10-12 |
| [BLS OEWS, 49-9071 Maintenance and Repair Workers, General (national)](https://www.bls.gov/oes/2023/may/oes499071.htm) | 46,700 USD | 2026-10-12 |

## The sentence each figure was read from (2)

- [BLS Occupational Outlook Handbook, general maintenance and repair workers](https://www.bls.gov/ooh/installation-maintenance-and-repair/general-maintenance-and-repair-workers.htm), read 2026-10-12: "2025 Median Pay $49,590 per year"
- [BLS OEWS, 49-9071 Maintenance and Repair Workers, General (national)](https://www.bls.gov/oes/2023/may/oes499071.htm), read 2026-10-12: "Annual Wage (2) $ 30,860 $ 37,160 $ 46,700 $ 59,640 $ 73,490"

## Read in full, publishes no figure

- [BLS OEWS tables index](https://www.bls.gov/oes/tables.htm), read 2026-09-12: read in full and no accepted figure on the page
- [BLS OEWS California state estimates](https://www.bls.gov/oes/2023/may/oes_ca.htm), read 2026-10-12: every candidate on the page was refused
- [BLS OEWS Texas state estimates](https://www.bls.gov/oes/2023/may/oes_tx.htm), read 2026-10-12: every candidate on the page was refused
- [BLS OEWS North Carolina state estimates](https://www.bls.gov/oes/2023/may/oes_nc.htm), read 2026-10-12: every candidate on the page was refused
- [BLS OEWS Florida state estimates](https://www.bls.gov/oes/2023/may/oes_fl.htm), read 2026-10-12: every candidate on the page was refused
- [BLS Quarterly Census of Employment and Wages](https://www.bls.gov/cew/), read 2026-09-12: every candidate on the page was refused
- [BLS industry page, NAICS 811 Repair and Maintenance](https://www.bls.gov/iag/tgs/iag811.htm), read 2026-09-12: every candidate on the page was refused
- [Census Nonemployer Statistics](https://www.census.gov/programs-surveys/nonemployer-statistics.html), read 2026-10-12: read in full and no accepted figure on the page
- [Census Nonemployer Statistics API](https://www.census.gov/data/developers/data-sets/nonemp-api.html), read 2026-10-12: read in full and no accepted figure on the page
- [O*NET OnLine, 49-9071.00](https://www.onetonline.org/link/summary/49-9071.00), read 2026-10-12: every candidate on the page was refused

## Methodology

Every row is a verbatim sentence read from the named source's own page through our fetch service on the date shown, hash-pinned to the stored read (the sha of the page's visible text; the raw page is mirrored to R2). 2 of the 12 named sources that could be read published a usable figure; 10 published none and are recorded as not published, never filled in; 1 could not be read (blocked, dead or unreachable) and count nowhere. The headline figures (median, minimum, maximum, quartiles) are over ONE figure per source in USD (a source's median where its page yielded several accepted sentences), so N counts sources, never sentences; 39 candidate sentence(s) were refused by a reviewer with the reason recorded. The fuller derivation this dataset is chartered to grow into (not yet what the figures above are; they are each source's own published figure as read): the BLS OEWS wage distribution for SOC 49-9071 (Maintenance and Repair Workers, General) - employment, mean and 10th/25th/50th/75th/90th percentile hourly and annual wage - per state and per metro, each release dated; the derivation nobody publishes is the GAP: the employed wage percentile beside the billed rate the rate-index measured in the same metro, giving the gross-to-take-home bridge a self-employed handyman actually asks about (billed rate minus the self-employment tax, insurance, vehicle, unbillable hours), and the Census Nonemployer Statistics count of no-employee repair-and-maintenance businesses (NAICS 811) with their receipts per establishment as the self-employed denominator; changed-since each OEWS release

## Sources

- [BLS OEWS, 49-9071 Maintenance and Repair Workers, General (national)](https://www.bls.gov/oes/2023/may/oes499071.htm) (the publisher's own terms; quoted for reporting and comment)
- [BLS Occupational Outlook Handbook, general maintenance and repair workers](https://www.bls.gov/ooh/installation-maintenance-and-repair/general-maintenance-and-repair-workers.htm) (the publisher's own terms; quoted for reporting and comment)
- [BLS OEWS tables index](https://www.bls.gov/oes/tables.htm) (the publisher's own terms; quoted for reporting and comment)
- [BLS OEWS California state estimates](https://www.bls.gov/oes/2023/may/oes_ca.htm) (the publisher's own terms; quoted for reporting and comment)
- [BLS OEWS Texas state estimates](https://www.bls.gov/oes/2023/may/oes_tx.htm) (the publisher's own terms; quoted for reporting and comment)
- [BLS OEWS North Carolina state estimates](https://www.bls.gov/oes/2023/may/oes_nc.htm) (the publisher's own terms; quoted for reporting and comment)
- [BLS OEWS Florida state estimates](https://www.bls.gov/oes/2023/may/oes_fl.htm) (the publisher's own terms; quoted for reporting and comment)
- [BLS Quarterly Census of Employment and Wages](https://www.bls.gov/cew/) (the publisher's own terms; quoted for reporting and comment)
- [BLS industry page, NAICS 811 Repair and Maintenance](https://www.bls.gov/iag/tgs/iag811.htm) (the publisher's own terms; quoted for reporting and comment)
- [Census Nonemployer Statistics](https://www.census.gov/programs-surveys/nonemployer-statistics.html) (the publisher's own terms; quoted for reporting and comment)
- [Census Nonemployer Statistics API](https://www.census.gov/data/developers/data-sets/nonemp-api.html) (the publisher's own terms; quoted for reporting and comment)
- [O*NET OnLine, 49-9071.00](https://www.onetonline.org/link/summary/49-9071.00) (the publisher's own terms; quoted for reporting and comment)
- [BLS Occupational Employment and Wages news release](https://www.bls.gov/news.release/pdf/ocwage.pdf) (the publisher's own terms; quoted for reporting and comment)

## Cite or embed

- The median published figure in the Handyman Pay Benchmark is 48,145 USD across 2 sources' own pages (range 46,700 to 49,590 USD), read 12 October 2026.
- 2 of the 12 named sources read in full publish a figure; 10 publish none, read 12 October 2026.
- The median is unchanged since 26 September 2026 (was 48,145 USD across 2).

Cite as: "PunchListWorks Handyman Pay Benchmark", updated 2026-10-18, https://punchlistworks.com/datasets/handyman-pay-benchmark/.

CSV: https://punchlistworks.com/datasets/handyman-pay-benchmark.csv
JSON: https://punchlistworks.com/datasets/handyman-pay-benchmark.json
Embed (plain HTML, static link back): see https://punchlistworks.com/datasets/handyman-pay-benchmark/#median
