Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) Regulations API

The CFR part tree and its effective versions.

Operations 3

GET /regulation List every regulation part and effective version eRegulations holds #
GET /regulation/{part} List the effective versions of one CFR part #
GET /regulation/{part}/{version} Retrieve the full node tree for one version of a CFR part #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bureau-of-alcohol-tobacco-firearms-and-explosives-atf--regulations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bureau-of-alcohol-tobacco-firearms-and-explosives-atf--regulations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ATF eRegulations Regulations API
  version: '2026-09-05'
  summary: Read-only JSON API over ATF's eRegulations platform (27 CFR Parts 447, 478, 479, 555, 646, 771).
  description: Machine-readable description of the public JSON API served at https://regulations.atf.gov/api/.
  contact:
    name: Bureau of Alcohol, Tobacco, Firearms and Explosives
    url: https://www.atf.gov/contact
  license:
    name: U.S. Government Work (17 U.S.C. 105)
    url: https://www.usa.gov/government-works
servers:
- url: https://regulations.atf.gov/api
  description: ATF eRegulations production API (anonymous, no key)
tags:
- name: Regulations
  description: The CFR part tree and its effective versions.
paths:
  /regulation:
    get:
      operationId: listRegulationVersions
      tags:
      - Regulations
      summary: List every regulation part and effective version eRegulations holds
      description: Returns every (regulation, version) pair loaded into the platform. `version` is the Federal Register document number that produced the text; `by_date` is the date that version took effect.
      responses:
        '200':
          description: Version list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionList'
  /regulation/{part}:
    get:
      operationId: listPartVersions
      tags:
      - Regulations
      summary: List the effective versions of one CFR part
      parameters:
      - $ref: '#/components/parameters/Part'
      responses:
        '200':
          description: Version list scoped to one part
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionList'
  /regulation/{part}/{version}:
    get:
      operationId: getRegulationTree
      tags:
      - Regulations
      summary: Retrieve the full node tree for one version of a CFR part
      description: Returns the whole regulation as a recursive node tree. Each node carries a `label` array (the hierarchical citation, e.g. ["478","11"]), the node `text`, a `node_type` (`regtext`, `subpart`, `section`, `paragraph`, `appendix`, …), an `lft` ordering key and its `children`.
      parameters:
      - $ref: '#/components/parameters/Part'
      - $ref: '#/components/parameters/Version'
      responses:
        '200':
          description: Regulation node tree
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegulationNode'
components:
  parameters:
    Part:
      name: part
      in: path
      required: true
      description: CFR part number. eRegulations carries 447, 478, 479, 555, 646 and 771.
      schema:
        type: string
        enum:
        - '447'
        - '478'
        - '479'
        - '555'
        - '646'
        - '771'
    Version:
      name: version
      in: path
      required: true
      description: Federal Register document number identifying the effective version.
      schema:
        type: string
        examples:
        - 2026-01141
  schemas:
    RegulationVersion:
      type: object
      required:
      - version
      - by_date
      - regulation
      properties:
        version:
          type: string
          description: Federal Register document number that produced this text.
          examples:
          - 2026-01141
        by_date:
          type: string
          format: date
          description: Date the version became effective.
          examples:
          - '2026-01-22'
        regulation:
          type: string
          description: CFR part number.
          examples:
          - '478'
    RegulationNode:
      type: object
      required:
      - label
      - text
      - node_type
      - children
      properties:
        label:
          type: array
          items:
            type: string
          description: Hierarchical citation, most significant element first.
          examples:
          - - '478'
            - '11'
        text:
          type: string
        node_type:
          type: string
          description: Structural role of the node.
          examples:
          - regtext
          - subpart
        title:
          type: string
        lft:
          type: integer
          description: Left-edge ordering key for the nested-set tree.
        children:
          type: array
          items:
            $ref: '#/components/schemas/RegulationNode'
    VersionList:
      type: object
      required:
      - versions
      properties:
        versions:
          type: array
          items:
            $ref: '#/components/schemas/RegulationVersion'
x-generated-from: live probe of https://regulations.atf.gov/api/* on 2026-09-05
x-api-evangelist-modeled: true
x-upstream-project: https://github.com/atfweb/regulations-core