Firearms & Tactical

Building an FFL Dealer Locator Into Checkout Without Breaking Conversion

Developer designing a checkout step to select a receiving dealer location beside an OMS shipping handoff notebook
Illustration of an ecommerce developer building an FFL receiving-dealer locator into checkout.

By E-commerce 4 Internet Marketers Editorial

Explainer. Online firearm catalogs lose carts when shoppers cannot pick a receiving Federal firearms licensee (FFL) without leaving checkout, emailing a license copy, or guessing a ship-to address. This article maps UX and data patterns website owners and developers use to select a receiving FFL, validate that license against Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) public tools and listings, and pass dealer details into order management systems (OMS) and shipping labels. Primary sources are 27 CFR 478.94, 27 CFR 478.99, the live FFLeZCheck tool, ATF’s FFL eZ Check Application page, ATF Federal Firearms Listings, and documented checkout features from ecommerce FFL apps (for example 20North FFL Checkout on BigCommerce and Automatic FFL for WooCommerce).

There is no public ATF FFL dealer-locator API. Merchants build locators from ATF listing downloads, authenticated eZ Check list downloads, and their own certificate files, or they buy third-party directories. This is not legal advice. Confirm transfer workflows with counsel.

Why the locator sits on the conversion path

Under 27 CFR 478.99(a), a licensed importer, manufacturer, dealer, or collector generally may not sell or deliver a firearm to a nonlicensee who does not reside in (or, for a business, maintain a place of business in) the state where the licensee’s premises are located, subject to narrow exceptions elsewhere in part 478 (including certain over-the-counter rifle or shotgun paths). The practical ecommerce path is FFL-to-FFL shipment to a dealer in the buyer’s state, then an in-person handoff at that shop. Checkout that still asks for a residential ship-to for regulated SKUs forces the buyer to invent an address or abandon.

Conversion-friendly locators keep the buyer inside one flow. Documented marketplace apps describe ZIP or radius search, optional maps, selection that locks the firearm shipment address to the dealer’s premises, and post-order access to the selected license number plus a digital license copy for staff verification. Those product behaviors are commercial patterns, not ATF mandates. The federal obligation for licensee-to-licensee disposal remains identity and licensed-status verification under 478.94.

What ATF publishes (and what it does not)

ATF does not document a public REST or GraphQL FFL locator API for ZIP, map, or proximity search. Do not invent endpoints, keys, or “official ATF locator” payloads in storefront code comments or marketing copy.

What ATF does publish for industry use:

  1. FFL eZ Check (interactive verification). The live FFLeZCheck tool lets a user enter the first three digits and the last five digits of an FFL number to check whether that license is valid. ATF’s application page states the purpose is to let an FFL who already has a copy of another FFL’s license authenticate it before shipping or disposing of firearms to that licensee. When the entry matches an active license, the system can return license number, expiration date, license name, trade name, premises address, and mailing address. Type 03 (collectors of curios and relics) and Type 06 (manufacturer of ammunition) licenses are not validated in eZ Check. Attempts return an error even when those licenses may be valid. ATF instructs users not to treat that error as a reason to refuse dealing with a Type 03 licensee, and provides a phone path for verbal verification. The tool also publishes maintenance windows (including Saturday-to-Sunday outages).
  1. Authenticated active-FFL text download via eZ Check. ATF’s eZ Check Application page states FFLs can download a list of all active FFLs (excluding Type 03 and Type 06) as a text file, and that the requesting FFL must provide its 15-digit FFL number. That download is a licensee workflow, not a public anonymous API.
  1. Federal Firearms Listings (monthly public files). ATF’s Federal Firearms Listings page offers year and month selectors for complete FFL lists, state or territory lists, and FFL-type-by-state files. Monthly complete listings have historically been published as downloadable `.txt` and `.xlsx` files (for example ATF’s April 2025 complete-listing page exposes `0425-ffl-list.txt` and `0425-ffl-list.xlsx`). Those files are the public raw material many merchant-built directories start from. They are snapshots, not a live checkout API.

A May 2026 ATF direct final rule that would have changed licensee transfer verification practices around eZ Check was withdrawn after adverse comments. The Federal Register withdrawal (effective July 6, 2026) returns operators to the preexisting regulatory baseline. Ecommerce teams should still treat 27 CFR 478.94 certified-copy (and related) verification as the rule text to design around, and use eZ Check as the ATF-hosted authenticity check described on ATF’s own pages, not as a substitute invented by product marketing.

Merchant-built locator data patterns

Without an official locator API, storefronts that self-host typically follow a pipeline like this:

  • Ingest the latest ATF listing download (public monthly files and/or the authenticated eZ Check active list when the merchant is itself an FFL entitled to that file).
  • Normalize license number, trade name, premises street/city/state/ZIP, and license type fields into a searchable store table. Exclude or specially handle Type 03 and Type 06 where eZ Check will not confirm them.
  • Geocode premises addresses (with a maps provider the merchant controls) so ZIP-radius and map pins work at checkout. Geocoding quality, not ATF, drives “nearby dealer” UX.
  • Refresh on a schedule. Listings age. Documented commercial FFL checkout products advertise daily sync against ATF source data. A merchant-built system should state its refresh cadence in ops runbooks and surface stale-data risk to fulfillment staff.
  • Overlay merchant truth. Preferred dealers, excluded dealers, transfer partners with certificates already on file, and stores that refuse transfers are merchant data, not ATF fields. Prioritizing dealers with a signed license copy already in the seller’s vault reduces post-purchase email loops.

Third-party FFL directory APIs exist as commercial products. They are not ATF services. If a vendor claims “ATF API,” ask whether they mean they ingest ATF listings and eZ Check-compatible numbers, or whether they wrap a nonexistent government endpoint.

Checkout UX that protects conversion

Patterns repeatedly documented by FFL checkout integrations (BigCommerce and WooCommerce examples cited above):

  • Trigger only when needed. Flag SKUs or categories that require FFL delivery. Show the dealer step when the cart contains those items (and, where the merchant configures it, ammo that needs dealer delivery in restricted states). Do not force every apparel order through an FFL map.
  • Search that matches how buyers think. ZIP code plus radius, optional name filter, and an optional map. Return proximity, premises address, and enough identity for the buyer to recognize a shop they already use.
  • One-tap selection that locks ship-to. After selection, set the firearm consignment address to the dealer’s premises and prevent free-text edits that would ship a firearm to a residence by accident. Changing dealers should be the only way to change that address.
  • Keep the buyer in-store. Off-site “find a dealer” PDFs and “email us your FFL” tickets are where carts die. In-checkout search is the conversion feature.
  • Honest microcopy. Tell the buyer the firearm ships to the selected dealer for in-person pickup and transfer paperwork. Do not imply the website already completed Form 4473 or National Instant Criminal Background Check System (NICS) work for an ordinary NICS-required transfer.
  • Mixed carts. Platforms differ. BigCommerce-oriented tools describe multiple consignments on one order (firearms to dealer, accessories to home). WooCommerce’s single-address model leads some plugins to sequential “Save For Later” checkouts so each destination gets its own payment/shipment without cart rebuilds. Choose the pattern that matches the cart platform’s shipping model rather than fighting it.

Measure drop-off at the dealer step the same way you measure payment drop-off. Empty ZIP results, slow map tiles, and dealers without hours or phone numbers on the result card are product bugs, not “compliance friction.”

Validating the receiving license before ship

27 CFR 478.94 requires a licensed transferor disposing of firearms to another licensee to verify the transferee’s identity and licensed status before the transaction. Verification is established by the transferee furnishing a certified copy of the transferee’s license and by such other means as the transferor deems necessary. The section includes carve-outs (for example, a certified copy already furnished during the current license term need not be furnished again to that same transferor; returns to the same licensee; multilicensed organizations). A transferor who holds the required certified information may dispose of firearms to that licensee for not more than 45 days after the transferee’s license expiration date.

Ecommerce design implications:

  • Collect or retrieve a certified license copy for the selected receiving FFL before the selling FFL marks the firearm ready to ship.
  • Store the copy (and metadata) against the dealer record so repeat orders to the same shop reuse it within the license term.
  • Run eZ Check (first three + last five digits) against the copy before ship, understanding Type 03/06 limits and maintenance windows.
  • Record disposition to the receiving FFL in acquisition and disposition (A&D) books. The end customer’s checkout identity is not a substitute for that licensee-to-licensee record.

Admin panels in documented FFL apps often expose order-level actions such as download license on file, upload a newly received copy, change receiving FFL, and open an eZ Check link. Those are workflow conveniences around 478.94, not replacements for it.

Passing dealer details to OMS and shipping

The locator only helps conversion if fulfillment sees the same dealer the buyer picked. Attach structured fields to the order (or to the regulated consignment), not only to a browser session:

  • Full FFL number and truncated display form used at eZ Check
  • License expiration date
  • License name and trade name
  • Premises address (street, city, state, ZIP) used as the ship-to for regulated lines
  • Mailing address if different (for correspondence, not as a substitute ship-to unless ops policy says so)
  • Pointer or file id for the certified license copy
  • Timestamp of last eZ Check or directory refresh, plus operator who cleared ship
  • Buyer-facing transfer notes the dealer needs (order number, buyer name as on the sale, SKU/serial expectations)

OMS and warehouse management system (WMS) rules should refuse a “print label” action for FFL-required lines when premises address or license number is missing, when the certificate file is absent and policy requires it, or when eZ Check status is expired or unknown beyond the merchant’s risk tolerance. Carrier labels must use the dealer premises address for the firearm package. Split shipments so non-regulated lines can still go to the buyer’s home when platform shipping supports it.

Webhook or middleware mappings matter more than which cart plugin you buy. Magento, Shopify custom checkouts, BigCommerce consignments, and WooCommerce order meta all need an explicit field map into the OMS dealer object. Treat receiving-FFL data as first-class order master data, the same way you treat tax jurisdiction or fraud scores.

Implementation checklist for high-risk catalogs

  1. Confirm there is no dependency on a fictional ATF locator API. Prefer ATF listing downloads, eZ Check, and merchant certificate stores (or a named commercial directory with a clear data provenance statement).
  2. Flag FFL-required SKUs/categories and gate the locator on cart contents.
  3. Implement ZIP/radius (and optional name/map) search with premises addresses from the merchant directory.
  4. Lock regulated ship-to to the selected premises address.
  5. Persist license number, expiration, names, addresses, certificate file, and verification status on the order for OMS/WMS.
  6. Require certified-copy presence and eZ Check clearance in the pre-ship workflow per 478.94 and ATF’s eZ Check instructions.
  7. Handle mixed carts with the platform’s real shipping model (multi-consignment vs sequential checkout).
  8. Write customer-facing copy that describes dealer pickup and in-person transfer steps without claiming checkout completed Form 4473 or NICS.
  9. Monitor eZ Check maintenance windows and listing refresh failures as production incidents.
  10. Have counsel review destination-state rules, ammo routing, and preferred-dealer programs. Those sit outside the federal sections verified here.

What this explainer does not invent

This article does not invent ATF API paths, request schemas, or authentication tokens. It does not claim eZ Check replaces the certified-copy framework in 478.94. It does not inventory state waiting periods, carrier firearm policies, or transfer-fee schedules. Commercial app features are described as published product behavior for UX and OMS patterns, not as legal safe harbors. Live atf.gov HTML pages sometimes block automated fetches from this environment; eZ Check behavior was verified on the live FFLeZCheck host, Federal Firearms Listings and eZ Check Application language were corroborated through ATF page search summaries and public listing pages, and 478.94/478.99 text was verified on eCFR. Counsel should re-check live ATF pages before launch.

Sources