Public records · live product
ATF Federal Firearms Licensees
Every active Federal Firearms Licensee in the country from the ATF’s own monthly listing — dealers, pawnbrokers, manufacturers and importers, with the license type decoded and the expiration date worked out from ATF’s code.
Active licensees, nationwide
Columns per record, the same across every product
Per 1,000 records. You pay only for rows delivered
Counted against the live government source on this date
Who uses this
Used by FFL-transfer and shipping platforms verifying a receiving dealer, distributors prospecting by state and license type, and insurers underwriting firearms businesses.
See the data before you pay
A real 100-row sample, produced by running this exact product. Street address, phone and email are masked in the sample only — every other value is the live record.
| full_name | business_name | license_number | credential | state | city | status | expiration_date |
|---|---|---|---|---|---|---|---|
| Gilberto Hernandez-Munoz | Armeria Y. Accesorios El Naranjal | 1-66-003-01-7F-00258 | Dealer in Firearms Other Than Destructive | PR | Aguada | active | 06/30/2027 |
| Empresas Salazar Llc | Salazar Armory Shooting | 1-66-003-07-7J-00459 | Manufacturer of Firearms Other Than Destru | PR | Aguada | active | 09/30/2027 |
| Armeria 129 Llc | Armeria 129 Llc | 1-66-003-07-8E-00486 | Manufacturer of Firearms Other Than Destru | PR | Aguada | active | 05/31/2028 |
| Virginia Cardona-Valentin | Shooting Accessories & Service | 1-66-005-01-8M-00224 | Dealer in Firearms Other Than Destructive | PR | Aguadilla | active | 12/31/2028 |
| Pepino Gun Gallery Inc | Aguadilla Gun Gallery | 1-66-005-08-8D-00477 | Importer of Firearms Other Than Destructiv | PR | Aguadilla | active | 04/30/2028 |
47 columns per record. Full list below.
What you get
One record per licence: the full FFL number (license_number, in ATF's region-district-county-type-expiry-sequence form), the licensee as full_name and the trade name as business_name, credential decoded from ATF's licence-type code (dealer, pawnbroker, manufacturer, importer, and the destructive-device classes), the premise city, state and zip_code, the mailing address, and the listed phone.
status is active for every record — presence in the month's listing *is* the licence being active — and status_basis says exactly that. ATF's two-character expiration code is preserved as expiration_code and decoded into expiration_date (MM/DD/YYYY, with an _iso twin), so expires_in_days and is_expiring_soon work the same way they do across the whole catalogue.
listing_month records which monthly file the record came from.
Every column you receive
- full_name
- first_name
- middle_name
- last_name
- business_name
- license_number
- profession
- credential
- license_type
- state
- state_name
- mailing_state
- city
- county
- zip_code
- status
- is_active
- chaperone_required
- practice_restricted
- ever_disciplined
- issue_date
- expiration_date
- expires_in_days
- is_expiring_soon
- is_new_license
- lead_reasons
- record_type
- issue_date_iso
- expiration_date_iso
- status_basis
- status_raw
- status_reason
- credential_raw
- name_raw
- name
- source
- ffl_region
- ffl_district
- ffl_county_code
- expiration_code
- trade_name
- premise_street
- mailing_street
- mailing_city
- mailing_zip
- phone
- listing_month
Coverage
National — all 50 states, DC and the territories — from a single federal source. The listing is refreshed monthly by ATF; this Actor fetches the latest month by default, or any month back to 2021 when you set month and year. The monthly listing covers business licences; ATF does not include collectors of curios and relics (type 03) in it, so every record here is a dealer, pawnbroker, manufacturer or importer.
Where it comes from
Source: ATF Federal Firearms Listings, monthly (atf.gov)
Official government sources only — the published feeds and files the agencies maintain for public use. No scraping around defenses. Requests are paged, rate-limited, and back off when a server asks them to. Every record carries the source it came from.
Get this data
Live on the Apify StoreRun it yourself on the Apify Store — filter by state, status, or renewal window, and take the result as CSV, Excel, JSON, or straight to an API. You pay only for the rows delivered, and you can cap the charge before it runs.