9FR — Nine Figure RooferNINE FIGUREROOFERNational
Partner API — Open Access

ONE API. EVERY HOME-SERVICES
MEASUREMENT.

The measurement engine that powers 9 Figure Roofer, open to partners. Address in — measured roof, priced job, verified storm, materials list, branded proposal, and an Xactimate-ready scope pack out.

~20sFull Roof Report
<1sInstant Teasers
AutoScaling Workers
PrepaidCredit Billing
HMACSigned Webhooks
Everything below is a  real artifact  from live API pulls — one Sarasota, FL address, pulled 9/18/2026
The Flagship

Roof Measurement Report

Eleven pages of engineering-grade aerial measurement — squares, pitch, facets, edge lengths, annotated imagery. This exact report was generated by POST /v1/reports in 12 seconds.

6987 Easton Ct, Sarasota FL — 24.7 squares, 7 facets

$6.00 / pull

Async pattern: submit the address, get a report_id instantly with a free inline teaser, then receive the finished PDF + structured JSON by webhook (or poll). Tap any page to enlarge.

Roof measurement report cover — 24.7 squares, 2,472 sq ft, AI confidence badge1 / 11
Roof measurement report page 2 — measurement summary2 / 11
Roof measurement report page 3 — pitch and facet breakdown3 / 11
Roof measurement report page 4 — annotated aerial imagery4 / 11
Roof measurement report page 5 — edge measurements over satellite imagery with eave, rake, ridge legend5 / 11
Roof measurement report page 6 — facet detail6 / 11
Roof measurement report page 7 — length diagrams7 / 11
Roof measurement report page 8 — area diagrams8 / 11
Roof measurement report page 9 — waste table9 / 11
Roof measurement report page 10 — exterior estimates10 / 11
Roof measurement report page 11 — methodology and provenance11 / 11

Branded Proposal

$2.50 / pull

One call turns a finished report into a customer-ready proposal PDF — your company name, your rate per square, scope of work, and a financed total. This one priced the same Sarasota roof at $425/square: $11,661.66.

Branded roofing proposal — satellite-verified measurements, scope of work, and total investment of $11,661.661 / 1

AI-A-MATE Scope Pack

$26.00 / pull

The adjuster's unfair advantage: measurements + materials math + NWS storm verification + claim fields, assembled into one Xactimate-ready scope pack. This pack verified Hurricane Milton on the reported date of loss — 6 NWS local storm reports within 30 miles, the nearest 6.8 miles from the roof.

AI-A-MATE scope pack page 1 — claim information, NWS storm verification match, aerial measurement summary1 / 2
AI-A-MATE scope pack page 2 — Xactimate-ready line-item scope quantities2 / 2
Instant Endpoints

Live JSON, Straight From the Wire

Actual (abridged) responses from the same address. Highlighted fields are the ones your app cares about.

GET /v1/teaser$1.05
{
  "address": "6987 Easton Ct, Sarasota, FL…",
  "covered": true,
  "quality": "HIGH",
  "roof_sqft": 2472,
  "squares_est": 24.7,
  "imagery_date": {"year": 2024, "month": 2, "day": 20},
  "is_street_address": true
}
Sub-second coverage check. Before you spend a dollar on a full report, the teaser tells you the roof is covered, how good the imagery is, and a real square-footage estimate. Perfect behind an address form.
GET /v1/footprint$1.10
{
  "address": "6987 Easton Ct, Sarasota, FL…",
  "footprint_sqft": 2286,
  "perimeter_ft": 207,
  "area_m2": 212.4,
  "source": "google_solar_estimate"
}
Ground footprint + perimeter. The building's ground area and edge length — the math that prices gutters, fencing, siding, pavers, and every other perimeter trade. One field, many verticals.
GET /v1/homeowner_price$2.25
{
  "squares": 24.7,
  "squares_with_waste": 27.7,
  "tiers": [
    {"tier": "GOOD",   "price": 11767, "monthly_from": 143},
    {"tier": "BETTER", "price": 15228, "monthly_from": 185},
    {"tier": "BEST",   "price": 25610, "monthly_from": 311}
  ],
  "financing_terms": "est. 10-year term @ 9.99% APR…"
}
Instant GOOD / BETTER / BEST pricing. A measured roof turned into three sellable price tiers with monthly financing — the exact engine behind our homeowner "Price My Roof" door.
POST /v1/storm_verify$1.25
{
  "date": "2024-10-09", "peril": "wind",
  "verified": true,
  "reports_found": 6,
  "nearest_mi": 6.8,
  "samples": [{
    "type": "TROPICAL CYCLONE", "city": "2 NW Myakka River State",
    "remark": "Roof ripped off the Bank of America building…",
    "valid": "2024-10-10T00:19:00Z"
  }],
  "source": "NWS Local Storm Reports"
}
Official storm evidence in one call. Date of loss + address in, National Weather Service local storm reports out — matched by peril, distance, and a ±day window. This is the verification block that goes in the claim file.
Deterministic Materials Math

Bill of Materials — Real Output

One call against the finished report returned this materials list. No AI guessing — deterministic math from measured geometry, with the formula shown on every line.

POST /v1/bom  ·  24.7 squares · 10% waste (simple/gable-dominant)$1.25 / pull · from report 054ee3bf…
MaterialQtyHow it was computed
Architectural shingles82 bundles24.72 sq × 1.10 waste = 27.19 sq × 3 bundles/sq
Synthetic underlayment3 rolls24.72 sq ÷ 10 sq/roll
Ice & water shield (valleys)1 roll22 valley ft ÷ 66 lf/roll
Starter strip3 bundles(eave 192 + rake 20) = 212 lf ÷ 105 lf/bundle
Hip & ridge cap4 bundles(ridge 78 + hip 12) = 90 lf ÷ 25 lf/bundle
Drip edge22 sticks (10 ft)212 lf ÷ 10 ft/stick
Coil roofing nails2 boxes27.19 sq (incl. waste) ÷ 20 sq/box
Pipe boots / flashings3 eachdefault 3 — count penetrations on site
Ridge vent20 sticks (4 ft)ridge 78 lf ÷ 4 ft/stick
The Menu

Eight Products, One Key

Pay per pull from a prepaid credit balance. No subscription, no minimums. Failed async jobs auto-refund.

ProductEndpointWhat you getPrice
TeaserGET /v1/teaserCoverage + instant roof sq ft, sub-second$1.05
FootprintGET /v1/footprintGround footprint sq ft + perimeter$1.10
Storm VerifyPOST /v1/storm_verifyNWS local storm report match by date + peril$1.25
BOMPOST /v1/bomDeterministic materials list from measurements$1.25
Homeowner PriceGET /v1/homeowner_priceGOOD/BETTER/BEST tiers + monthly financing$2.25
ProposalPOST /v1/proposalsBranded proposal PDF from a finished report$2.50
Measurement ReportPOST /v1/reportsFull aerial report — PDF + JSON, ~20s async$6.00
AI-A-MATE Scope PackPOST /v1/scopeXactimate-ready scope pack: measurements + BOM + storm verify + claim fields$26.00
Built for Builders

Integrate in an Afternoon

Bearer key auth. Prepaid credits. Sync where it can be, async where it must be.

🔑

Bearer Keys

One Authorization: Bearer header. Keys are hashed at rest and shown exactly once at issue.

💳

Prepaid Credits

Load a balance, pull until it's spent. Empty balance returns a clean 402 — never a surprise invoice. Failed jobs auto-refund.

Sync + Async

Teasers, footprints, and prices return instantly. Reports and scope packs queue to auto-scaling workers and land in ~20s.

🪝

Signed Webhooks

Job-done callbacks signed sha256 HMAC with your per-partner secret, retried on a backoff schedule. Or just poll.

POST /v1/reportsaddress in → report_id now
~20 secondsauto-scaled workers measure
Webhook or pollPDF + JSON measurements
# Instant teaser — is this roof measurable, and how big is it?
curl -H "Authorization: Bearer nfm_live_XXXX" \
  "https://api.9fr.talktotom.ai/v1/teaser" \
  --get --data-urlencode "address=6987 Easton Ct, Sarasota, FL 34238"
# Full measurement report — submit, then poll (or receive the webhook)
curl -X POST -H "Authorization: Bearer nfm_live_XXXX" \
  -H "Content-Type: application/json" \
  -d '{"address":"6987 Easton Ct, Sarasota, FL 34238","company":"Your Roofing Co"}' \
  https://api.9fr.talktotom.ai/v1/reports

# → {"report_id":"…","status":"queued","teaser":{…}}   (~20s later: status "done")
curl -H "Authorization: Bearer nfm_live_XXXX" \
  https://api.9fr.talktotom.ai/v1/reports/REPORT_ID

Put the Measurement Engine in Your Product.

Partners get sandbox keys the same day. Tell us what you're building.

Request API Keys

Artifacts on this page are real outputs from live API pulls against a public commercial address in Sarasota, FL on 9/18/2026. Prices shown are the standard sheet; partner and volume pricing available. Xactimate® is a registered trademark of Xactware Solutions, Inc.; 9FR is not affiliated with Xactware. The AI-A-MATE Scope Pack is an Xactimate-ready scope pack that imports into your own estimating seat.