Skip to main content
GET
/
v1
/
codes
List Building Codes
curl --request GET \
  --url https://api.stru.ai/v1/codes
{
  "stru": [
    {}
  ],
  "file_id": "<string>",
  "filename": "<string>",
  "description": "<string>",
  "design_standard": "<string>",
  "path": "<string>",
  "added_at": 123
}

Overview

Retrieve the complete list of building codes and engineering standards available for search. Use this endpoint to discover what documents are indexed and get their file_id values for targeted searches.
No Authentication Required: This is a public endpoint that doesn’t require an API key.

Query Parameters

design_standard
string
Filter by regional design standard (optional)Valid values:
  • "us" - US standards
  • "eurocode" - European codes
  • "aus-nz" - Australian/NZ codes
  • "canada" - Canadian codes
?design_standard=us

Response

Returns a list of all available building codes with metadata.
stru
array
Array of building code objectsEach object contains:
  • file_id - Unique identifier for use in searches
  • filename - Original PDF filename
  • description - Full title and edition
  • design_standard - Regional category
  • path - Internal storage path
  • added_at - Unix timestamp when added

Example Requests

# Get all available codes
curl https://api.stru.ai/v1/codes

Example Response

{
  "stru": [
    {
      "file_id": "aci-318-19",
      "filename": "ACI_318_19.pdf",
      "description": "ACI 318-19: Building Code Requirements for Structural Concrete",
      "design_standard": "us",
      "path": "/processed_via_script_v2/ACI_318_19.pdf",
      "added_at": 1756268806.1990368
    },
    {
      "file_id": "asce-7-22",
      "filename": "ASCE_7-22.pdf",
      "description": "ASCE 7-22: Minimum Design Loads and Associated Criteria for Buildings and Other Structures",
      "design_standard": "us",
      "path": "/processed_via_script_v2/ASCE_7-22.pdf",
      "added_at": 1756064601.5558982
    },
    {
      "file_id": "aisc-steel-manual-16th-2022",
      "filename": "AISC_Steel_Manual_16th.pdf",
      "description": "AISC Steel Construction Manual, 16th Edition",
      "design_standard": "us",
      "path": "/processed_via_aisc_json_v2/AISC_Steel_Manual_16th.pdf",
      "added_at": 1756232376.858886
    },
    {
      "file_id": "en-1992-1-1-2004",
      "filename": "EN_1992-1-1_2004_Buildings.pdf",
      "description": "Eurocode 2 Part 1-1: General rules and rules for buildings",
      "design_standard": "eurocode",
      "path": "/processed_via_script_v2/EN_1992-1-1_2004_Buildings.pdf",
      "added_at": 1757022494.971794
    },
    {
      "file_id": "as-4100-2020-amd-1-2021",
      "filename": "AS_4100-2020_Amd_1-2021.pdf",
      "description": "AS 4100-2020: Steel structures (Amendment 1-2021)",
      "design_standard": "aus-nz",
      "path": "/processed_via_script_v2/AS_4100-2020+Amd_1-2021.pdf",
      "added_at": 1757025727.421094
    },
    {
      "file_id": "csa-s16-24",
      "filename": "CSA_S16-24.pdf",
      "description": "CSA S16-24: Design of steel structures",
      "design_standard": "canada",
      "path": "/processed_via_script_v2/CSA_S16-24.pdf",
      "added_at": 1757027305.7077918
    }
  ]
}
Status Code: 200 OK

Available Building Codes

Current library includes 22 codes across 4 regional standards:

US Standards (9 codes)

file_idDescription
aci-318-19ACI 318-19: Building Code Requirements for Structural Concrete
aci-349-23ACI 349-23: Code Requirements for Nuclear Safety-Related Concrete Structures
aci-319-25ACI/PCI 319-25: Building Code Requirements for Structural Precast Concrete
asce-7-16ASCE 7-16: Minimum Design Loads and Associated Criteria
asce-7-22ASCE 7-22: Minimum Design Loads and Associated Criteria
aisc-steel-manual-16th-2022AISC Steel Construction Manual, 16th Edition
usace-em-1110-2-2100USACE EM 1110-2-2100: Stability Analysis of Concrete Structures
usace-em-1110-2-2104-2025USACE EM 1110-2-2104: Strength Design for Reinforced-Concrete Hydraulic Structures
aashto-lrfd-9th-2020AASHTO LRFD Bridge Design Specifications, 9th Edition

Eurocode Standards (5 codes)

file_idDescription
en-1992-1-1-2004Eurocode 2 Part 1-1: General rules and rules for buildings
en-1992-1-2-2004Eurocode 2 Part 1-2: Structural fire design
en-1992-2-2005Eurocode 2 Part 2: Concrete bridges
en-1992-3-2006Eurocode 2 Part 3: Liquid retaining and containment structures
en-1992-4-2018Eurocode 2 Part 4: Design of fastenings for use in concrete

Australian/NZ Standards (5 codes)

file_idDescription
as-1418-1-2021AS 1418.1-2021: Cranes, hoists and winches - General requirements
as-1418-2-1997AS 1418.2-1997: Cranes, hoists and winches - Serial hoists and winches
as-1418-18-2024AS 1418.18-2024: Cranes, hoists and winches - Crane runways and monorails
as-4991-2004AS 4991-2004: Lifting devices
as-4100-2020-amd-1-2021AS 4100-2020: Steel structures (Amendment 1-2021)

Canadian Standards (2 codes)

file_idDescription
csa-s16-24CSA S16-24: Design of steel structures
csa-s6-19CSA S6-19: Canadian Highway Bridge Design Code

Use Cases

Use this endpoint to populate a dropdown or picker for users to select which code to search.
# Fetch all codes
codes = requests.get("https://api.stru.ai/v1/codes").json()['stru']

# Create selector options
options = [
    {"value": code['file_id'], "label": code['description']}
    for code in codes
]

# Display in UI
selected_code = display_dropdown(options)
Show only relevant codes based on the user’s location or project.
# User's project is in the US
user_region = "us"

us_codes = requests.get(
    "https://api.stru.ai/v1/codes",
    params={"design_standard": user_region}
).json()['stru']

# Show only US codes
Show users information about each code (edition, year, etc.).
# Get code details
codes = requests.get("https://api.stru.ai/v1/codes").json()['stru']
asce_code = next(c for c in codes if c['file_id'] == 'asce-7-22')

print(f"Code: {asce_code['description']}")
print(f"Standard: {asce_code['design_standard']}")
print(f"Filename: {asce_code['filename']}")

Response Field Details

file_id
string
Unique identifier for use in search queriesUse this value for the document_id parameter when creating a search job
"asce-7-22"
filename
string
Original PDF filename
"ASCE_7-22.pdf"
description
string
Full title and edition of the code
"ASCE 7-22: Minimum Design Loads and Associated Criteria for Buildings and Other Structures"
design_standard
string
Regional categoryValues: "us", "eurocode", "aus-nz", "canada"
"us"
path
string
Internal storage path (for reference only)
"/processed_via_script_v2/ASCE_7-22.pdf"
added_at
number
Unix timestamp when code was added to the library
1756064601.5558982

Best Practices

Cache the response - This list doesn’t change frequently. Cache for 24 hours to reduce API calls.
Use file_id for searches - Always use the file_id value when searching specific documents, not the filename.
Filter by design_standard - If building a regional-specific app, filter the codes list to show only relevant standards.
Display the description field to users, but use file_id internally for API calls.

Next Steps

Search Within a Code

Use the file_id to search within a specific document

Build Code Selector

Create a UI component to let users pick which codes to search