Developer documentation
Roof Quote Checker Connector
A read-only service for U.S. roof replacement cost planning and written quote-scope review. It does not submit leads, contact contractors, inspect roofs, or issue binding bids.
Endpoint and access
POST /api/connector/roof-quote-check/v1
Send JSON with a server-to-server bearer key. Access is arranged with Roof Cost Data for approved integrations. No homeowner account is needed. The request body limit is 8 KiB.
Structured input
Supply city and state, roof-surface area, material ID, quoted USD total, and tear-off status when known. Set roofAreaBasis to roof_surface only when the area describes the roof surface. Home floor area and unknown area cannot produce a numeric comparison. Set needsTearOffto true when the modeled work includes old-roof removal, false when it does not, or null when unknown.
{
"location": { "city": "Dallas", "state": "TX" },
"roofAreaSqFt": 2200,
"roofAreaBasis": "roof_surface",
"materialId": "asphalt-architectural",
"quotedTotalUsd": 18500,
"needsTearOff": true,
"scope": {
"tearOffAndDisposal": "included",
"flashing": "unclear",
"deckingAllowance": "not_found"
}
}Supported material IDs:
asphalt-3-tab— Asphalt 3-Tab Shingleasphalt-architectural— Asphalt Architectural Shingleasphalt-impact-resistant— Asphalt Impact-Resistant Shinglemetal-standing-seam— Metal Standing Seammetal-corrugated— Metal Corrugated Panelclay-tile— Clay Tileconcrete-tile— Concrete Tileflat-membrane— Flat / Membrane Roofingslate-natural— Natural Slateslate-synthetic— Synthetic Slatewood-shakes— Wood Shakes
The scope object may use:
measuredRoofArea, materialSystem, tearOffAndDisposal, underlayment, flashing, ventilation, deckingAllowance, permitsAndInspection, cleanup, paymentSchedule, workmanshipWarranty, changeOrders
Each scope value is included, excluded, unclear, not_found, or not_reviewed. Use not_found only after reviewing the supplied quote material. It means the item was not found there; it does not prove the contractor omitted it from every document. Omitted scope keys default to not_reviewed.
Result
The JSON response provides a modeled USD planning range, model date, market and material assumptions, a qualified price comparison, scope findings, and questions to ask the contractor. A national fallback is labeled and does not receive a local price-position judgment. A quote above or below a planning range requires written-scope review before any decision.
Possible errors include 400 for invalid JSON or fields, 401 for an invalid key, 413 for an oversized request, 415 for a non-JSON request, and 503 when the service is not configured.
Data handling and limits
Send structured project facts only. Do not send documents, free-form quote text, homeowner contact details, or payment information. Roof Cost Data does not intentionally store the quote details sent to this endpoint or route them to its contractor lead service.
See the cost methodology, privacy policy, and terms of service. For access or support, email support@roofcostdata.com.