Free to read, built to be quoted.
Every band is published as structured data, so search engines, assistants, and anyone building on top of the index can read the same number you do. No key required for read access, no rate you can't reproduce yourself.
Look up a band
One endpoint returns the modeled range for a given task in a given state, plus the version of the model that produced it.
| Parameter | Type | Description |
|---|---|---|
task | string | Task id from the task dictionary below, e.g. plumb.wh_40gal. |
state | string | Two-letter state code. Required — every band is state-adjusted. |
quantity | number | Optional, 1 to 50. Multiplies the band for jobs priced per unit. |
Task dictionary
| Task id | Job |
|---|---|
hvac.fan_motor | Condenser fan motor replacement |
hvac.capacitor | Run capacitor replacement |
hvac.system_3t | 3-ton system replacement |
plumb.wh_40gal | 40-gal gas water heater |
plumb.leak_repair | Supply line leak repair |
plumb.toilet | Toilet replacement |
elec.panel_200 | 200A panel replacement |
elec.outlet_add | Add a 20A outlet |
elec.ev_charger | EV charger circuit |
roof.reroof_2000 | Asphalt reroof, 2,000 sq ft |
roof.leak_repair | Localized leak repair |
gc.bath_full | Full bathroom remodel |
gc.deck_300 | 300 sq ft deck build |
paint.room_12x14 | Interior room repaint, 12×14 |
paint.exterior_2000 | Exterior repaint, 2,000 sq ft |
land.mow_quarter | Weekly mow, ¼ acre |
land.tree_removal | Mid-size tree removal |
auto.brakes_front | Front brake pads + rotors |
auto.alternator | Alternator replacement |
auto.timing_belt | Timing belt service |
Access & limits
The read endpoint is public and free — no API key for standard lookups.
Requests are rate-limited per IP to keep the endpoint fast for everyone; contact hello@fairrateindex.com for higher-volume access.
Attribution
If you display a band pulled from the API, link back to the source hub or to
fairrateindex.com and show the model_version you
queried.
The figures are modeled estimates, not quotes or price-fixing guidance — see the disclaimer on every page.
Structured data on every hub
Every trade hub and state page carries JSON-LD in the page itself, so the same numbers shown to a person are readable by a crawler without hitting the API at all.
A published
llms.txt at the site root points assistants and crawlers to the method,
sources, and the API itself, so anything quoting the index can quote it correctly.