splitforms.com
← Back to the journal

Best Quote-Request Form for Contractors and Trades (2026)

The best quote-request and estimate forms for contractor and trades websites in 2026 — job-type fields, photo uploads, instant lead alerts, and the cheapest…

Start free — 500 submissions/moSee pricing →No credit card. Paid plans from $5/mo.

What a trades quote form needs

A contractor's website form has one job: turn a homeowner with a problem into a quotable lead, fast, with enough detail (and ideally photos) that your first reply can be specific. Two things make or break it — capturing photos, and alerting you immediately. A quote request that sits unseen for half a day is a job your competitor booked.

The fields that scope a job without overwhelming a phone user:

  • Name + phone + email — phone first; trades customers expect a call.
  • Job type — a dropdown (roofing, plumbing, electrical, HVAC, remodel, etc.).
  • Address / service area — for travel and scheduling.
  • Timeline — emergency, this week, planning ahead.
  • Description + photos — the photos are the difference between a guess and a quote.

Photos and speed win the job

Photo uploads turn a vague "need a quote" into something you can price from your truck. A homeowner who attaches three photos of a failing water heater has handed you most of the estimate. Use a form backend that supports file uploads so photos attach directly to the request — no separate texts to chase.

Then make the alert instant. splitforms delivers via dedicated SMTP and signed webhooks, so a new quote request can ping your phone within minutes wherever you are:

  • Photo uploads included — attach images right on the request.
  • Instant alerts — text-style notifications so you respond first.
  • Spam filtering — keeps junk out of your lead queue.
  • Free up to 500 requests/month — no field-service subscription required for the form.

Copy-paste quote-request form (with photo upload)

Paste into your site and swap YOUR_ACCESS_KEY for the one from your free splitforms account. The file input lets homeowners attach photos of the job.

<form action="https://splitforms.com/api/submit" method="POST" enctype="multipart/form-data">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
  <input type="hidden" name="subject"    value="New quote request" />

  <label>Name<input type="text" name="name" required /></label>
  <label>Phone<input type="tel" name="phone" required /></label>
  <label>Email<input type="email" name="email" required /></label>

  <label>Job type
    <select name="job_type" required>
      <option>Roofing</option>
      <option>Plumbing</option>
      <option>Electrical</option>
      <option>HVAC</option>
      <option>Remodel / renovation</option>
      <option>Other</option>
    </select>
  </label>

  <label>Property address / service area
    <input type="text" name="address" required />
  </label>

  <label>How soon?
    <select name="timeline" required>
      <option>Emergency / ASAP</option>
      <option>This week</option>
      <option>Within a month</option>
      <option>Planning ahead</option>
    </select>
  </label>

  <label>Describe the job
    <textarea name="description" rows="4" required></textarea>
  </label>

  <label>Photos of the job (recommended)
    <input type="file" name="photos" accept="image/*" multiple />
  </label>

  <!-- honeypot -->
  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off" />

  <button type="submit">Get my quote</button>
</form>

Get pinged the second a request lands: Telegram alerts. Track every lead with form to Google Sheets. More on attachments: add file uploads to any form.

Mistakes that lose trades leads

  • No photo upload. Without photos every lead needs a site visit before you can even quote. Let them attach images.
  • Slow response. Home-services customers call several contractors; the first reply often wins. Alert yourself instantly.
  • Only a phone number on the site. Add a form so after-hours leads are captured, not lost to voicemail.
  • Untested delivery. Submit your own form and confirm it lands. Contact form not working.

What to do next

FAQ

What should a contractor's quote-request form ask?

Enough to scope and prioritize the job: name, phone, email, job type (roofing, plumbing, electrical, remodel, etc.), property address or service area, timeline/urgency, a description, and — critically — photo uploads. A photo of the leaking pipe or the roof section turns a vague inquiry into a near-quotable lead and cuts a site visit's worth of back-and-forth. Keep it short; trades customers fill these out on a phone.

Why are photo uploads so important for trades leads?

Because a picture lets you ballpark the job before you drive out. A homeowner who attaches three photos of a bathroom remodel or a failing water heater has given you most of what you need to respond with a realistic range and qualify the lead. Use a form backend that supports file uploads so customers can attach photos directly to the request instead of a separate text message.

How do I beat competitors to the lead?

Speed wins home-services jobs — the first contractor to respond often books the work. Wire an instant alert to your phone (text-style via Telegram, or a push-notified channel) so a quote request reaches you within minutes, even on a job site. splitforms delivers via dedicated SMTP plus signed webhooks, so you can route alerts to wherever you'll see them fastest.

Do I need expensive field-service software for the website form?

No. Field-service platforms (Jobber, Housecall Pro, ServiceTitan) are worth it for scheduling, dispatch, and invoicing once you're running crews. But the website quote-request form itself doesn't require one — a hosted form backend captures the lead, attaches the photos, and alerts you instantly for free up to 500/month. Forward qualified jobs into your field-service tool from there.

Will this work on my existing contractor website?

Yes. Whether your site is WordPress, Wix, GoDaddy, or a custom build, you can embed an HTML form pointed at a backend endpoint — no plugin or upgrade. Paste the form, set where alerts go, and quote requests (with photos) start arriving.

Related articles

More practical guidance from guides.

Browse the journal →
Guides

Elementor Form Not Sending Email? 5 Fixes That Work (2026)

Why Elementor form notifications never arrive: the wp_mail root cause, how to confirm it in

8 min readRead →
Guides

Why mailto: Doesn't Work as a Form Action (and What Converts 3–10× Better)

Using action="mailto:you@example.com" opens the visitor's mail app instead of sending anythi

6 min readRead →
Guides

Why Your Form Works in Preview but Not on the Live Site

Form submits perfectly in your builder's preview but fails in production? The usual causes:

7 min readRead →

Explore this topic

Start with the overview, then move into focused guides.

OverviewContact Forms for Every FrameworkStart here →GuideContact Form for Next.jsRead →GuideContact Form for ReactRead →GuideContact Form for VueRead →ReferenceContact form guideOpen →

Building forms with ChatGPT, Claude, Cursor, or v0? Connect the native MCP server and give your agent a production form backend.

Explore the MCP server →

Give your form a production backend.

One endpoint adds delivery, spam filtering, storage, and integrations. Start with 500 submissions a month for free.

Create free accountRead the docs →
Secure checkoutSSL encryptionPrivacyProtected
VISAAMERICANEXPRESSstripe