Back to Home

Firearms & Explosives API

ATF Federal Firearms License lookup, verification, and search

https://api.compliancegrid.ai/v1/firearms
13 endpoints
~45ms avg response

Overview

The Firearms & Explosives API provides programmatic access to ATF Federal Firearms License (FFL) data. Search and verify FFLs by license number, licensee name, state, or license type. Parse and validate FFL numbers against ATF formatting rules. Access reference data for FFL types, Federal Explosives License (FEL) types, ATF regions, and state codes. Built on ATF's monthly FFL data releases.

Key Features

FFL search by name, state, city, ZIP, license type, or expiration status
FFL verification — validate a specific license number and get full details
FFL number parsing — extract region, district, county, type, and sequence
FFL number format validation against ATF pattern (R-DD-CCC-TT-EX-SSSSS)
Checksum-validated DEA numbers in seed data
Reference data: 11 FFL types, 4 FEL types, 9 ATF regions, 56 state/territory codes
Statistics endpoint for data coverage overview
Admin data reload endpoint for monthly ATF data updates

Endpoints

GET/v1/firearms/ffl/search
POST/v1/firearms/ffl/search
GET/v1/firearms/ffl/verify/:fflNumber
POST/v1/firearms/ffl/verify
GET/v1/firearms/ffl/parse/:fflNumber
GET/v1/firearms/ffl/stats
GET/v1/firearms/reference/ffl-types
GET/v1/firearms/reference/ffl-types/:code
GET/v1/firearms/reference/fel-types
GET/v1/firearms/reference/regions
GET/v1/firearms/reference/expiration-months
GET/v1/firearms/reference/states
POST/v1/firearms/admin/reload-data
View full API reference

Quick Example

firearms-example.ts
// Search for FFLs in Texas
const response = await fetch(
  "https://api.compliancegrid.ai/v1/firearms/ffl/search?state=TX&type=01&limit=5",
  { headers: { "Authorization": "Bearer " + process.env.CG_TOKEN } }
);
const data = await response.json();
console.log(data.totalResults); // 4250
console.log(data.results[0].licenseName);
console.log(data.results[0].premiseState); // "TX"

// Verify a specific FFL
const verify = await fetch(
  "https://api.compliancegrid.ai/v1/firearms/ffl/verify/5-73-123-01-8A-12345",
  { headers: { "Authorization": "Bearer " + process.env.CG_TOKEN } }
);
const result = await verify.json();
console.log(result.found);   // true
console.log(result.record.licenseType); // "01 - Dealer in Firearms"

Sample Response

response.json
{
  "success": true,
  "query": { "state": "TX", "type": "01" },
  "results": [
    {
      "licenseNumber": "5-73-123-01-8A-12345",
      "licenseName": "LONE STAR FIREARMS LLC",
      "businessName": "LONE STAR GUNS",
      "premiseStreet": "1234 MAIN ST",
      "premiseCity": "HOUSTON",
      "premiseState": "TX",
      "premiseZip": "77001",
      "licenseType": "01",
      "licenseTypeName": "Dealer in Firearms",
      "expirationDate": "2027-06-01",
      "expired": false
    }
  ],
  "totalResults": 4250,
  "limit": 5,
  "offset": 0
}

Ready to integrate?

Get your free API key and start building in minutes.

Get API Key