Skip to proposal form
Trusted by 300+ Northeast Florida homes · BBB A Rating · More than a century of combined expertise

Request Your Proposal.

A quiet, considered conversation about your property.

Step 1 of 7 What you need
What do you need?

Choose one or more. We'll tailor the proposal to fit.

Your property.

Rough numbers are fine — we confirm on the walk-through.

We serve St. Johns, Duval, and Nassau counties — all of Northeast Florida. An address helps us route the right crew.
Property type
Pick the option that fits best.
Home size
Approximate square footage helps us quote accurately.
Stories
Service specifics.

A few details so our scope matches your property exactly.

Bundle & save.

Pair services and you lock in a better rate — no commitment required to see the numbers.

Recommended bundles

Pick any that fit — or skip. Your proposal shows both a la carte and bundled pricing.

Membership plans

A plan that fits your rhythm.

Plan members get priority scheduling, same-team guarantee, and exclusive rates. Pick any that catches your eye.

Optional add-ons

Bolt-on services the crew can include on the same visit.

Timing.

When would you like this handled? We'll work backwards from your target.

When do you need this?
A rough target helps us route the right crew.
Preferred day
Preferred time window
One-time or recurring?
Recurring clients get priority booking and our best pricing — we'll confirm the cadence during your walk-through.
How we'll reach you.

An owner reads every request personally and replies within the hour during business hours.

First name, please.
Last name, please.
A valid email helps us send your proposal.
A 10-digit phone number, please.
Best way to reach you
You are…

We never share your info. Expect a reply within the hour during business hours (Mon–Sat 7 AM – 6 PM ET). Call us anytime at (904) 466-1622.

Review & submit.

Confirm your details. Edit anything before sending.

By submitting, you agree to receive a proposal from First Coast Property Experts. No contract until you approve one. View our privacy policy.

Thank You.

Your request is in our hands. We'll respond within the hour with a walk-through time and initial brackets.

Watch for an email from us with your portal access link.

01
We Review

An owner reads your request personally and pulls the relevant brackets.

02
Concierge Call or Site Visit

A brief conversation — or a walk-through when the property calls for it.

03
Written Proposal in Your Portal

Clean numbers, clear scope, your approval in one click.

The Gold Standard, Every Time.

BBB A Rating · St. Johns · Duval · Nassau

Continue Reading

From Our Field Notes.

Every post is written by the crew that does the work — not a copywriter working from a brief. Here’s what we’re seeing on estates this season.

Start Your Estimate

— The Gold Standard, Every Time.

(function () { 'use strict'; var CONFIG = { mainNumber: '9044661622', mainFormatted: '(904) 466-1622', numberMap: { google_ads: { tel: '9045786367', display: '(904) 578-6367' }, google_organic: { tel: '9043528390', display: '(904) 352-8390' }, facebook_ads: { tel: '9046649709', display: '(904) 664-9709' }, facebook_organic: { tel: '9046649709', display: '(904) 664-9709' }, nextdoor: { tel: '9044686416', display: '(904) 468-6416' }, yelp: { tel: '9048678667', display: '(904) 867-8667' }, bing: { tel: '9044661622', display: '(904) 466-1622' }, referral: { tel: '9045872009', display: '(904) 587-2009' }, direct: { tel: '9044661622', display: '(904) 466-1622' }, other: { tel: '9044661622', display: '(904) 466-1622' } }, cookieName: 'fcpe_dni_source', cookieDays: 30, textPatterns: [ '(904) 466-1622', '904-466-1622', '904.466.1622', '904 466 1622', '9044661622', '(904) 569-5582', '904-569-5582', '904.569.5582', '904 569 5582', '9045695582' ], telPatterns: [ 'tel:+19044661622', 'tel:19044661622', 'tel:9044661622', 'tel:+1-904-466-1622', 'tel:904-466-1622', 'tel:+19045695582', 'tel:19045695582', 'tel:9045695582', 'tel:+1-904-569-5582', 'tel:904-569-5582' ] }; var params = new URLSearchParams(window.location.search); var debug = params.get('dni_debug') === '1'; function log() { if (debug) { var args = ['[FCPE-DNI]'].concat(Array.prototype.slice.call(arguments)); console.log.apply(console, args); } } function setCookie(name, value, days) { var d = new Date(); d.setTime(d.getTime() + days * 86400000); document.cookie = name + '=' + encodeURIComponent(value) + ';expires=' + d.toUTCString() + ';path=/;SameSite=Lax'; } function getCookie(name) { var pairs = document.cookie.split('; '); for (var i = 0; i < pairs.length; i++) { var idx = pairs[i].indexOf('='); if (idx !== -1 && pairs[i].substring(0, idx) === name) { return decodeURIComponent(pairs[i].substring(idx + 1)); } } return null; } function detectSource() { var referrer = document.referrer || ''; var host = window.location.hostname; if (params.get('gclid')) return 'google_ads'; if (params.get('fbclid')) return 'facebook_ads'; var utmSource = (params.get('utm_source') || '').toLowerCase(); if (utmSource === 'nextdoor') return 'nextdoor'; if (utmSource === 'yelp') return 'yelp'; if (referrer) { try { var refHost = new URL(referrer).hostname.toLowerCase(); if (refHost.indexOf('google.') !== -1) return 'google_organic'; if (refHost.indexOf('facebook.') !== -1 || refHost.indexOf('fb.') !== -1) return 'facebook_organic'; if (refHost.indexOf('instagram.') !== -1) return 'facebook_organic'; if (refHost.indexOf('bing.') !== -1) return 'bing'; if (refHost.indexOf('nextdoor.') !== -1) return 'nextdoor'; if (refHost.indexOf('yelp.') !== -1) return 'yelp'; if (refHost === host || refHost.indexOf(host) !== -1) return 'direct'; return 'referral'; } catch (e) {} } return 'direct'; } function resolveSource() { var existing = getCookie(CONFIG.cookieName); if (existing && CONFIG.numberMap[existing]) { log('Source from cookie:', existing); return existing; } var detected = detectSource(); log('Source detected:', detected); setCookie(CONFIG.cookieName, detected, CONFIG.cookieDays); return detected; } /* Phone swap re-enabled 2026-04-21 after Twilio DNI cutover. */ function replaceInTextNodes(root, mapping) { var walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, null, false); var node, count = 0; while ((node = walker.nextNode())) { var text = node.nodeValue; if (!text) continue; var replaced = text; for (var i = 0; i < CONFIG.textPatterns.length; i++) { if (replaced.indexOf(CONFIG.textPatterns[i]) !== -1) { replaced = replaced.split(CONFIG.textPatterns[i]).join(mapping.display); } } if (replaced !== text) { node.nodeValue = replaced; count++; } } return count; } function replaceTelLinks(mapping) { var links = document.querySelectorAll('a[href^="tel:"]'); var count = 0; for (var i = 0; i < links.length; i++) { var href = links[i].getAttribute('href').toLowerCase(); var isMatch = false; for (var j = 0; j < CONFIG.telPatterns.length; j++) { if (href === CONFIG.telPatterns[j]) { isMatch = true; break; } } if (!isMatch && (href.indexOf(CONFIG.mainNumber) !== -1 || href.indexOf('9045695582') !== -1)) isMatch = true; if (isMatch) { links[i].setAttribute('href', 'tel:+1' + mapping.tel); count++; } } return count; } function pushToDataLayer(source, mapping) { window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'fcpe_dni_source', fcpe_dni_source: source, fcpe_dni_number: mapping.display }); log('dataLayer push:', source, mapping.display); } function init() { log('Initializing...'); var source = resolveSource(); var mapping = CONFIG.numberMap[source] || CONFIG.numberMap['other']; var textCount = replaceInTextNodes(document.body, mapping); var linkCount = replaceTelLinks(mapping); log('Source:', source, '| text swaps:', textCount, '| link swaps:', linkCount); pushToDataLayer(source, mapping); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })();
HOA-Ready Service. HOA-conscious scheduling and arrival protocols are standard practice in the communities we serve. We coordinate around community access requirements, contractor parking rules, and arrival windows before the first visit. Communicate your community’s specific requirements at booking and we will confirm them before we arrive.