API & Open Data

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.

Public endpoint JSON-LD on every hub llms.txt published

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.

GET /v1/rate?task=hvac.condenser_fan_motor&state=NC → 200 OK { "task": "hvac.condenser_fan_motor", "state": "NC", "p25": 312, "p50": 482, "p75": 698, "currency": "USD", "model_version": "v0.1", "source": "https://fairrateindex.com/method.html" }
ParameterTypeDescription
taskstringTask id from the task dictionary, e.g. plumbing.water_heater_40gal. See each trade hub for its ids.
statestringTwo-letter state code. Required — every band is state-adjusted.

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 gr8@yskaipe.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.

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Dataset", "name": "Fair Rate Index — HVAC, North Carolina", "license": "https://fairrateindex.com/legal/terms.html", "version": "v0.1" } </script>

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.