openapi: 3.2.0 info: title: ATF eRegulations Search 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: Search description: Full-text search across regulation text. paths: /search: get: operationId: searchRegulationText tags: - Search summary: Full-text search across regulation text parameters: - name: q in: query required: true description: Search terms. Required — omitting it returns HTTP 400. schema: type: string examples: - firearm - name: regulation in: query required: false description: Restrict results to one CFR part. schema: type: string examples: - '478' - name: version in: query required: false description: Restrict results to one effective version. schema: type: string examples: - 2026-01141 - name: page in: query required: false description: Zero-based page of results. schema: type: integer minimum: 0 examples: - 1 responses: '200': description: Search results content: application/json: schema: $ref: '#/components/schemas/SearchResults' '400': description: Missing or invalid query parameter content: application/json: schema: $ref: '#/components/schemas/ValidationError' components: schemas: SearchHit: type: object properties: text: type: string label: type: array items: type: string label_string: type: string examples: - 478-113a version: type: string regulation: type: string match_title: type: string paragraph_title: type: string section_title: type: string title: type: string ValidationError: type: object required: - reason properties: reason: type: object description: Field name -> list of validation messages. additionalProperties: type: array items: type: string examples: - reason: q: - Missing data for required field. SearchResults: type: object required: - total_hits - results properties: total_hits: type: integer examples: - 1596 results: type: array items: $ref: '#/components/schemas/SearchHit' 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