Instant Roofer MCP

    Data and privacy
    Instant Roofer MCP overview
    Connect your assistant
    Permissions and costs
    Tool reference
    Reading a measurement
    CRM webhooks
Machine-readable: llms.txt

Reading a measurement

Only the fields below are returned in measurements; anything else the pipeline computes stays server-side.

FieldMeaning
measurements.sqft.aerialBuilding footprint in square feet, before pitch is applied.
measurements.sqft.measuredFootprint after applying the facet pitch mix: the whole roof, every pitch (Total Roof Area).
measurements.sqft.shingleThe part of sqft.measured at 2/12 pitch or steeper, where asphalt shingles can go. 0 when the whole roof is low slope. Absent on records measured before 2026-10 (then equal to sqft.measured).
measurements.sqft.flatThe report's Total Flat Roof Area: the part of sqft.measured at 1/12 pitch or flatter, the complement of sqft.shingle. Not added to sqft.suggested / squares because asphalt shingles should not go on it. Absent when the roof has no pitch information and on records measured before 2026-10.
measurements.sqft.suggestedRecommended material square footage: sqft.shingle (or sqft.measured when shingle is 0 or absent) plus the recommended waste. Order against this.
measurements.squaressqft.suggested in roofing squares (100 sq ft), quantized to the nearest third of a square (one bundle).
measurements.pitchPredominant pitch as rise/12, e.g. 6/12.
measurements.complexity0 Low, 1 Moderate, 2 High, 3 Extreme. Mostly driven by hips and expected waste.
measurements.wastePercentRecommended waste factor in percent, already applied to sqft.suggested on top of the waste base (sqft.shingle, else sqft.measured). Absent on records measured before 2026-09-14.
measurements.perimeterFootprint perimeter in feet.
measurements.facetsNumber of roof facets detected.
measurements.storiesEstimated story count (beta).
measurements.storiesConfidence0–100 confidence in the story count; absent when it came from a heuristic.
measurements.storiesSourceHow the story count was produced (model, heuristic, ...).
measurements.averageRoofHeightAverage roof height in feet above ground.
measurements.lowestAverageRoofHeightAverage eave-level height in feet above ground.
measurements.highestAverageRoofHeightAverage ridge-level height in feet above ground.
measurements.roofHeightConfidence0–100 confidence in the roof heights.
measurements.roofHeightSourcelidar, google_solar, or google_dsm.
measurements.eaveLengthFtTotal eave length in feet (beta, LiDAR only).
measurements.eaveLengthBandhigh, medium, or low agreement across the edge models.
measurements.ridgeLengthFtTotal ridge length in feet (beta).
measurements.ridgeLengthBandAgreement band for the ridge length.
measurements.valleyLengthFtTotal valley length in feet (beta).
measurements.valleyLengthBandAgreement band for the valley length.
measurements.rakeLengthFtTotal rake length in feet (beta).
measurements.rakeLengthBandAgreement band for the rake length.
measurements.hipLengthFtTotal hip length in feet (beta).
measurements.hipLengthBandAgreement band for the hip length.
measurements.headwallLengthFtTotal headwall flashing length in feet (beta).
measurements.headwallLengthBandAgreement band for the headwall length.
measurements.sidewallLengthFtTotal sidewall flashing length in feet (beta).
measurements.sidewallLengthBandAgreement band for the sidewall length.
confidence.displayAI Measurement Confidence, the band the report shows: High when the area model expects to miss the building footprint by 6% or less, Medium up to 8.7%, Low above that. Review Low results carefully before bidding.
attachedUnitsPresent for townhomes. measurements are for the single attached unit at the pin (pinUnitLabel), one of unitCount units; structureFootprintSqft is the whole structure's footprint. Say so when quoting — the numbers are not the whole building's.
entitlementfull or freemium. Freemium accounts receive only the teaser fields; lockedMeasurementFields lists what was withheld and upgradeUrl is where AI Tools is activated.

The outline image confirms which building was measured. It is not an indicator of measurement accuracy; use confidence.display for that.

A fresh measure_roof result may carry warnings: the measured footprint (sqft.aerial) disagreeing by more than 15% with the building footprint detected when the location was confirmed (part of the roof may have been missed, or a neighbour included - check the outline image and re-measure from confirm_building_location if so), or the address resolving to a US look-alike of a place abroad. Relay them before quoting the numbers.

Location verification

Results that depend on a property location carry locationVerification:

ValueMeaning
map_confirmedA person confirmed (or moved) the pin on the satellite map for this request.
previously_confirmedThe pin came from a building someone already confirmed: a customer job or lead's confirmed building, or a recent successful measurement.
unverified_acceptedThe geocoded pin was used as previewed after the user saw the geocoding warning.

confirm_building_location and the first order_human_certified_report call return a locationToken, a confirmUrl, footprintDistanceFeet (pin to the nearest detected building), and lowConfidence with confidenceReasons when the geocode looks doubtful.

Human-Certified Measure Reports return measurements with squares, roofAreaSqft, flatRoofAreaSqft (the report's Total Flat Roof Area: facets at 1/12 pitch or flatter, left out of the squares; absent on reports delivered before October 2026), totalAreaWithWasteSqft, predominantPitch, edge lengths in feet (ridgesLengthFt, hipsLengthFt, valleysLengthFt, rakesLengthFt, eavesLengthFt, sidewallsLengthFt, headwallsLengthFt, and dripEdgeLengthFt = eaves + rakes) plus a per-facet breakdown (label, areaSqft, pitch, slopeDirection). A length of 0 means the report measured none of that edge type. squares follows the report's Recommended Squares: only facets at the asphalt pitch threshold or steeper count (2/12; reports delivered before October 2026 used 3/12), plus the recommended waste, rounded up to the next bundle, so on roofs with flat sections it is well below roofAreaSqft / 100. measurementsNote on the tool result spells this out for the assistant.