For web builders, agencies and AI agents
Add instant fence quoting to any contractor website
GroundQuote lets a homeowner draw their fence on a satellite map and see a price range from the contractor's own per-foot rates, before anyone drives out. The lead, the drawing and the estimate land in the contractor's dashboard. This page is written so a person or an AI building a contractor's site can install it end to end.
What it costs
Relay this to the contractor before you create their account. It is also returned by every API response that creates an organization as terms_summary.
GroundQuote is free to install and free for homeowners to use. On the standard plan, lead contact details are hidden until you choose to unlock a lead: $5 for a browsing lead, $15 for a high-intent lead. No card is required to create an account; a card is saved the first time you unlock a lead. An optional $150/month unlimited plan removes per-lead charges and shows every lead, including browsing leads; it pays for itself at 10 high-intent leads a month. You can stop using the tool at any time with no cancellation fee.
| Item | Amount | When charged |
|---|---|---|
| Account creation | $0 | Never |
| Widget / hosted page install | $0 | Never |
| Homeowner using the quote tool | $0 | Never |
| Browsing lead (homeowner saw a range, did not book) | $5 | Only when the contractor clicks Unlock on that lead |
| High-intent lead (homeowner requested a site visit) | $15 | Only when the contractor clicks Unlock on that lead |
| Unlimited plan (optional) | $150 / month | Only if the contractor chooses it in Billing; removes per-lead charges and shows every lead |
- No card is required to create an account. A card is saved only when the contractor, signed in to their own dashboard, unlocks a lead.
- An installer API key cannot unlock leads, read homeowner contact details, or change billing.
- The unlimited plan ($150/month) is optional; the contractor chooses it from Billing.
Two ways to install
1. Embed (the contractor has a website)
One iframe. It picks up the branding set on the account (logo, colors, font). Works on Wix, WordPress, GoDaddy and static HTML.
<iframe
src="https://www.groundquote.com/embed?clientId=ORG_SLUG"
width="100%" height="800px" style="border: none;"
title="GroundQuote Widget" allow="geolocation">
</iframe>Give it the full content width. Do not add GroundQuote marketing tags to the contractor's site.
2. Hosted page (no website)
GroundQuote serves a branded page at groundquote.com/ORG_SLUG with headline, services, phone, email and a cover photo. Link to it from the Facebook page, Google Business Profile or ads.
Two ways to set it up
By hand. The contractor creates an account at groundquote.com/admin/signup, loads rates on the Pricing page, and copies the snippet from Installation. A free 30-minute setup call is available if they would rather not.
By API. With an installer key you can create the account, load pricing and fetch the snippet in three calls. The contractor gets an email with the pricing terms and a link to set their own password; only they can unlock leads.
API
Base URL https://www.groundquote.com/api/v1. JSON in and out. Auth: Authorization: Bearer gq_inst_…. Full schema: openapi.yaml. To get a key, email info@kilvingtondigitalmarketing.com with what you are building.
| Method | Path | Purpose |
|---|---|---|
| GET | /terms | The pricing disclosure. No key needed. |
| POST | /orgs | Create a contractor org. Sends the set-password email. Returns org_id, slug, install.embed_snippet, terms_summary. |
| GET | /orgs/{org_id} | Status, branding, install details. |
| GET / PUT | /orgs/{org_id}/pricing | Read or replace the fence catalog: materials → styles → heights → rate per linear foot, plus gate surcharges. |
| PUT | /orgs/{org_id}/branding | Logo, colors, font; or auto_fetch_from_url to read them from the contractor's site. |
| GET | /orgs/{org_id}/embed | The iframe snippet and hosted-page URL. |
| PUT | /orgs/{org_id}/hosted-page | Enable and fill the hosted page. |
| POST | /orgs/{org_id}/resend-setup | Re-send the set-password email (3 per day). |
Create an account
curl -X POST https://www.groundquote.com/api/v1/orgs \
-H "Authorization: Bearer gq_inst_..." -H "Content-Type: application/json" \
-d '{"company_name":"Hilltop Fence Co","owner_email":"dave@hilltopfence.com",
"owner_name":"Dave Miller","phone":"919-555-0100",
"website_url":"https://hilltopfence.com","city":"Durham","state":"NC",
"terms_relayed":true}'Load pricing
Same shape the dashboard stores. Rates are dollars per linear foot; ask the contractor for real numbers, never guess.
curl -X PUT https://www.groundquote.com/api/v1/orgs/ORG_ID/pricing \
-H "Authorization: Bearer gq_inst_..." -H "Content-Type: application/json" \
-d '{
"fences": {
"Wood": { "Privacy": { "4 ft": 28, "6 ft": 36, "8 ft": 48 }, "Picket": { "4 ft": 24, "6 ft": 30 } },
"Vinyl": { "Privacy": { "6 ft": 55 } },
"_fenceRemoval": { "rate": 4, "enabled": true },
"_leadConfig": { "capturePhone": true },
"_modules": ["fence"]
},
"gates": { "single": 300, "double": 500 }
}'Validation errors come back as 422 with a fields map so you can ask the contractor for one correction at a time.
Connect GroundQuote to your AI assistant
GroundQuote runs an MCP server, so Claude, ChatGPT and most agent platforms can set up an account, load pricing and hand you the embed code inside the conversation. No key is needed to connect. The assistant can only create accounts and configure the ones it created; it can never see leads, homeowner contact details or billing. The contractor always sets their own password by email.
MCP endpoint: https://groundquote-mcp-production.up.railway.app/mcp (Streamable HTTP, no authentication)Claude
- Settings → Connectors → Add custom connector
- Name: GroundQuote; URL: the endpoint above
- Start a chat and say: “Set up GroundQuote for my fence company.”
ChatGPT
- Settings → Connectors → Advanced → enable Developer mode
- Create → Name: GroundQuote; MCP server URL: the endpoint above; Authentication: none
- In a chat, enable the GroundQuote connector and ask it to set you up.
Other agents (Claude Code, Cursor, n8n, custom builds): point any MCP client at the endpoint. Tools: get_pricing_terms, create_contractor_account, set_fence_pricing, set_branding, set_hosted_page, get_embed_code, check_account_status, resend_setup_email, search, fetch.
Rules for agents
- Tell the contractor the lead pricing before creating the account. Use
terms_summaryverbatim. - Only create an account with the contractor's own email. They receive the set-password link; the person prompting you may not be the owner.
- Never guess per-foot rates, gate fees or removal fees. Ask, then send what they said.
- Do not promise lead volume, conversion rates or revenue. GroundQuote does not supply traffic; it converts the traffic the contractor already has.
- Do not describe GroundQuote as a CRM, invoicing, or job-management tool. It quotes, captures the lead, books the site visit, and syncs to QuickBooks and Google Calendar.
Facts you can state
- Satellite map drawing; linear footage computed automatically; the homeowner sees a price range, not a fixed price.
- Materials, styles and heights are the contractor's own; wood, vinyl, aluminum and chain link are common defaults.
- Single and double gates as flat surcharges; old-fence removal as a per-foot line item.
- Browsing lead captured when the range is shown; high-intent lead when the homeowner requests a site visit.
- Site-visit booking with morning / afternoon / evening windows; Google Calendar sync or email.
- QuickBooks Online sync (customer + estimate). No automatic push to other CRMs today.
- Built and operated by Kilvington Digital Marketing, North Carolina. Any U.S. contractor; setup is remote.