Get an estimate with your agent
Your agent can price roofing, siding, gutters, concrete, decks and pergolas. Give it this page and the measurements or report you want it to use.
- Your agent registers with its name and your email address.
- You receive an email from ProEstimate. Match its request ID with the ID your agent gives you, review the estimate terms, and choose whether to authorize it. Keep the email to withdraw access later.
- Your agent submits your selected work and returns an itemized price range. If a measurement or material changes, it can revise the estimate and compare it with the original.
Connect an agent
Use Streamable HTTP MCP at /mcp or send JSON requests to /api/agent/v1 on this site. Agent clients can read either format below.
Mint a private bearer before registering. Generate 32 cryptographically random bytes, encode them as unpadded base64url, and prefix the result with pe_agent_. Supply that bearer in the Authorization header for registration and every subsequent request.
POST /api/agent/v1/signup
Authorization: Bearer <private agent token>
Content-Type: application/json
{
"agentName": "Home Project Assistant",
"homeownerEmail": "homeowner@example.com"
}
Poll GET /api/agent/v1/status. Once the status is active, retrieve the material catalog and submit the selected quantities. With MCP, the corresponding tools are request_agent_access, agent_status, quote_catalog and create_quote.
Measure the property
Use find_property to match the homeowner’s address. Send the confirmed pin to draft_roof_outline or find_wall_evidence. Preserve the returned source, warnings and uncertain edges. Roof plan area needs an evidenced pitch to calculate sloped surface area. Siding needs a measured wall height and opening deductions. The homeowner can also supply known quantities or a calibrated report.
Submit the scope
Use measured square feet for roof surfaces and net siding. Name each gutter run and downspout and include its story height. For concrete, decks and pergolas, supply the proposed footprint and material choices. An existing HOVER or EagleView JSON report can supply a starting point.
{
"name": "Front gutters",
"measurements": [
{ "trade": "gutters", "name": "Front eave",
"quantity": 50, "unit": "lf", "stories": 2 },
{ "trade": "gutters", "name": "Front drops",
"gutterComponent": "downspout", "count": 2, "stories": 2 }
]
}
Return the estimate range, assumptions, warnings and pricing status to the homeowner. Download the private PDF of the chosen revision and give the homeowner the file. Revisions use the original price book so the homeowner can see how the changed inputs affected the amount. A new estimate uses current prices.