1<!DOCTYPE html> 2<html lang=en> 3<head> 4<title> Federal Firearms License Advanced Search 5</title> 6<meta name=viewport content="width=device-width, initial-scale=1.0"> 7<meta charset=utf-8> 8<link href="/css/main.css.pagespeed.ce.9g4kqJTT4m.css" rel=stylesheet media=screen><link href="https://fonts.googleapis.com/css?family=Raleway:700,400" rel=stylesheet type='text/css'><link type="text/css" rel=stylesheet href="https://cdn.rawgit.com/markkr125/jsmaps/v0.0.15/library/native/core.native.css"/>
8<script>
vendor: 323 bytes, line 8
8(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','
8GTM-MT65BSBB
vendor: 3 bytes, line 8
8');
8</script>
vendor: 1 bytes, line 8
8
9<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
vendor: 1 bytes, line 9
9
10<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2244847655937829" crossorigin=anonymous></script>
vendor: 1 bytes, line 10
10
11<script src="/js/app.js.pagespeed.ce.ifri-ufdEE.js"></script>
11 12<meta name=description content="Find and compare information about gun laws in your state as well as others."> 13<meta name=keywords content="gun, guns, law, laws, state, states, data, information, firearm, license, "> 14<link rel=icon href="/favicon.ico" type="image/x-icon"/>
15<script src="https://cdn.rawgit.com/markkr125/jsmaps/v0.0.15/library/core.abstract.js"></script>
vendor: 1 bytes, line 15
15
16<script src="https://cdn.rawgit.com/markkr125/jsmaps/v0.0.15/library/core.abstract-helper.js"></script>
vendor: 1 bytes, line 16
16
17<script src="https://cdn.rawgit.com/markkr125/jsmaps/v0.0.15/library/core.js"></script>
vendor: 1 bytes, line 17
17
18<script src="https://cdn.rawgit.com/markkr125/jsmaps/v0.0.15/library/native/core.native.js"></script>
vendor: 1 bytes, line 18
18
19<script src="https://cdn.rawgit.com/markkr125/jsmaps/v0.0.15/library/native/core.native-ui.js"></script>
vendor: 1 bytes, line 19
19
20<script src="https://cdn.rawgit.com/markkr125/jsmaps/v0.0.15/library/native/core.native-helper.js"></script>
vendor: 1 bytes, line 20
20
21<script src="https://cdn.rawgit.com/markkr125/jsmaps/v0.0.15/library/native/core.native-marker.js"></script>
vendor: 1 bytes, line 21
21
22<script src="https://cdn.rawgit.com/markkr125/jsmaps/v0.0.15/library/native/core.native-infoWindow.js"></script>
vendor: 1 bytes, line 22
22
23<script src="https://cdn.rawgit.com/markkr125/jsmaps/v0.0.15/library/native/core.native-vector.js"></script>
23 24</head> 25<body> 26<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MT65BSBB" height=0 width=0 style="display:none;visibility:hidden"></iframe></noscript> 27<nav class="navbar bg-secondary navbar-dark sticky-top navbar-expand-lg"> 28<div class=container> 29<a class=navbar-brand href="/"> <img src="/img/logo-small.png" class=img-fluid alt=Gunlaws101.com> </a> 30<button class=navbar-toggler type=button data-bs-toggle=collapse data-bs-target="#navbarSupportedContent" aria-controls=navbarSupportedContent aria-expanded=false aria-label="Toggle navigation"> 31<span class=navbar-toggler-icon></span> 32</button> 33<div class="collapse navbar-collapse" id=navbarSupportedContent> 34<ul class=navbar-nav> 35<li class=nav-item><a href="/" class=nav-link>Home</a></li> 36<li class="nav-item dropdown"> 37<a class="nav-link dropdown-toggle" href="#" role=button data-bs-toggle=dropdown aria-expanded=false> 38States 39</a> 40<ul class=dropdown-menu> 41<li class=dropdown-item><a href="/state/overview/district-of-columbia">District of 42Columbia</a></li> 43<li class=dropdown-item><a href="/state/overview/alabama">Alabama</a></li> 44<li class=dropdown-item><a href="/state/overview/alaska">Alaska</a></li> 45<li class=dropdown-item><a href="/state/overview/arizona">Arizona</a></li> 46<li class=dropdown-item><a href="/state/overview/arkansas">Arkansas</a></li> 47<li class=dropdown-item><a href="/state/overview/california">California</a></li> 48<li class=dropdown-item><a href="/state/overview/colorado">Colorado</a></li> 49<li class=dropdown-item><a href="/state/overview/connecticut">Connecticut</a></li> 50<li class=dropdown-item><a href="/state/overview/delaware">Delaware</a></li> 51<li class=dropdown-item><a href="/state/overview/florida">Florida</a></li> 52<li class=dropdown-item><a href="/state/overview/georgia">Georgia</a></li> 53<li class=dropdown-item><a href="/state/overview/hawaii">Hawaii</a></li> 54<li class=dropdown-item><a href="/state/overview/idaho">Idaho</a></li> 55<li class=dropdown-item><a href="/state/overview/illinois">Illinois</a></li> 56<li class=dropdown-item><a href="/state/overview/indiana">Indiana</a></li> 57<li class=dropdown-item><a href="/state/overview/iowa">Iowa</a></li> 58<li class=dropdown-item><a href="/state/overview/kansas">Kansas</a></li> 59<li class=dropdown-item><a href="/state/overview/kentucky">Kentucky</a></li> 60<li class=dropdown-item><a href="/state/overview/louisiana">Louisiana</a></li> 61<li class=dropdown-item><a href="/state/overview/maine">Maine</a></li> 62<li class=dropdown-item><a href="/state/overview/maryland">Maryland</a></li> 63<li class=dropdown-item><a href="/state/overview/massachusetts">Massachusetts</a></li> 64<li class=dropdown-item><a href="/state/overview/michigan">Michigan</a></li> 65<li class=dropdown-item><a href="/state/overview/minnesota">Minnesota</a></li> 66<li class=dropdown-item><a href="/state/overview/mississippi">Mississippi</a></li> 67<li class=dropdown-item><a href="/state/overview/missouri">Missouri</a></li> 68<li class=dropdown-item><a href="/state/overview/montana">Montana</a></li> 69<li class=dropdown-item><a href="/state/overview/nebraska">Nebraska</a></li> 70<li class=dropdown-item><a href="/state/overview/nevada">Nevada</a></li> 71<li class=dropdown-item><a href="/state/overview/new-hampshire">New Hampshire</a></li> 72<li class=dropdown-item><a href="/state/overview/new-jersey">New Jersey</a></li> 73<li class=dropdown-item><a href="/state/overview/new-mexico">New Mexico</a></li> 74<li class=dropdown-item><a href="/state/overview/new-york">New York</a></li> 75<li class=dropdown-item><a href="/state/overview/north-carolina">North Carolina</a></li> 76<li class=dropdown-item><a href="/state/overview/north-dakota">North Dakota</a></li> 77<li class=dropdown-item><a href="/state/overview/ohio">Ohio</a></li> 78<li class=dropdown-item><a href="/state/overview/oklahoma">Oklahoma</a></li> 79<li class=dropdown-item><a href="/state/overview/oregon">Oregon</a></li> 80<li class=dropdown-item><a href="/state/overview/pennsylvania">Pennsylvania</a></li> 81<li class=dropdown-item><a href="/state/overview/rhode-island">Rhode Island</a></li> 82<li class=dropdown-item><a href="/state/overview/south-carolina">South Carolina</a></li> 83<li class=dropdown-item><a href="/state/overview/south-dakota">South Dakota</a></li> 84<li class=dropdown-item><a href="/state/overview/tennessee">Tennessee</a></li> 85<li class=dropdown-item><a href="/state/overview/texas">Texas</a></li> 86<li class=dropdown-item><a href="/state/overview/utah">Utah</a></li> 87<li class=dropdown-item><a href="/state/overview/vermont">Vermont</a></li> 88<li class=dropdown-item><a href="/state/overview/virginia">Virginia</a></li> 89<li class=dropdown-item><a href="/state/overview/washington">Washington</a></li> 90<li class=dropdown-item><a href="/state/overview/west-virginia">West Virginia</a></li> 91<li class=dropdown-item><a href="/state/overview/wisconsin">Wisconsin</a></li> 92<li class=dropdown-item><a href="/state/overview/wyoming">Wyoming</a></li> 93</ul> 94</li> 95<li class="nav-item dropdown"> 96<a class="nav-link dropdown-toggle" href="#" role=button data-bs-toggle=dropdown aria-expanded=false> 97FFL 98</a> 99<ul class=dropdown-menu> 100<li class=dropdown-item>
100<a href="/licensees">Firearm Licensee Home</a></li> 101<li class=dropdown-item><a href="/manufacturing">Firearm Manufacturing Stats</a></li> 102<li class=dropdown-item><a href="/exporting">Firearm Exporting Stats</a></li> 103<li class=dropdown-item><a href="/ffl-search">Firearm Licensee Search</a></li> 104</ul> 105</li> 106<li class=nav-item><a href="/article" class=nav-link>Articles</a></li> 107<li class=nav-item><a href="/faq" class=nav-link>F.A.Q.</a></li> 108<li class=nav-item><a href="/contact" class=nav-link>Contact</a></li> 109<li class=nav-item><a href="#" onclick="redirectToLogin()" class=nav-link>Login</a></li> 110</ul> 111<form class=ms-auto action=/mini-search> 112<div class=input-group> 113<select class="form-select form-select-sm text-center text-primary pe-3" name=choice id=choice onchange="handleSearchOption('choice')"> 114<option value=ffl_number selected>FFL Number</option> 115<option value=ffl_state>FFL by State</option> 116</select> 117<input type=search class="form-control form-control-sm" aria-label="" placeholder=Search name=search id=search minLength=15 maxLength=15> 118<button type=search class="btn btn-primary"> 119<svg xmlns="http://www.w3.org/2000/svg" width=16 height=16 fill=currentColor class="bi bi-search" viewBox="0 0 16 16"> 120<path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"/> 121</svg> 122</button> 123</div> 124</form> 125</div> 126</div> 127</nav>
128<script> 129 function redirectToLogin() { 130 const currentUrl = encodeURIComponent(window.location.href); 131 window.location.href = `https://gunlaws101.com/login?previous_url=${currentUrl}`; 132 } 133</script>
133 134<div class=container id=adv-search> 135<p> 136Welcome to the Gunlaws101 Federal Firearm License advanced search tool! Using the form below, you may search 137for an FFL using the full 15 digit number. Alternatively, you may search by license name, 138business name, city, state, zip code, or any of these combinations. 139</p> 140<div id=app> 141<full-search :states="{"AL":"Alabama","AK":"Alaska","AZ":"Arizona","AR":"Arkansas","CA":"California","CO":"Colorado","CT":"Connecticut","DE":"Delaware","FL":"Florida","GA":"Georgia","HI":"Hawaii","ID":"Idaho","IL":"Illinois","IN":"Indiana","IA":"Iowa","KS":"Kansas","KY":"Kentucky","LA":"Louisiana","ME":"Maine","MD":"Maryland","MA":"Massachusetts","MI":"Michigan","MN":"Minnesota","MS":"Mississippi","MO":"Missouri","MT":"Montana","NE":"Nebraska","NV":"Nevada","NH":"New Hampshire","NJ":"New Jersey","NM":"New Mexico","NY":"New York","NC":"North Carolina","ND":"North Dakota","OH":"Ohio","OK":"Oklahoma","OR":"Oregon","PA":"Pennsylvania","RI":"Rhode Island","SC":"South Carolina","SD":"South Dakota","TN":"Tennessee","TX":"Texas","UT":"Utah","VT":"Vermont","VA":"Virginia","WA":"Washington","WV":"West Virginia","WI":"Wisconsin","WY":"Wyoming","DC":"District of Columbia"}" :needed-data="[]" :prev-query="''" :meta="{"results_returned":0,"results_per_page":10,"page":0}" :latitude="" :longitude=""> </full-search> 142</div> 143<h2 class="ribbon blue"> <span>Map of Licensees near You within 15 miles</span> </h2> 144<div id=map></div> 145</div> 146<footer> 147<ul> 148<li><a href="#legal">legal</a></li> 149<li><a href="/contact">contact</a></li> 150</ul> 151<p class="text-muted credit">built by <a href="http://www.marathon-studios.com/">Marathon Studios, Inc.</a> — Knowledge, delivered.</p> 152</footer>
153<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create','U'+'A-41'+'9474'+'75-3','gunlaws101.com');ga('send','pageview');</script>
vendor: 64 bytes, lines 153-154
153 154<script async src="https://www.googletagmanager.com/gtag/js?id=
154G-ZT94HEQJZ2
vendor: 12 bytes, line 154
154"></script>
155<script>
vendor: 118 bytes, line 155
155window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js',new Date());gtag('config','
155G-ZT94HEQJZ2
vendor: 3 bytes, line 155
155');
155</script>
vendor: 1 bytes, line 155
155
156<script>function handleSearchOption(id){let search=document.getElementById('search');search.value="";let choice=document.getElementById(id);if(choice.value=="ffl_number"){search.maxLength=15;search.minLength=15;}if(choice.value=="ffl_state"){search.minLength=2;search.maxLength=2;}}</script>
vendor: 1 bytes, line 156
156
157<script> 158 document.addEventListener("DOMContentLoaded", function() { 159 if (navigator.geolocation) { 160 navigator.geolocation.getCurrentPosition(showPosition, showError); 161 } else { 162 getGeoIpLocation(); // use geoip location as a fallback 163 alert("Geolocation is not supported by this browser."); 164 } 165 }); 166 167 function showPosition(position) { 168 const lat = position.coords.latitude; 169 const lon = position.coords.longitude; 170 171 // Send user's location to the backend and receive nearby licenses 172 fetch('/save-user-location', { 173 method: 'POST', 174 headers: { 175 'Content-Type': 'application/json', 176 'X-CSRF-TOKEN': 'LP6zuqFSqCb6KSPyl1YXDOmrVsmqUwfFyNmtYhjk' 177 }, 178 body: JSON.stringify({ latitude: lat, longitude: lon }) 179 }) 180 .then(response => response.json()) 181 .then(data => { 182 if (data.success) { 183 const locations = data.locations; 184 const licensees = data.licensees; 185 } 186 }) 187 .catch(error => console.error('Error saving user location or fetching nearby licenses:', error)); 188 } 189 190 function showError(error) { 191 switch(error.code) { 192 case error.PERMISSION_DENIED: 193 getGeoIpLocation(); // Fallback to IP geolocation 194 break; 195 case error.POSITION_UNAVAILABLE: 196 case error.TIMEOUT: 197 case error.UNKNOWN_ERROR: 198 alert("Unable to retrieve your location."); 199 break; 200 } 201 } 202 function getGeoIpLocation() { 203 fetch('/get-geoip') 204 .then(response => { 205 if (!response.ok) { 206 throw new Error('Failed to retrieve location'); 207 } 208 return response.json(); 209 }) 210 .then(data => { 211 if (data.error) { 212 alert(data.error); 213 } else { 214 const latitude = data.latitude; 215 const longitude = data.longitude; 216 const locations = data.locations; 217 const licensees = data.licensees; 218 } 219 }) 220 .catch(error => console.error('Error fetching GeoIP location:', error)); 221 222 } 223 224 225</script>
vendor: 1 bytes, line 225
225
226<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a41435d88ae613f3',t:'MTc5MDQ0NjA2OA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
226<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"aea9264695104e52bf9b3fdad9b8f732","r":1,"spa":2}' crossorigin="anonymous"></script>
226 227</body> 228</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.