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. 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. 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.

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

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.

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 pass them on individual downloads to brand a report for one of your own customers. A small RoofQuery watermark stays in the footer.

Start with sandbox

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