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.

OpenAPI 3.1 description

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-tabAsphalt 3-Tab Shingle
  • asphalt-architecturalAsphalt Architectural Shingle
  • asphalt-impact-resistantAsphalt Impact-Resistant Shingle
  • metal-standing-seamMetal Standing Seam
  • metal-corrugatedMetal Corrugated Panel
  • clay-tileClay Tile
  • concrete-tileConcrete Tile
  • flat-membraneFlat / Membrane Roofing
  • slate-naturalNatural Slate
  • slate-syntheticSynthetic Slate
  • wood-shakesWood 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.