Roof measurements,
one API call away.

Send an address. Get back measured roof geometry as XML plus a PDF carrying your own branding. Draw against a prepaid balance, and test the whole lifecycle in sandbox before you spend a dollar.

Preview a sample report (PDF) — see how the report would look with your branding on it.

$13  residential  ·  $35  commercial  ·  $3  storm report. Per report, no subscription, no minimums.

How it works

1

Send an address

One POST with the address and coordinates. Pick residential or commercial, and say which structures to include — primary only, primary plus detached garage, or everything on the property.

2

We measure it

Trained technicians produce the measurements — residential typically in about 2 hours, commercial in about 8. The cost is deducted when you order, and if the report can't be produced it's refunded as account credit.

3

Get it back

We call your endpoint the moment the report is ready, or ask us for an order's status any time. Either way you get the file links — pull the XML, the PDF, an Xactimate .esx, or all three.

What's in a report

Full roof geometry

Every facet with its area and pitch, and every edge typed as eave, rake, ridge, hip, valley, step or flashing — with lengths and counts, per structure and combined.

Totals you can quote from

Total area and squares, facet count, predominant pitch, and area broken down by pitch. Returned as JSON in the API and printed on the PDF — from one parse, so they can't disagree.

Multi-structure properties

Detached garages, sheds and outbuildings come back as separate structures with their own totals, so you can price them separately or leave them out.

White-labeled PDF

Your logo, colors and contact details on every page, or a saved brand profile per customer with their own logo. Rendered at download time, so a branding change re-skins reports you ordered months ago.

Preview a report

Raw XML

The measurement document itself, byte for byte, if you'd rather drive your own takeoff or estimating pipeline from the source data.

Free revisions

Something wrong with a delivered report? Open a revision from the API or the dashboard and we'll correct it. No extra charge, and the report you already have stays available while we do.

Storm reports Open beta

Hail, wind and tornado history for any address in the US and Canada, returned in the same response that orders it, in about two seconds. $3 per report, free when nothing is found within 5 miles in the last five years.

Hail and wind by distance

Radar-estimated hail at the property and within 1, 3 and 5 miles for every storm date, measured and estimated wind, tornado tracks, NWS warnings, damage surveys, NOAA and FEMA records, with a confidence rating and the evidence for each day.

Five PDFs per report

Hail Verification and Wind Verification for adjusters, a Date of Loss analysis, the full Weather History, and a plain-English Homeowner Storm Summary. Branded with your profiles, like your roof reports.

Fixed data, flexible details

The weather data is captured when you order and never changes. The date of loss, claim number, insured name and notes can change on every download, so one report can be re-issued for a new date of loss.

The JSON also carries a chance-of-roof-damage rating and the parcel boundary and owner of record. Storm Reports in the API reference.

Open beta: the report format and data structure may change. Changes are announced in the changelog first.

Built to integrate

API keys

Generate a key in the dashboard and send it as a bearer token. Separate keys for sandbox and live, revocable any time.

A real sandbox

Test keys run scheduled order timelines against fixed addresses — including the failure cases. Real webhooks, real XML, real PDFs, no charges. Sandbox and live are strictly separated: a test key can never place a real order.

Prepaid balance

Top up once and every order is deducted from it — one number, always current. Turn on auto-recharge and it tops itself up before it runs dry.

Place an order

curl -X POST https://api.roofquery.com/api/v1/reports/orders \
  -H "Authorization: Bearer rq_live_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "street": "6515 Turnbridge Pl",
    "city": "Prospect",
    "state": "KY",
    "postalCode": "40059",
    "country": "US",
    "latitude": 38.352639,
    "longitude": -85.620805,
    "reportType": "residential",
    "scope": "all_structures"
  }'

You get a 201 with the order back immediately, then webhooks as it moves through to completed with the PDF, XML and Xactimate .esx links attached. Canadian addresses work the same way — send "country": "CA" with a province code and postal code.

Pricing

Residential

$13/ report
  • Houses and small multi-family
  • Typically ready in ~2 hours
  • All structures on the property
  • XML, white-labeled PDF and Xactimate .esx
  • Free revisions

Commercial

$35/ report
  • Larger and more complex roofs
  • Typically ready in ~8 hours
  • All structures on the property
  • XML, white-labeled PDF and Xactimate .esx
  • Free revisions

Storm report Open beta

$3/ report
  • Hail, wind and tornado history, five years
  • Returned instantly, in the response
  • Free when nothing is found within 5 miles
  • JSON and five white-labeled PDFs
  • US and Canada

No subscription, no minimum volume, no per-seat cost. You pay for reports you order — sandbox orders are always free.

Common questions

Where do you cover?

The United States and Canada. All 50 states — send a 2-letter state code and a 5-digit ZIP, with ZIP+4 accepted — and every Canadian province and territory, with a 2-letter province code and a postal code in A1A 1A1 form. Set country to US or CA on the order and the rest of the request is identical.

How long does a report take?

Residential reports are typically ready in about 2 hours and commercial in about 8. You'll get a webhook the moment one is ready rather than having to poll for it.

What if the report is wrong?

Once a report has been delivered you can open a revision from the API or the dashboard, describe what's off, and we'll correct it. Revisions are free — one open at a time per report, and the report you already have stays available while we work on it.

What if a property can't be measured?

The order is rejected and the cost is refunded as account credit. You never pay for a report that couldn't be produced.

Am I charged per order?

No. Your card is charged when you top up your balance; orders draw against that balance. Auto-recharge can keep it topped up so orders never fail for want of credit.

Do you have hail and storm history reports?

Yes. A storm report costs $3 and comes back in about two seconds with five years of hail, wind and tornado history at and around the address, a chance-of-roof-damage rating and five branded PDFs. If no storm of any kind was recorded within 5 miles, it's free.

Can I test without spending anything?

Yes. Generate a sandbox key and order against the published test addresses. You'll get real webhooks, real XML and real PDFs, with no balance drawn.

Can I put my own branding on the reports?

Yes. Set your logo, colors and contact details once, or save a brand profile per customer with their own logo and name it on the download link. A small RoofQuery watermark stays in the footer.

Start with sandbox

Build the whole integration before you spend anything. Questions? [email protected]