PageSourceSearch

https://gunlaws101.com/ffl-search

html gunlaws101.com collected 2026-09-26 18:07:48 UTC 16,486 bytes, 228 lines download raw bytes

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="{&quot;AL&quot;:&quot;Alabama&quot;,&quot;AK&quot;:&quot;Alaska&quot;,&quot;AZ&quot;:&quot;Arizona&quot;,&quot;AR&quot;:&quot;Arkansas&quot;,&quot;CA&quot;:&quot;California&quot;,&quot;CO&quot;:&quot;Colorado&quot;,&quot;CT&quot;:&quot;Connecticut&quot;,&quot;DE&quot;:&quot;Delaware&quot;,&quot;FL&quot;:&quot;Florida&quot;,&quot;GA&quot;:&quot;Georgia&quot;,&quot;HI&quot;:&quot;Hawaii&quot;,&quot;ID&quot;:&quot;Idaho&quot;,&quot;IL&quot;:&quot;Illinois&quot;,&quot;IN&quot;:&quot;Indiana&quot;,&quot;IA&quot;:&quot;Iowa&quot;,&quot;KS&quot;:&quot;Kansas&quot;,&quot;KY&quot;:&quot;Kentucky&quot;,&quot;LA&quot;:&quot;Louisiana&quot;,&quot;ME&quot;:&quot;Maine&quot;,&quot;MD&quot;:&quot;Maryland&quot;,&quot;MA&quot;:&quot;Massachusetts&quot;,&quot;MI&quot;:&quot;Michigan&quot;,&quot;MN&quot;:&quot;Minnesota&quot;,&quot;MS&quot;:&quot;Mississippi&quot;,&quot;MO&quot;:&quot;Missouri&quot;,&quot;MT&quot;:&quot;Montana&quot;,&quot;NE&quot;:&quot;Nebraska&quot;,&quot;NV&quot;:&quot;Nevada&quot;,&quot;NH&quot;:&quot;New Hampshire&quot;,&quot;NJ&quot;:&quot;New Jersey&quot;,&quot;NM&quot;:&quot;New Mexico&quot;,&quot;NY&quot;:&quot;New York&quot;,&quot;NC&quot;:&quot;North Carolina&quot;,&quot;ND&quot;:&quot;North Dakota&quot;,&quot;OH&quot;:&quot;Ohio&quot;,&quot;OK&quot;:&quot;Oklahoma&quot;,&quot;OR&quot;:&quot;Oregon&quot;,&quot;PA&quot;:&quot;Pennsylvania&quot;,&quot;RI&quot;:&quot;Rhode Island&quot;,&quot;SC&quot;:&quot;South Carolina&quot;,&quot;SD&quot;:&quot;South Dakota&quot;,&quot;TN&quot;:&quot;Tennessee&quot;,&quot;TX&quot;:&quot;Texas&quot;,&quot;UT&quot;:&quot;Utah&quot;,&quot;VT&quot;:&quot;Vermont&quot;,&quot;VA&quot;:&quot;Virginia&quot;,&quot;WA&quot;:&quot;Washington&quot;,&quot;WV&quot;:&quot;West Virginia&quot;,&quot;WI&quot;:&quot;Wisconsin&quot;,&quot;WY&quot;:&quot;Wyoming&quot;,&quot;DC&quot;:&quot;District of Columbia&quot;}" :needed-data="[]" :prev-query="''" :meta="{&quot;results_returned&quot;:0,&quot;results_per_page&quot;:10,&quot;page&quot;: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> &mdash; 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.