{"id":240,"date":"2026-09-18T02:06:43","date_gmt":"2026-09-18T06:06:43","guid":{"rendered":"https:\/\/passcontractorexam.com\/articles\/?p=240"},"modified":"2026-09-25T09:42:29","modified_gmt":"2026-09-25T13:42:29","slug":"florida-contractor-exam-prep","status":"publish","type":"post","link":"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-prep\/","title":{"rendered":"Florida Contractor Exam Prep: Course or Self Study, Priced"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Florida contractor exam prep runs from about $400 for a course with no books to $4,749 for a full classroom package, against roughly $1,695 to buy the general contractor book set outright. A course buys tabbed books, structure and a deadline. It cannot buy the reading hours, and no provider can promise you a pass.<\/strong><\/p>\n\n\n\n<div class=\"msq-audio\" data-article=\"florida-contractor-exam-prep\" data-minutes=\"10\">\n<style>.msq-audio{margin:1.25em 0 1.75em;padding:16px 18px;background:#F3F1EC;border:1px solid #D9D3C7;border-radius:12px}\n.msq-audio-lead{margin:0 0 8px;font-size:.95em}.msq-audio audio{width:100%;margin:0 0 12px;display:block}\n.msq-toc-title{margin:0 0 6px;font-weight:700}.msq-toc ol{margin:0;padding:0;list-style:none}\n.msq-toc li{display:flex;gap:10px;align-items:center;padding:6px 6px;border-bottom:1px solid #D9D3C7;border-radius:8px}\n.msq-toc li:last-child{border-bottom:0}.msq-toc li.is-active{background:#fff}\n.msq-toc-play{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:0;background:#24405E;color:#fff;font:inherit;font-size:.72em;line-height:30px;padding:0;cursor:pointer}\n.msq-toc-play.is-playing{background:#C4540E}\n.msq-toc-time{flex:0 0 auto;min-width:3.1em;font-variant-numeric:tabular-nums;color:#4C5561;font-size:.9em}\n.msq-toc a{color:#1B1F24;text-decoration:none;line-height:1.35}.msq-toc li.is-active a{font-weight:700;color:#24405E}\n.msq-audio-note{margin:10px 0 0;font-size:.82em;color:#4C5561}\nh2.wp-block-heading[id]{scroll-margin-top:24px}\n.msq-hplay{display:inline-block;vertical-align:middle;width:26px;height:26px;margin:0 0 0 10px;border-radius:50%;border:0;background:#24405E;cursor:pointer;padding:0;position:relative;top:-2px}\n.msq-hplay::before{content:'\u25b6\ufe0e';display:block;color:#fff;font-size:11px;line-height:26px;text-align:center}\n.msq-hplay.is-playing{background:#C4540E}.msq-hplay.is-playing::before{content:'\u2016';font-size:13px;font-weight:700}\n.msq-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;align-items:center;gap:10px;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:1px solid #D9D3C7;box-shadow:0 -4px 16px rgba(0,0,0,.08);font-size:.92em;color:#1B1F24;transition:transform .2s ease}\n.msq-bar.is-hidden{transform:translateY(130%)}\n.msq-bar-play{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:#24405E;color:#fff;font:inherit;font-weight:700;padding:8px 14px 8px 12px;cursor:pointer;white-space:nowrap}\n.msq-bar-play.is-playing{background:#C4540E}\n.msq-bar-icon::before{content:'\u25b6\ufe0e';font-size:12px}.msq-bar-play.is-playing .msq-bar-icon::before{content:'\u2016';font-size:14px;font-weight:700}\n.msq-bar-chapter{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.msq-bar-time{flex:0 0 auto;font-variant-numeric:tabular-nums;color:#4C5561;font-size:.9em}\n.msq-bar-rate,.msq-bar-close{flex:0 0 auto;border:1px solid #D9D3C7;background:#fff;color:#1B1F24;font:inherit;font-size:.85em;line-height:1;border-radius:8px;padding:7px 9px;cursor:pointer}\n.msq-bar-close::before{content:'\u2715'}\n.msq-bar.msq-bar-pill{left:auto;right:14px;bottom:14px;padding:6px;padding-bottom:6px;border:1px solid #D9D3C7;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.15)}\n.msq-bar.msq-bar-pill .msq-bar-chapter,.msq-bar.msq-bar-pill .msq-bar-time,.msq-bar.msq-bar-pill .msq-bar-rate{display:none}\nbody.msq-has-bar{padding-bottom:76px}\n@media (max-width:600px){.msq-bar-time{display:none}.msq-bar{gap:8px;padding-left:10px;padding-right:10px}}\n.msq-s.msq-now{background:#F3F1EC;box-shadow:0 2px 0 #24405E;border-radius:2px}\ntr.msq-now td,tr.msq-now th{background:#F3F1EC;box-shadow:inset 0 -2px 0 #24405E}\n@media (hover:hover){.msq-s,tr[data-i]{cursor:pointer}.msq-s:hover{background:#F3F1EC}}<\/style>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"AudioObject\",\"@id\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-prep\/#audio\",\"name\":\"Florida Contractor Exam Prep: Course or Self Study, Priced, read aloud\",\"description\":\"Synthetic voice reading of the article, recorded 25 September 2026.\",\"contentUrl\":\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/florida-contractor-exam-prep-audio-202609251911.mp3\",\"encodingFormat\":\"audio\/mpeg\",\"duration\":\"PT10M12S\",\"uploadDate\":\"2026-09-25\",\"inLanguage\":\"en-US\",\"isAccessibleForFree\":true,\"mainEntityOfPage\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-prep\/\",\"hasPart\":[{\"@type\":\"Clip\",\"name\":\"Florida Contractor Exam Prep: Course or Self Study, Priced\",\"startOffset\":0,\"endOffset\":67},{\"@type\":\"Clip\",\"name\":\"What does Florida contractor exam prep cost today?\",\"startOffset\":67,\"endOffset\":257,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-prep\/#what-does-florida-contractor-exam-prep-cost-today\"},{\"@type\":\"Clip\",\"name\":\"What does a course give you that a pile of books does not?\",\"startOffset\":257,\"endOffset\":342,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-prep\/#what-does-a-course-give-you-that-a-pile-of-books-does-not\"},{\"@type\":\"Clip\",\"name\":\"Can you believe the pass rate in the advertising?\",\"startOffset\":342,\"endOffset\":417,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-prep\/#can-you-believe-the-pass-rate-in-the-advertising\"},{\"@type\":\"Clip\",\"name\":\"Is renting the books cheaper than buying them?\",\"startOffset\":417,\"endOffset\":478,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-prep\/#is-renting-the-books-cheaper-than-buying-them\"},{\"@type\":\"Clip\",\"name\":\"What does the state charge, whichever way you study?\",\"startOffset\":478,\"endOffset\":524,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-prep\/#what-does-the-state-charge-whichever-way-you-study\"},{\"@type\":\"Clip\",\"name\":\"So who is a course actually worth it for?\",\"startOffset\":524,\"endOffset\":612,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-prep\/#so-who-is-a-course-actually-worth-it-for\"}],\"contentSize\":\"4.3 MB\"}<\/script>\n<p class=\"msq-audio-lead\"><strong>Listen to this article<\/strong>, about 10 minutes. A synthetic voice reads the article and announces each section title as it begins; tables are read row by row and the questions at the end are left out.<\/p>\n<audio class=\"msq-audio-player\" controls preload=\"metadata\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/florida-contractor-exam-prep-audio-202609251911.mp3\"><\/audio>\n<nav class=\"msq-toc\" aria-label=\"In this article\"><p class=\"msq-toc-title\">In this article<\/p>\n<ol>\n<li data-start=\"0.0\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"0.0\" aria-label=\"Play from: Florida Contractor Exam Prep: Course or Self Study, Priced\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:00<\/span><a href=\"#top\">Florida Contractor Exam Prep: Course or Self Study, Priced<\/a><\/li>\n<li data-start=\"67.18\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"67.18\" aria-label=\"Play from: What does Florida contractor exam prep cost today?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">1:07<\/span><a href=\"#what-does-florida-contractor-exam-prep-cost-today\">What does Florida contractor exam prep cost today?<\/a><\/li>\n<li data-start=\"256.56\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"256.56\" aria-label=\"Play from: What does a course give you that a pile of books does not?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">4:17<\/span><a href=\"#what-does-a-course-give-you-that-a-pile-of-books-does-not\">What does a course give you that a pile of books does not?<\/a><\/li>\n<li data-start=\"342.34\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"342.34\" aria-label=\"Play from: Can you believe the pass rate in the advertising?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">5:42<\/span><a href=\"#can-you-believe-the-pass-rate-in-the-advertising\">Can you believe the pass rate in the advertising?<\/a><\/li>\n<li data-start=\"416.8\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"416.8\" aria-label=\"Play from: Is renting the books cheaper than buying them?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">6:57<\/span><a href=\"#is-renting-the-books-cheaper-than-buying-them\">Is renting the books cheaper than buying them?<\/a><\/li>\n<li data-start=\"477.86\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"477.86\" aria-label=\"Play from: What does the state charge, whichever way you study?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">7:58<\/span><a href=\"#what-does-the-state-charge-whichever-way-you-study\">What does the state charge, whichever way you study?<\/a><\/li>\n<li data-start=\"524.16\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"524.16\" aria-label=\"Play from: So who is a course actually worth it for?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">8:44<\/span><a href=\"#so-who-is-a-course-actually-worth-it-for\">So who is a course actually worth it for?<\/a><\/li>\n<\/ol><\/nav>\n<p class=\"msq-audio-note\">Recorded 25 September 2026 from the article as published that day. Press a chapter to jump there; the highlighted line is what is playing. A play button sits beside every section heading, and once you scroll past this player a bar at the bottom of the screen keeps the controls in reach. Tap or click any sentence to hear the reading start from there.<\/p>\n<script>var MSQ_SENT = [[0.0,\"h\",\"floridacontractorexampre\",48],[4.92,\"p\",\"floridacontractorexampre\",150],[20.4,\"p\",\"acoursebuystabbedbooksst\",43],[23.8,\"p\",\"itcannotbuythereadinghou\",57],[28.76,\"p\",\"onthispageeveryproviders\",228],[47.28,\"p\",\"everypagerankingforthiss\",65],[50.76,\"p\",\"thatisnotaconspiracyitis\",91],[57.16,\"p\",\"soherearethepricesreadfr\",115],[67.18,\"h\",\"whatdoesfloridacontracto\",42],[71.02,\"p\",\"thepackagesarenotcompara\",114],[78.1,\"t\",\"1examprep\",266],[105.18,\"t\",\"1examprep\",150],[121.42,\"t\",\"goldcoastschools\",271],[156.46,\"t\",\"athomeprep\",186],[183.42,\"t\",\"athomeprepcourseonlyprod\",158],[201.02,\"t\",\"theexampros\",203],[225.9,\"t\",\"selfstudy\",164],[244.86,\"p\",\"thatis39999to4749forthes\",99],[256.56,\"h\",\"whatdoesacoursegiveyouth\",45],[260.32,\"p\",\"fourthingsworthseparatin\",90],[266.2,\"p\",\"ifyourworkcrossesstateli\",128],[274.68,\"p\",\"tabbedandhighlightedbook\",25],[276.16,\"p\",\"somebodyelsehasmarkedupt\",36],[278.28,\"p\",\"thisislegitimateanditsav\",92],[284.92,\"p\",\"itisalsothethingyouaremo\",71],[289.88,\"p\",\"amethodforlookingthingsu\",25],[291.68,\"p\",\"becausetheexamisopenbook\",81],[298.76,\"p\",\"agoodcourseteachestheind\",71],[303.32,\"p\",\"practiceexamsandadeadlin\",25],[305.04,\"p\",\"aclassontuesdayisacommit\",60],[310.56,\"p\",\"applicationhelp\",15],[311.48,\"p\",\"1examprepbundlesanapplic\",174],[329.16,\"p\",\"thisistheoneitemyoucanno\",43],[332.4,\"p\",\"whatnoneofthemsellisther\",30],[334.88,\"p\",\"theexamsareopenbookandlo\",88],[342.34,\"h\",\"canyoubelievethepassrate\",40],[345.58,\"p\",\"treatitasmarketingbecaus\",66],[349.78,\"p\",\"on18september20261exampr\",216],[370.66,\"p\",\"neitherpercentagesayswha\",134],[380.06,\"p\",\"thereisalsonothingoffici\",43],[382.38,\"p\",\"thefigurescirculatingonl\",249],[400.46,\"p\",\"treatanypagequotingthemc\",77],[405.78,\"p\",\"aguaranteedpassbannerisn\",141],[416.8,\"h\",\"isrentingthebookscheaper\",38],[418.96,\"p\",\"onlyifyougivethembackont\",27],[420.56,\"p\",\"thearithmeticonthelarges\",149],[438.0,\"p\",\"returnthe19booksinsimila\",126],[449.44,\"p\",\"buyingthesamegeneralcont\",173],[461.6,\"p\",\"sotherentalpackageisroug\",95],[468.72,\"p\",\"thatisafairpriceforthete\",105],[477.86,\"h\",\"whatdoesthestatechargewh\",42],[480.82,\"p\",\"thesameeitherway\",16],[481.82,\"p\",\"twoexaminationfeesarecom\",214],[498.94,\"p\",\"youarenotscheduleduntile\",37],[501.5,\"p\",\"ifyoufailyouonlyresitthe\",101],[511.66,\"p\",\"thatruleisthestrongestar\",171],[524.16,\"h\",\"sowhoisacourseactuallywo\",32],[526.08,\"t\",\"allthreepartsandthelasta\",205],[543.08,\"t\",\"youfailedonepartandpasse\",142],[558.24,\"t\",\"businessandfinanceonly\",159],[574.92,\"t\",\"disciplinedwiththeevenin\",122],[587.56,\"t\",\"youwantthelicencefastand\",154],[597.96,\"p\",\"thehonestsummaryisthatth\",121],[606.8,\"p\",\"buythebooksyouareallowed\",68]];\n(function(){\n  function init(){\n  var root = document.querySelector('.msq-audio'); if (!root) { return; }\n  var audio = root.querySelector('audio'), items = Array.prototype.slice.call(root.querySelectorAll('.msq-toc li'));\n  var starts = items.map(function(li){ return parseFloat(li.getAttribute('data-start')) || 0; });\n  var names = items.map(function(li){ return li.querySelector('a').textContent; });\n  var anchors = items.map(function(li){ var h = li.querySelector('a').getAttribute('href') || ''; return (h.charAt(0) === '#' && h !== '#top') ? document.getElementById(h.slice(1)) : null; });\n  var article = root.getAttribute('data-article') || location.pathname, minutes = root.getAttribute('data-minutes') || '';\n  var marks = {}, started = false, pausedAt = -1, closed = false, ended = false;\n  var RATES = [1, 1.25, 1.5], rate = 1;\n  try { var saved = parseFloat(localStorage.getItem('msq-audio-rate')); if (RATES.indexOf(saved) >= 0) { rate = saved; } } catch (e) {}\n  audio.playbackRate = rate;\n  function track(name, extra){ try { if (typeof gtag === 'function') { var p = { article: article }; for (var k in extra) { p[k] = extra[k]; } gtag('event', name, p); } } catch (e) {} }\n  function current(){ var t = audio.currentTime, idx = 0; for (var i = 0; starts.length > i; i += 1) { if (t + 0.25 >= starts[i]) { idx = i; } } return idx; }\n  function onScreen(){\n    var line = window.innerHeight \/ 3, idx = 0;\n    for (var i = 0; anchors.length > i; i += 1) { var el = anchors[i]; if (el && line >= el.getBoundingClientRect().top) { idx = i; } }\n    return idx;\n  }\n  function fmt(s){ s = Math.max(0, Math.round(s || 0)); var m = Math.floor(s \/ 60), r = s % 60; return m + ':' + (10 > r ? '0' : '') + r; }\n  function play(from, source){\n    if (from !== null) { audio.currentTime = from; }\n    var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n    track(from === null ? 'audio_resume' : 'audio_chapter', { chapter: names[current()], start: Math.round(audio.currentTime), source: source });\n  }\n  var hbtns = anchors.map(function(el, i){\n    if (!el) { return null; }\n    var b = document.createElement('button'); b.type = 'button'; b.className = 'msq-hplay'; b.setAttribute('aria-label', 'Play this section: ' + names[i]);\n    b.addEventListener('click', function(){\n      if (!audio.paused && current() === i) { audio.pause(); track('audio_pause', { source: 'heading' }); return; }\n      play(starts[i], 'heading');\n    });\n    el.appendChild(b); return b;\n  });\n  var bar = document.createElement('div'); bar.className = 'msq-bar msq-bar-pill is-hidden'; bar.setAttribute('role', 'region'); bar.setAttribute('aria-label', 'Audio player');\n  var playBtn = document.createElement('button'); playBtn.type = 'button'; playBtn.className = 'msq-bar-play';\n  var icon = document.createElement('span'); icon.className = 'msq-bar-icon'; icon.setAttribute('aria-hidden', 'true');\n  var label = document.createElement('span'); label.className = 'msq-bar-label';\n  playBtn.appendChild(icon); playBtn.appendChild(label);\n  var chap = document.createElement('span'); chap.className = 'msq-bar-chapter';\n  var clock = document.createElement('span'); clock.className = 'msq-bar-time';\n  var rateBtn = document.createElement('button'); rateBtn.type = 'button'; rateBtn.className = 'msq-bar-rate'; rateBtn.setAttribute('aria-label', 'Playback speed');\n  var closeBtn = document.createElement('button'); closeBtn.type = 'button'; closeBtn.className = 'msq-bar-close'; closeBtn.setAttribute('aria-label', 'Close the audio bar');\n  bar.appendChild(playBtn); bar.appendChild(chap); bar.appendChild(clock); bar.appendChild(rateBtn); bar.appendChild(closeBtn);\n  document.body.appendChild(bar);\n  function showRate(){ rateBtn.textContent = (rate === 1 ? '1' : String(rate)) + 'x'; }\n  showRate();\n  rateBtn.addEventListener('click', function(){\n    rate = RATES[(RATES.indexOf(rate) + 1) % RATES.length]; audio.playbackRate = rate; showRate();\n    try { localStorage.setItem('msq-audio-rate', String(rate)); } catch (e) {}\n    track('audio_rate', { rate: rate });\n  });\n  closeBtn.addEventListener('click', function(){\n    closed = true; if (!audio.paused) { audio.pause(); } paint(); track('audio_bar_close', {});\n  });\n  function mode(){\n    if (!audio.paused) { return 'pause'; }\n    if (ended) { return 'again'; }\n    if (!started) { return 'listen'; }\n    return (pausedAt === onScreen()) ? 'resume' : 'section';\n  }\n  playBtn.addEventListener('click', function(){\n    var m = mode();\n    if (m === 'pause') { audio.pause(); track('audio_pause', { source: 'bar' }); return; }\n    if (m === 'again') { ended = false; play(0, 'bar'); return; }\n    if (m === 'resume') { play(null, 'bar'); return; }\n    play(starts[onScreen()], 'bar');\n  });\n  function paint(){\n    var idx = current(), playing = !audio.paused, m = mode();\n    items.forEach(function(li, i){\n      var on = (i === idx) && playing, b = li.querySelector('.msq-toc-play'), a = li.querySelector('a');\n      li.classList.toggle('is-active', on); b.classList.toggle('is-playing', on);\n      b.textContent = on ? '\u2016' : '\u25b6\ufe0e';\n      b.setAttribute('aria-label', (on ? 'Pause: ' : 'Play from: ') + a.textContent);\n    });\n    hbtns.forEach(function(b, i){ if (b) { var on = (i === idx) && playing; b.classList.toggle('is-playing', on); b.setAttribute('aria-label', (on ? 'Pause this section: ' : 'Play this section: ') + names[i]); } });\n    playBtn.classList.toggle('is-playing', playing);\n    label.textContent = m === 'pause' ? 'Pause' : m === 'again' ? 'Play again' : m === 'resume' ? 'Resume' : m === 'section' ? 'Play this section' : 'Listen, ' + minutes + ' min';\n    playBtn.setAttribute('aria-label', label.textContent);\n    chap.textContent = started ? names[(playing || m === 'resume') ? idx : onScreen()] : '';\n    clock.textContent = started ? fmt(audio.currentTime) + ' \/ ' + fmt(audio.duration) : '';\n    bar.classList.toggle('msq-bar-pill', !started);\n    var show = !closed && (started || 0 > root.getBoundingClientRect().bottom);\n    bar.classList.toggle('is-hidden', !show);\n    document.body.classList.toggle('msq-has-bar', show);\n  }\n  root.addEventListener('click', function(e){\n    var b = e.target.closest ? e.target.closest('.msq-toc-play') : null; if (!b) { return; }\n    var li = b.parentNode, s = parseFloat(b.getAttribute('data-start')) || 0;\n    if (!audio.paused && current() === items.indexOf(li)) { audio.pause(); track('audio_pause', { source: 'index' }); return; }\n    play(s, 'index');\n  });\n  audio.addEventListener('play', function(){ ended = false; closed = false; if (!started) { started = true; track('audio_play', { minutes: Math.round((audio.duration || 0) \/ 60) }); } paint(); });\n  audio.addEventListener('pause', function(){ pausedAt = current(); paint(); });\n  audio.addEventListener('timeupdate', function(){\n    paint();\n    if (audio.duration > 0) {\n      var pct = Math.floor(audio.currentTime \/ audio.duration * 100);\n      [25, 50, 75].forEach(function(m){ if (pct >= m && !marks[m]) { marks[m] = true; track('audio_progress', { percent: m }); } });\n    }\n  });\n  audio.addEventListener('ended', function(){ ended = true; track('audio_complete', {}); paint(); });\n  var ticking = false;\n  function onScroll(){ if (ticking) { return; } ticking = true; setTimeout(function(){ ticking = false; paint(); }, 80); }\n  window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', onScroll);\n  paint();\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n\n(function(){\n  function start(){\n    var root = document.querySelector('.msq-audio'), audio = root ? root.querySelector('audio') : null;\n    var map = (typeof MSQ_SENT !== 'undefined') ? MSQ_SENT : [];\n    if (!root || !audio || !map.length) { return; }\n    var scope = root.closest('main') || root.closest('article') || root.closest('.entry-content') || document.body;\n    var SKIP = '.msq-audio,.msq,.msq-tool,.msq-end,.msq-bar,script,style,noscript,figcaption,#rank-math-faq,.rank-math-block,nav,header,footer';\n    function norm(s){ return s.toLowerCase().replace(\/[^a-z0-9]+\/g, ''); }\n    var nodes = [], stream = '', walker = document.createTreeWalker(scope, NodeFilter.SHOW_TEXT, null), n;\n    while ((n = walker.nextNode())) {\n      var el = n.parentElement; if (!el || el.closest(SKIP)) { continue; }\n      var raw = n.nodeValue, keep = [], norms = '';\n      for (var i = 0; raw.length > i; i += 1) { var c = raw.charAt(i).toLowerCase(); if (\/[a-z0-9]\/.test(c)) { keep.push(i); norms += c; } }\n      if (!norms) { continue; }\n      nodes.push({ node: n, a: stream.length, b: stream.length + norms.length, keep: keep });\n      stream += norms;\n    }\n    var segs = [], cursor = 0, lastRow = null;\n    map.forEach(function(m, idx){\n      var kind = m[1], f = m[2], len = m[3];\n      if (kind === 't') {\n        var rows = scope.querySelectorAll('tr'), after = !lastRow;\n        for (var r = 0; rows.length > r; r += 1) {\n          var tr = rows[r];\n          if (!after) { if (tr === lastRow) { after = true; } continue; }\n          var cell = tr.querySelector('td,th');\n          if (cell && norm(cell.textContent).indexOf(f) === 0) { tr.setAttribute('data-i', idx); lastRow = tr; break; }\n        }\n        return;\n      }\n      var p = stream.indexOf(f, cursor); if (0 > p) { return; }\n      segs.push({ i: idx, a: p, b: Math.min(p + len, stream.length) }); cursor = p + len;\n    });\n    var si = 0;\n    nodes.forEach(function(nd){\n      var frag = document.createDocumentFragment(), raw = nd.node.nodeValue, rawPos = 0, any = false;\n      for (var k = si; segs.length > k; k += 1) {\n        var sg = segs[k]; if (sg.a >= nd.b) { break; } if (nd.a >= sg.b) { continue; }\n        var s = Math.max(sg.a, nd.a), e = Math.min(sg.b, nd.b);\n        var rs = nd.keep[s - nd.a], re2 = nd.keep[e - nd.a - 1] + 1;\n        if (rs > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos, rs))); }\n        var span = document.createElement('span'); span.className = 'msq-s'; span.setAttribute('data-i', sg.i); span.textContent = raw.slice(rs, re2);\n        frag.appendChild(span); rawPos = re2; any = true;\n        if (sg.b > nd.b) { break; }\n      }\n      while (segs.length > si && nd.b >= segs[si].b) { si += 1; }\n      if (!any) { return; }\n      if (raw.length > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos))); }\n      nd.node.parentNode.replaceChild(frag, nd.node);\n    });\n    var starts = map.map(function(m){ return m[0]; }), curIdx = -1, lastUser = 0, timer = null, autoUntil = 0, dragging = false;\n    function idxAt(t){ var lo = 0, hi = starts.length; while (hi > lo + 1) { var mid = (lo + hi) >> 1; if (t + 0.15 >= starts[mid]) { lo = mid; } else { hi = mid; } } return (t + 0.15 >= starts[0]) ? lo : -1; }\n    function setNow(i){\n      if (i === curIdx) { return; }\n      Array.prototype.forEach.call(scope.querySelectorAll('.msq-now'), function(el){ el.classList.remove('msq-now'); });\n      curIdx = i; if (0 > i) { return; }\n      var els = scope.querySelectorAll('[data-i=\"' + i + '\"]'); if (!els.length) { return; }\n      Array.prototype.forEach.call(els, function(el){ el.classList.add('msq-now'); });\n      var r = els[0].getBoundingClientRect(), now = Date.now();\n      if (!dragging && now > lastUser + 2500 && (80 > r.top || r.bottom > window.innerHeight - 140)) {\n        var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n        autoUntil = now + (reduce ? 400 : 1600);\n        els[0].scrollIntoView({ block: 'center', behavior: reduce ? 'auto' : 'smooth' });\n      }\n    }\n    function tick(){ if (!audio.paused) { setNow(idxAt(audio.currentTime)); } }\n    function userScrolled(){ lastUser = Date.now(); }\n    ['wheel', 'touchmove', 'keydown'].forEach(function(ev){ window.addEventListener(ev, userScrolled, { passive: true }); });\n    window.addEventListener('scroll', function(){ if (Date.now() > autoUntil) { userScrolled(); } }, { passive: true });\n    window.addEventListener('mousedown', function(e){ if (e.clientX >= document.documentElement.clientWidth) { dragging = true; userScrolled(); } }, { passive: true });\n    window.addEventListener('mouseup', function(){ if (dragging) { dragging = false; userScrolled(); } }, { passive: true });\n    audio.addEventListener('play', function(){ if (timer) { clearInterval(timer); } timer = setInterval(tick, 150); tick(); });\n    audio.addEventListener('pause', function(){ if (timer) { clearInterval(timer); timer = null; } });\n    scope.addEventListener('click', function(e){\n      if (e.target.closest('a, button, input, select, textarea, label, summary, .msq, .msq-tool, .msq-end, .msq-audio, .msq-bar')) { return; }\n      var sel = window.getSelection ? String(window.getSelection()) : '';\n      if (sel && sel.trim()) { return; }\n      var el = e.target.closest('[data-i]'); if (!el) { return; }\n      var i = parseInt(el.getAttribute('data-i'), 10); if (isNaN(i)) { return; }\n      if (!audio.paused && i === curIdx) { return; }\n      lastUser = Date.now();\n      audio.currentTime = starts[i];\n      var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n      try { if (typeof gtag === 'function') { gtag('event', 'audio_chapter', { article: location.pathname, source: 'sentence', start: Math.round(starts[i]) }); } } catch (err) {}\n    });\n    audio.addEventListener('seeked', tick);\n    audio.addEventListener('ended', function(){ setNow(-1); });\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }\n})();<\/script>\n<\/div>\n\n\n\n<p class=\"msq-hook wp-block-paragraph\">On this page: every provider&#8217;s price read from its own page on one day, the four things a course actually buys and which one you can do over a weekend, why the advertised pass rates cannot be checked, the rental arithmetic with its inputs shown, and who a course is actually worth it for.<\/p>\n\n\n\n<div class=\"msq\" id=\"ms-quiz\" data-slug=\"florida-contractor-exam-prep\" data-category=\"Florida contractor licensing\" data-list=\"1\">\n<style>.msq,.msq-hook,.msq-box,.msq-end,.msq-tool{--msq-accent:#24405E;--msq-accent-text:#FFFFFF;--msq-line:#D9D3C7;--msq-warn:#C4540E;--msq-muted:#4C5561;--msq-tint:#F3F1EC;--msq-base:#FFFFFF}\n.msq{margin:1.25em 0 1.75em}\n.msq-hook{border-left:3px solid var(--msq-accent);padding:6px 14px;color:var(--msq-muted);font-size:.97em}\n.msq-box{background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px;padding:0}\n.msq-box>summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:700;color:var(--msq-accent)}\n.msq-box>summary::-webkit-details-marker{display:none}\n.msq-box>summary::before{content:\"+\";display:inline-block;width:1.1em;font-weight:800}\n.msq-box[open]>summary::before{content:\"\\00d7\"}\n.msq-body{padding:2px 18px 18px}\n.msq-intro{margin:0 0 12px;font-size:.95em;color:var(--msq-muted)}\n.msq-list{margin:0;padding:0;list-style:none}\n.msq-q{margin:0 0 18px;padding:0}\n.msq-question{font-weight:700;margin:0 0 8px}\n.msq-options{display:flex;flex-direction:column;gap:8px}\n.msq-opt{text-align:left;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;padding:10px 12px;font:inherit;font-size:.95em;color:inherit;cursor:pointer;line-height:1.35}\n.msq-opt:hover{border-color:var(--msq-accent)}\n.msq-opt[disabled]{cursor:default}\n.msq-opt.is-right{border-color:var(--msq-accent);background:var(--msq-line);font-weight:700}\n.msq-opt.is-wrong{border-color:var(--msq-warn);color:var(--msq-warn)}\n.msq-explain{margin:8px 0 0;font-size:.92em;padding:10px 12px;border-left:3px solid var(--msq-accent);background:var(--msq-base);border-radius:0 8px 8px 0}\n.msq-explain[hidden]{display:none}\n.msq-verdict{font-weight:700}\n.msq-result{margin-top:14px;padding:14px 16px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:10px}\n.msq-result[hidden]{display:none}\n.msq-result h3{margin:0 0 6px;font-size:1.1em}\n.msq-result p{margin:0 0 8px}\n.msq-jump{margin:0 0 8px;padding-left:1.2em}\n.msq-form{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n.msq-form input[type=email]{flex:1 1 220px;padding:10px 12px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-btn{background:var(--msq-accent);color:var(--msq-accent-text);border:0;border-radius:8px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}\n.msq-btn:hover{filter:brightness(.92)}\n.msq-btn[disabled]{opacity:.7;cursor:default}\n.msq-no{font-size:.9em;color:var(--msq-muted);margin-left:4px}\n.msq-privacy{margin:6px 0 0;font-size:.82em;color:var(--msq-muted);flex-basis:100%}\n.msq-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}\n.msq-msg{margin:8px 0 0;font-size:.92em}\n.msq-end{margin:1.5em 0;padding:18px;border:1px solid var(--msq-accent);border-radius:12px;text-align:center;background:var(--msq-tint)}\n.msq-end p{margin:0 0 12px}\n.msq-end .msq-body{text-align:left;padding:16px 0 0}\n.msq-end .msq-start-test[hidden]{display:none}\n.msq-tool{margin:1.5em 0;padding:18px 20px;background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px}\n.msq-tool h3{margin:0 0 6px;font-size:1.15em}\n.msq-tool p{margin:0 0 10px}\n.msq-tool .msq-note{font-size:.85em;color:var(--msq-muted);margin:10px 0 0}\n.msq-check label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--msq-line);cursor:pointer;line-height:1.4}\n.msq-check label:last-of-type{border-bottom:0}\n.msq-check input{margin-top:5px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--msq-accent)}\n.msq-check-count{font-weight:700;margin:10px 0 0}\n.msq-verdict-box{margin:12px 0 0;padding:10px 14px;border-radius:8px;background:var(--msq-base);border-left:3px solid var(--msq-warn)}\n.msq-verdict-box[hidden]{display:none}\n.msq-calc{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}\n.msq-calc label{display:flex;flex-direction:column;gap:4px;font-size:.92em}\n.msq-calc input,.msq-calc select{padding:8px 10px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-calc-out{grid-column:1 \/ -1;margin-top:6px;padding:12px 14px;background:var(--msq-base);border-radius:8px;border:1px solid var(--msq-line)}\n.msq-calc-out strong{font-size:1.15em}\n.msq-choose label{display:block;padding:9px 12px;margin:0 0 8px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;cursor:pointer}\n.msq-choose input{margin-right:8px;accent-color:var(--msq-accent)}\n.msq-choice-result{margin-top:10px;padding:12px 14px;background:var(--msq-base);border-left:3px solid var(--msq-accent);border-radius:0 8px 8px 0}\n.msq-choice-result[hidden]{display:none}\n@media (max-width:600px){.msq-calc{grid-template-columns:1fr}}\nh2.wp-block-heading[id]{scroll-margin-top:24px}<\/style>\n<noscript><style>.msq-explain{display:block !important}<\/style><\/noscript>\n<details class=\"msq-box\">\n<summary>Think you already know this? Five questions, one minute.<\/summary>\n<div class=\"msq-body\">\n<p class=\"msq-intro\">Every answer is on this page. Answer from what you know now; the page fills in the rest.<\/p>\n<ol class=\"msq-list\">\n<li class=\"msq-q\" data-q=\"1\" data-answer=\"a\" data-title=\"What does Florida contractor exam prep cost today?\" data-section=\"#what-does-florida-contractor-exam-prep-cost-today\">\n<p class=\"msq-question\">1. What separates the $399.99 package from the $4,749 one for the same three exams?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 1 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Whether the books are in the box, almost entirely<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">A different exam<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">The state fee<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The reference books are the largest single cost, about $1,695 for the general contractor set, and some packages include them while others do not. Compare packages on what is in them before comparing them on price. <a class=\"msq-section\" href=\"#what-does-florida-contractor-exam-prep-cost-today\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"2\" data-answer=\"b\" data-title=\"What does a course give you that a pile of books does not?\" data-section=\"#what-does-a-course-give-you-that-a-pile-of-books-does-not\">\n<p class=\"msq-question\">2. Of the four things a course gives you, which is the one you are most able to do yourself?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 2 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Application help<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Tabbing and highlighting the books, over a weekend with a packet of tabs, since tabs and highlighting are allowed and written notes are not<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">A deadline<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Because the exam is open book, the skill being tested is navigation under time pressure, not recall. What none of the providers sell is the reading, and the package bought in March and opened in July has never helped anybody. <a class=\"msq-section\" href=\"#what-does-a-course-give-you-that-a-pile-of-books-does-not\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"3\" data-answer=\"b\" data-title=\"Can you believe the pass rate in the advertising?\" data-section=\"#can-you-believe-the-pass-rate-in-the-advertising\">\n<p class=\"msq-question\">3. On 18 September 2026, what did 1 Exam Prep&#8217;s own home page carry?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 3 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">One audited pass rate<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Two different first time pass rates, 90 percent and 98.7 percent, on the same page, neither saying what it counts<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">A statistic from the department<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span><a href=\"https:\/\/1examprep.com\/\" target=\"_blank\" rel=\"noopener\">The home page<\/a> could not be checked against anything official, because the department does not appear to publish pass rates by part. No provider, this site included, can promise a result on an exam the state writes and scores. <a class=\"msq-section\" href=\"#can-you-believe-the-pass-rate-in-the-advertising\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"4\" data-answer=\"a\" data-title=\"Is renting the books cheaper than buying them?\" data-section=\"#is-renting-the-books-cheaper-than-buying-them\">\n<p class=\"msq-question\">4. On the Ultimate rental package, what leaves your account on the day, and what is the real cost if the books go back on time?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 4 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">$3,895 out on the day; $2,895 once the $1,000 deposit returns<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">$1,695<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Nothing until you pass<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Buying the same general contractor set outright is about $1,695, and the books are then yours for a later sitting. So the rental is roughly $1,200 of teaching and application service wrapped around a book set you do not keep, and a poor deal if you miss the return window. <a class=\"msq-section\" href=\"#is-renting-the-books-cheaper-than-buying-them\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"5\" data-answer=\"b\" data-title=\"What does the state charge, whichever way you study?\" data-section=\"#what-does-the-state-charge-whichever-way-you-study\">\n<p class=\"msq-question\">5. If you fail one part of three, what happens?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 5 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">You re sit all three<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">You re sit only the part you failed, after a 30 day wait, with the retake commonly quoted at $295<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">You lose your eligibility<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span><a href=\"https:\/\/www.floridaexam.com\/\" target=\"_blank\" rel=\"noopener\">Professional Testing<\/a> develops and scores the exams, with $135 as the examination development fee and $80 as the department&#8217;s administration fee per part. Failing one part is a common outcome, and it costs far less to fix than the gap between the cheapest and dearest courses. <a class=\"msq-section\" href=\"#what-does-the-state-charge-whichever-way-you-study\">Read the section<\/a><\/p>\n<\/li>\n<\/ol>\n<div class=\"msq-result\" hidden><\/div>\n<\/div>\n<\/details>\n<script>(function(){\n  if (window.__msqInit) { return; }\n  window.__msqInit = true;\n  var root = document.getElementById('ms-quiz');\n  if (!root) { return; }\n  var meta = { slug: root.getAttribute('data-slug'), category: root.getAttribute('data-category'),\n               list: root.getAttribute('data-list') || '1' };\n  function qs(el, s){ return el.querySelector(s); }\n  function qsa(el, s){ return Array.prototype.slice.call(el.querySelectorAll(s)); }\n  function track(name, params){\n    try { if (typeof gtag === 'function') { var p = params || {}; p.article = meta.slug; gtag('event', name, p); } } catch (e) {}\n  }\n  function jumpList(missed){\n    if (!missed.length) { return ''; }\n    return '<ul class=\"msq-jump\">' + missed.map(function(q){\n      return '<li><a href=\"' + q.getAttribute('data-section') + '\">' + q.getAttribute('data-title') + '<\/a><\/li>';\n    }).join('') + '<\/ul>';\n  }\n  function emailForm(){\n    return '<div class=\"msq-sub\"><p><strong>Get the next one.<\/strong> We publish new articles on ' + meta.category\n      + ' most weeks and recheck this page on Sundays. Email me when a new article goes up or this page changes.<\/p>'\n      + '<form class=\"msq-form\" method=\"post\" action=\"\/mail\/form.php\" novalidate>'\n      + '<input type=\"hidden\" name=\"list\" value=\"' + meta.list + '\">'\n      + '<input type=\"hidden\" name=\"name\" value=\"\">'\n      + '<label class=\"msq-hp\" aria-hidden=\"true\">Leave this empty<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>'\n      + '<input type=\"email\" name=\"email\" placeholder=\"you@example.com\" required aria-label=\"Email address\" autocomplete=\"email\">'\n      + '<button type=\"submit\" class=\"msq-btn\">Email me the updates<\/button>'\n      + '<a href=\"#\" class=\"msq-no\">No thanks<\/a>'\n      + '<p class=\"msq-privacy\">We store your email and this page\\'s topic, nothing else. Unsubscribe any time.<\/p>'\n      + '<\/form><p class=\"msq-msg\" aria-live=\"polite\"><\/p><\/div>';\n  }\n  \/* The autoresponder always answers 200 with its own page. A \".msg.err\" box means the\n     address was rejected, \"You're subscribed\" means accepted, and a redirect only happens\n     after a successful subscribe. Same reading as the landing pages on the other sites. *\/\n  function sendForm(form){\n    return fetch(form.getAttribute('action'), { method: 'POST', body: new FormData(form), credentials: 'same-origin', redirect: 'manual' })\n      .then(function(res){\n        if (res.type === 'opaqueredirect') { return { status: 'ok' }; }\n        if (res.status === 404) { return { status: 'notlive' }; }\n        if (!res.ok) { throw new Error('HTTP ' + res.status); }\n        return res.text().then(function(t){\n          var doc = new DOMParser().parseFromString(t, 'text\/html');\n          var err = doc.querySelector('.msg.err');\n          if (err) {\n            var m = err.textContent.trim();\n            if (\/something went wrong\/i.test(m)) { throw new Error(m); }\n            return { status: 'rejected', message: m };\n          }\n          if (\/you.re subscribed\/i.test(doc.body.textContent)) { return { status: 'ok' }; }\n          return { status: 'unknown' };\n        });\n      });\n  }\n  function wireForm(sub){\n    var form = qs(sub, '.msq-form'), msg = qs(sub, '.msq-msg');\n    qs(form, '.msq-no').addEventListener('click', function(e){\n      e.preventDefault();\n      sub.innerHTML = '<p class=\"msq-msg\">No problem. The Sunday refresh keeps this page current either way.<\/p>';\n      track('quiz_email', { result: 'declined' });\n    });\n    form.addEventListener('submit', function(e){\n      e.preventDefault();\n      var input = qs(form, 'input[name=email]'), btn = qs(form, '.msq-btn');\n      var email = input.value.trim(); input.value = email;\n      if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) { msg.textContent = 'That email does not look right.'; return; }\n      btn.disabled = true; btn.textContent = 'Sending';\n      function reset(){ btn.disabled = false; btn.textContent = 'Email me the updates'; }\n      sendForm(form).then(function(r){\n        if (r.status === 'ok' || r.status === 'unknown') {\n          sub.innerHTML = '<p class=\"msq-msg\"><strong>Done.<\/strong> We will email you when the next article on ' + meta.category\n            + ' goes up and when this page changes. If a confirmation email arrives, click it.<\/p>';\n          track('quiz_email', { result: r.status });\n          if (r.status === 'ok') { track('generate_lead', { method: 'quiz' }); }\n        } else if (r.status === 'notlive') {\n          msg.textContent = 'Sign up is not switched on yet for this site. Nothing was stored.'; reset();\n          track('quiz_email', { result: 'notlive' });\n        } else {\n          msg.textContent = r.message || 'Please check the email address and try again.'; reset();\n          track('quiz_email', { result: 'rejected' });\n        }\n      }).catch(function(){\n        msg.textContent = 'Could not reach the sign up service just now. Nothing was stored.'; reset();\n        track('quiz_email', { result: 'error' });\n      });\n    });\n  }\n  function finish(container, mode, score, total, missed){\n    var result = qs(container, '.msq-result');\n    track('quiz_complete', { mode: mode, score: score, total: total });\n    var h;\n    if (mode === 'pre') {\n      h = '<h3>You knew ' + score + ' of ' + total + ' before reading.<\/h3>';\n      h += (score === total) ? '<p>All of them. Read on anyway; the sections below carry the detail behind each answer.<\/p>'\n                             : '<p>The rest is below. Jump straight to what you missed:<\/p>' + jumpList(missed);\n      try { sessionStorage.setItem('msq-pre-' + meta.slug, String(score)); } catch (e) {}\n    } else {\n      var pre = null;\n      try { pre = sessionStorage.getItem('msq-pre-' + meta.slug); } catch (e) {}\n      h = '<h3>You got ' + score + ' of ' + total + '.<\/h3>';\n      if (pre !== null) { h += '<p>Before reading you had ' + pre + ' of ' + total + '.<\/p>'; }\n      if (missed.length) { h += '<p>Worth a second look:<\/p>' + jumpList(missed); }\n      h += emailForm();\n    }\n    result.innerHTML = h; result.hidden = false;\n    if (mode !== 'pre') { wireForm(qs(result, '.msq-sub')); }\n    result.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n  function setup(container, mode){\n    var qEls = qsa(container, '.msq-q'), answered = 0, score = 0, missed = [];\n    qEls.forEach(function(q){\n      var answer = q.getAttribute('data-answer'), opts = qsa(q, '.msq-opt'), explain = qs(q, '.msq-explain');\n      q.removeAttribute('data-done'); explain.hidden = true; qs(explain, '.msq-verdict').textContent = '';\n      opts.forEach(function(b){ b.disabled = false; b.classList.remove('is-right', 'is-wrong'); });\n      opts.forEach(function(b){\n        b.addEventListener('click', function(){\n          if (q.getAttribute('data-done')) { return; }\n          q.setAttribute('data-done', '1');\n          var ok = b.getAttribute('data-opt') === answer;\n          opts.forEach(function(o){ o.disabled = true; if (o.getAttribute('data-opt') === answer) { o.classList.add('is-right'); } });\n          if (ok) { score += 1; } else { b.classList.add('is-wrong'); missed.push(q); }\n          qs(explain, '.msq-verdict').textContent = ok ? 'Right. ' : 'Not quite. ';\n          explain.hidden = false;\n          answered += 1;\n          track('quiz_answer', { mode: mode, question: q.getAttribute('data-q'), correct: ok ? 1 : 0 });\n          if (answered === qEls.length) { finish(container, mode, score, qEls.length, missed); }\n        });\n      });\n    });\n  }\n  var box = qs(root, '.msq-box');\n  setup(root, 'pre');\n  if (box) { box.addEventListener('toggle', function(){ if (box.open) { track('quiz_open', { mode: 'pre' }); } }); }\n  \/* The end block sits far below this script, so it does not exist yet while this runs\n     during parsing. A delegated listener finds it at click time. *\/\n  document.addEventListener('click', function(e){\n    var startBtn = (e.target && e.target.closest) ? e.target.closest('.msq-start-test') : null;\n    if (!startBtn) { return; }\n    var end = startBtn.closest('.msq-end');\n    if (!end) { return; }\n    var mount = qs(end, '.msq-mount');\n    var clone = qs(root, '.msq-body').cloneNode(true);\n    var intro = qs(clone, '.msq-intro');\n    if (intro) { intro.textContent = 'The same five questions, now that you have read the page.'; }\n    var res = qs(clone, '.msq-result'); if (res) { res.hidden = true; res.innerHTML = ''; }\n    mount.innerHTML = ''; mount.appendChild(clone);\n    setup(mount, 'test');\n    startBtn.hidden = true;\n    track('quiz_open', { mode: 'test' });\n    mount.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    var first = qs(mount, '.msq-opt'); if (first) { first.focus({ preventScroll: true }); }\n  });\n  \/* Shared tool behaviour: checklists remember their ticks on this device, and a chooser\n     shows the result for the option picked. Calculators carry their own small script. *\/\n  function initTools(){\n    qsa(document, '.msq-check').forEach(function(box){\n      var key = 'msq-check-' + meta.slug + '-' + (box.getAttribute('data-id') || 'x');\n      var boxes = qsa(box, 'input[type=checkbox]'), count = qs(box, '.msq-check-count');\n      var yes = qs(box, '.msq-verdict-yes'), no = qs(box, '.msq-verdict-no');\n      var saved = {};\n      try { saved = JSON.parse(localStorage.getItem(key) || '{}'); } catch (e) {}\n      boxes.forEach(function(cb, i){ if (saved[i]) { cb.checked = true; } });\n      function refresh(){\n        var n = boxes.filter(function(cb){ return cb.checked; }).length, state = {};\n        boxes.forEach(function(cb, i){ if (cb.checked) { state[i] = 1; } });\n        try { localStorage.setItem(key, JSON.stringify(state)); } catch (e) {}\n        if (count) { count.textContent = n + ' of ' + boxes.length + (box.getAttribute('data-verb') || ' done'); }\n        if (yes && no) { yes.hidden = n === 0; no.hidden = n !== 0; }\n      }\n      boxes.forEach(function(cb){ cb.addEventListener('change', function(){ refresh(); track('tool_check', { tool: box.getAttribute('data-id') }); }); });\n      refresh();\n    });\n    qsa(document, '.msq-choose').forEach(function(box){\n      var results = qsa(box, '.msq-choice-result');\n      qsa(box, 'input[type=radio]').forEach(function(r){\n        r.addEventListener('change', function(){\n          results.forEach(function(el){ el.hidden = el.getAttribute('data-for') !== r.value; });\n          track('tool_choose', { tool: box.getAttribute('data-id'), choice: r.value });\n        });\n      });\n    });\n  }\n  \/\/ read progress: how far down the article the reader has scrolled, fired once per quarter\n  (function(){\n    var art = root.closest('article') || root.parentNode, fired = {};\n    function check(){\n      var top = art.getBoundingClientRect().top + window.pageYOffset, h = art.offsetHeight || 1;\n      var seen = (window.pageYOffset + window.innerHeight - top) \/ h * 100;\n      [25, 50, 75, 100].forEach(function(m){ if (seen >= m && !fired[m]) { fired[m] = true; track('read_progress', { percent: m }); } });\n    }\n    window.addEventListener('scroll', check, { passive: true }); window.addEventListener('load', check);\n  })();\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initTools); } else { initTools(); }\n})();<\/script>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Every page ranking for this search is published by somebody who sells a course. That is not a conspiracy, it is what the market looks like when the product and the advice come from the same shop. So here are the prices, read from each provider&#8217;s own page on 18 September 2026, beside the cost of buying the books and doing the work yourself.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-florida-contractor-exam-prep-cost-today\">What does Florida contractor exam prep cost today?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The packages are not comparable on price alone, because some include the reference books, which are the largest single cost, and some do not.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Provider<\/th><th>Package<\/th><th>Listed on 18 September 2026<\/th><th>What is in it<\/th><\/tr><\/thead><tbody><tr><td><a href=\"https:\/\/1examprep.com\/products\/the-ultimate-exam-prep-for-florida-general-contractor\" target=\"_blank\" rel=\"noopener\">1 Exam Prep<\/a><\/td><td>General contractor Ultimate rental<\/td><td>$2,895 plus a $1,000 refundable deposit<\/td><td>19 tabbed and highlighted rental books, live, recorded and self study courses, flash cards, application service, one year of access. Deposit returned if the books go back in similar condition.<\/td><\/tr><tr><td>1 Exam Prep<\/td><td>Contract Administration and Project Management alone<\/td><td>$395 self study, $695 with live classes<\/td><td>One part, course only, no books.<\/td><\/tr><tr><td><a href=\"https:\/\/web.archive.org\/web\/20260519100452\/https:\/\/goldcoastschools.com\/courses\/construction\/general-contractor\/\" target=\"_blank\" rel=\"noopener\">Gold Coast Schools<\/a><\/td><td>General contractor, five tiers<\/td><td>$1,199, then $2,799, $3,749, $4,049 and $4,999, the last four showing $250 off with code EXAMPREP250<\/td><td>Required books, tabbed and highlighted on selected tiers, unlimited classroom, livestream or on demand instruction for a year, exam simulators.<\/td><\/tr><tr><td><a href=\"https:\/\/www.athomeprep.com\/shop\/florida-contractor-complete-package\/\" target=\"_blank\" rel=\"noopener\">At Home Prep<\/a><\/td><td>General contractor complete package<\/td><td>$2,592.19, listed at $3,012.21<\/td><td>All required books, pre printed tabs, business and contract courses, practice exams, 365 days of access.<\/td><\/tr><tr><td>At Home Prep <a href=\"https:\/\/www.athomeprep.com\/shop\/florida-complete-exam-review\/\" target=\"_blank\" rel=\"noopener\">course only product<\/a><\/td><td>Business and Finance plus Contract and Project, courses only<\/td><td>$399.99<\/td><td>Two online courses. Books sold separately.<\/td><\/tr><tr><td><a href=\"https:\/\/theexampros.com\/products\/florida-general-contractor\" target=\"_blank\" rel=\"noopener\">The Exam Pros<\/a><\/td><td>General contractor, built from options<\/td><td>$100 to $3,100, books alone $1,450<\/td><td>Cram course without books at the bottom, tabbed books plus both home study courses at the top. Pre printed tabs add $150.<\/td><\/tr><tr><td>Self study<\/td><td>Books bought outright, no course<\/td><td>About $1,695 for the general set, from $295 for Business and Finance<\/td><td>The approved references and nothing else.<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Prices read from each provider&#8217;s own product page on 18 September 2026. They move without notice, so treat them as a starting point, not a quote. The self study figures are the ones we costed in <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-book-cost\/\" target=\"_blank\" rel=\"noopener\">what the books actually cost<\/a>. Gold Coast Schools&#8217; site was unreachable on 24 September 2026, so its two links point to Wayback Machine copies from May and June 2026.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">That is $399.99 to $4,749 for the same three exams, and what separates them is almost entirely whether the books are in the box.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/kitchen-table-study-session-florida-contractor-exam-prep.jpg\" alt=\"A woman studies a massive binder at her kitchen table for florida contractor exam prep.\" class=\"wp-image-238\" srcset=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/kitchen-table-study-session-florida-contractor-exam-prep.jpg 1376w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/kitchen-table-study-session-florida-contractor-exam-prep-300x167.jpg 300w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/kitchen-table-study-session-florida-contractor-exam-prep-1024x572.jpg 1024w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/kitchen-table-study-session-florida-contractor-exam-prep-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Self guided study needs discipline, a tab packet and a great many evenings.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/florida-contractor-exam-prep-chart.png\" alt=\"Chart of Florida contractor exam prep prices: from about $395 for one course to $1,695 for the books alone and $4,999 for the top classroom tier.\" class=\"wp-image-317\" srcset=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/florida-contractor-exam-prep-chart.png 1600w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/florida-contractor-exam-prep-chart-300x169.png 300w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/florida-contractor-exam-prep-chart-1024x576.png 1024w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/florida-contractor-exam-prep-chart-768x432.png 768w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/florida-contractor-exam-prep-chart-1536x864.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-block-image__caption\">Listed on each provider&#8217;s own page on 18 September 2026. The bars differ mostly by whether the books are included, and the state&#8217;s examination fees are the same whichever way you study.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-a-course-give-you-that-a-pile-of-books-does-not\">What does a course give you that a pile of books does not?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Four things, worth separating, because the marketing tends to blur them into one vague promise of confidence. If your work crosses state lines, the same four things apply to the national exam, and our page on <a href=\"https:\/\/passcontractorexam.com\/articles\/nascla-exam-prep\/\">NASCLA exam prep<\/a> covers what it replaces and what it does not.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tabbed and highlighted books.<\/strong> Somebody else has marked up the references. This is legitimate and it saves real hours, because <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-tabs-highlighting-notes\/\" target=\"_blank\" rel=\"noopener\">tabs and highlighting are allowed but written notes are not<\/a>. It is also the thing you are most able to do yourself, over a weekend, with a packet of tabs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A method for looking things up.<\/strong> Because <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-open-book\/\" target=\"_blank\" rel=\"noopener\">the exam is open book<\/a>, the skill being tested is navigation under time pressure, not recall. A good course teaches the index before it teaches the content, which is the right order.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Practice exams and a deadline.<\/strong> A class on Tuesday is a commitment in a way that a PDF on your desktop is not.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Application help.<\/strong> 1 Exam Prep bundles an application service into its Ultimate package, and <a href=\"https:\/\/web.archive.org\/web\/20260615135757\/https:\/\/goldcoastschools.com\/courses\/construction\/license-exam-prep\/\" target=\"_blank\" rel=\"noopener\">Gold Coast Schools sets out<\/a> its application processing service at $979 and a start up consultation at $79, priced separately from tuition. This is the one item you cannot study your way around.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What none of them sell is the reading. The exams are open book and long, and the package bought in March and opened in July has never helped anybody.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"can-you-believe-the-pass-rate-in-the-advertising\">Can you believe the pass rate in the advertising?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Treat it as marketing, because it is not measured against anything you can check. On 18 September 2026, <a href=\"https:\/\/1examprep.com\/\" target=\"_blank\" rel=\"noopener\">1 Exam Prep&#8217;s own home page<\/a> carried two different first time pass rates on the same page, 90 percent in one place and 98.7 percent in another, alongside both 50,000 lives positively impacted and more than 100,000 contractors trusting the company. Neither percentage says what it counts: everyone who bought a package, or everyone who finished the course and sat the exam, which are very different denominators.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There is also nothing official to compare them with. The figures circulating online, roughly 50 percent for Business and Finance, 55 for Contract Administration and 40 for Project Management, could not be traced to any published statistic from the <a href=\"https:\/\/www2.myfloridalicense.com\/examination-information\/construction-examinations\/\" target=\"_blank\" rel=\"noopener\">Department of Business and Professional Regulation<\/a>, which does not appear to publish pass rates by part. Treat any page quoting them confidently with the same caution we are asking you to apply here.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A guaranteed pass banner is not a guarantee of anything a school controls, and no provider, this site included, can promise you a result on an exam the state writes and scores.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"is-renting-the-books-cheaper-than-buying-them\">Is renting the books cheaper than buying them?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Only if you give them back on time. The arithmetic on the largest rental package, with its inputs shown: 1 Exam Prep&#8217;s Ultimate package lists at $2,895 plus a $1,000 refundable deposit, so $3,895 leaves your account on the day. Return the 19 books in similar condition inside one year and the $1,000 comes back, making the real cost $2,895 for books, courses and the application service.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Buying the same general contractor set outright is about $1,695, and the books are then yours, which matters because <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-approved-books\/\" target=\"_blank\" rel=\"noopener\">the approved reference list for your part<\/a> changes and a later sitting may reuse several of them. So the rental package is roughly $1,200 of teaching and application service wrapped around a book set you do not keep. That is a fair price for the teaching, and a poor one if you miss the return window, at which point you have paid $3,895 and own nothing.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/close-up-tabbed-books-florida-contractor-exam-prep.jpg\" alt=\"Worn reference manuals with colorful index tabs used for florida contractor exam prep.\" class=\"wp-image-239\" srcset=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/close-up-tabbed-books-florida-contractor-exam-prep.jpg 1376w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/close-up-tabbed-books-florida-contractor-exam-prep-300x167.jpg 300w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/close-up-tabbed-books-florida-contractor-exam-prep-1024x572.jpg 1024w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/09\/close-up-tabbed-books-florida-contractor-exam-prep-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Permanent tabs are allowed in the exam room, which is why pre tabbed sets sell.<\/figcaption><\/figure>\n\n\n\n<div class=\"msq-tool\" id=\"ms-rental\">\n<h3>The rental arithmetic, with your numbers<\/h3>\n<p>Enter the package price, the refundable deposit and what the same books cost to buy outright. The tool shows what leaves your account on day one, what the rental really costs if the books go back in time, and what it costs if they do not.<\/p>\n<div class=\"msq-calc\">\n<label>Rental package price<input type=\"number\" id=\"rn-price\" value=\"2895\" min=\"0\" max=\"20000\" step=\"1\"><\/label>\n<label>Refundable deposit<input type=\"number\" id=\"rn-deposit\" value=\"1000\" min=\"0\" max=\"20000\" step=\"1\"><\/label>\n<label>Price to buy the same book set outright<input type=\"number\" id=\"rn-books\" value=\"1695\" min=\"0\" max=\"20000\" step=\"1\"><\/label>\n<div class=\"msq-calc-out\" id=\"rn-out\"><\/div>\n<\/div>\n<p class=\"msq-note\">Defaults are the 1 Exam Prep Ultimate package and the general contractor book set as listed on 18 September 2026. Prices move without notice; this is arithmetic, not a recommendation of any provider.<\/p>\n<\/div>\n<script>\n(function(){\n  var p = document.getElementById('rn-price'), d = document.getElementById('rn-deposit'), b = document.getElementById('rn-books'), out = document.getElementById('rn-out');\n  if (!out) { return; }\n  function money(v){ return '$' + Math.round(v).toLocaleString(); }\n  function run(){\n    var price = parseFloat(p.value) || 0, dep = parseFloat(d.value) || 0, books = parseFloat(b.value) || 0;\n    var day1 = price + dep, premium = price - books;\n    var msg = '<strong>Leaves your account on day one: ' + money(day1) + '.<\/strong> Books back in similar condition inside the window: the real cost is ' + money(price);\n    msg += (premium > 0) ? ', which is ' + money(premium) + ' more than buying the set, paid for the teaching and any application service, with no books to keep at the end.' : ', which is less than buying the set, so the rental is cheaper before the teaching is counted.';\n    msg += ' Miss the window: you have paid ' + money(day1) + ' and own nothing, against ' + money(books) + ' to have bought the books and kept them for a later sitting.';\n    out.innerHTML = msg;\n    try { if (typeof gtag === 'function') { gtag('event', 'tool_calc', { tool: 'rental-calc', article: 'florida-contractor-exam-prep' }); } } catch (e) {}\n  }\n  [p, d, b].forEach(function(el){ el.addEventListener('input', run); el.addEventListener('change', run); });\n  run();\n})();\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-the-state-charge-whichever-way-you-study\">What does the state charge, whichever way you study?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The same, either way. Two examination fees are commonly listed: $135 as an examination development fee payable to <a href=\"https:\/\/www.floridaexam.com\/\" target=\"_blank\" rel=\"noopener\">Professional Testing, Inc.<\/a>, the company contracted by the state to develop and score these exams, and $80 as an examination administration fee payable to the department. You are not scheduled until every fee is paid.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you fail, <a href=\"https:\/\/passcontractorexam.com\/articles\/failed-florida-contractor-exam\/\" target=\"_blank\" rel=\"noopener\">you only re sit the part you failed<\/a>, there is a 30 day wait before you re sit, and the retake is commonly quoted at $295. That rule is the strongest argument against buying the biggest package up front: failing one part of three is a common outcome, and it costs far less to fix than the gap between the cheapest and dearest courses.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"so-who-is-a-course-actually-worth-it-for\">So who is a course actually worth it for?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Your situation<\/th><th>What usually fits<\/th><th>Why<\/th><\/tr><\/thead><tbody><tr><td>All three parts, and the last algebra you did was at school<\/td><td>Full package with books included<\/td><td>The books cost the same either way, so the teaching is the cheaper part of the bill. <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-business-finance-exam-math\/\" target=\"_blank\" rel=\"noopener\">the maths you cannot look up<\/a> is the usual sticking point.<\/td><\/tr><tr><td>You failed one part and passed the others<\/td><td>Single part course at $395 to $695, or nothing<\/td><td>Passed parts stand, so a fresh full package mostly buys what you own.<\/td><\/tr><tr><td>Business and Finance only<\/td><td>Course only at about $400, plus references from $295<\/td><td>That list runs to six references, not eighteen. A general contractor package is the wrong shape.<\/td><\/tr><tr><td>Disciplined, with the evenings free<\/td><td>Books and a packet of tabs, no course<\/td><td>Lookup speed comes from practice, and practice is free.<\/td><\/tr><tr><td>You want the licence fast and the paperwork frightens you<\/td><td>A package including application processing<\/td><td>The application is the part you cannot study your way around.<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">General guidance only, not advice about your particular application.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The honest summary is that the course is not what passes the exam, and the cheapest route that still works is rarely the cheapest product on the page. Buy the books you are allowed to carry, tab them, and spend the money you saved on time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"frequently-asked-questions\">Frequently asked questions<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-q-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is a prep course required to sit the Florida contractor exam?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. The state sets eligibility, experience and application requirements, and none of them include a prep course. Every school on this page is a private business, and completing its course is not a step in the licensing process.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can I take a course&#8217;s pre tabbed books into the exam room?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Permanent tabs and highlighting or underlining are allowed on approved references, which is why pre tabbed books are sold at all. Written notes are not. Only the books on the current reference list for the part you are sitting may be brought in, whoever sold them to you.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">If a course is advertised as guaranteed, do I get a refund when I fail?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Read the terms first, because guarantee usually means a free repeat of the course rather than money back. Gold Coast Schools states that once an online course is purchased no refunds or credits are given, that access expires a year from purchase, and that switching to the classroom costs a $50 transfer fee plus the tuition difference.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Do I have to buy the whole package again if I failed one part?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. Passed parts stand, so you re sit only the part you failed after a 30 day wait, with the retake commonly quoted at $295. A single part course is listed at $395 self study or $695 with live classes, far less than a second full package.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is there an official pass rate I can check a school&#8217;s claim against?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>We could not find one. The department does not appear to publish pass rates by exam part, so the 50, 55 and 40 percent figures widely quoted online could not be confirmed against an official source, and neither can any school&#8217;s own percentage. Ask what population a quoted rate covers.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Does the state or the testing vendor endorse any prep school?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. Professional Testing, Inc. is contracted to develop and score the examinations, and the department regulates licensing. Neither endorses, accredits or recommends a prep provider, and a school describing itself as number one is describing its own marketing, not a state ranking.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<div class=\"msq-end\" id=\"ms-quiz-end\">\n<p><strong>Finished the page?<\/strong> The same five questions from the top, to see what stuck.<\/p>\n<button type=\"button\" class=\"msq-btn msq-start-test\">Test Your Understanding of This Article<\/button>\n<div class=\"msq-mount\"><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Rules and fees change without notice. This page was verified on the date shown and is rechecked on the weekly refresh. If you hit something different, tell us in the comments.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prices for every major Florida contractor prep package, read from the providers own pages, set beside the cost of buying the books and studying alone.<\/p>\n","protected":false},"author":1,"featured_media":237,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","rank_math_title":"Florida Contractor Exam Prep: Course or Self Study, Priced","rank_math_description":"Florida contractor exam prep is listed today from $399.99 for a course with no books to $4,749 for a full package. Here is what each one actually buys.","rank_math_focus_keyword":"florida contractor exam prep","rank_math_canonical_url":"","rank_math_breadcrumb_title":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"","rank_math_pillar_content":"","rank_math_robots":[],"rank_math_advanced_robots":[]},"categories":[3],"tags":[],"class_list":["post-240","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-exam-prep"],"_links":{"self":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts\/240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/comments?post=240"}],"version-history":[{"count":7,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts\/240\/revisions"}],"predecessor-version":[{"id":403,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts\/240\/revisions\/403"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/media\/237"}],"wp:attachment":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/media?parent=240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/categories?post=240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/tags?post=240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}