How to Retrieve Specific Sections of an IEC Standard via the Smart API

IEC Smart API allows users to retrieve content at a granular level, including specific standard sections such as the Foreword, Introduction, Scope, Normative references, and Terms and definitions. This article explains how to access them step by step.

Python notebook for this article - Example 1.

Prerequisites

  • Access to the IEC Smart API (https://sim-apim.azure-api.net/preprod/smart-api)

  • A valid standard identifier (e.g., urn:iec:std:iec:63391:2024-10)

  • Authentication headers (if required by your API key/subscription)

Step-by-Step Guide

Step 1: Get the list of clauses

Use the following endpoint to retrieve the list of all clauses for a given standard:

GET /v1/standards/{standardURN}/clauses 

Example:

GET https://sim-apim.azure-api.net/preprod/smart-api/v1/standards/urn:iec:std:iec:63391:2024-10/clauses 

This returns a list of clause metadata in JSON-LD format.

Step 2: Identify the clause types you need

In the response, look for objects with the following "@type" values to identify the sections of interest:

  • corext:Foreword

  • corext:Scope

  • corext:NormativeReferences

  • corext:TermsAndDefinitions

Example of a clause metadata block:

{

"@id": "http://smart.iec.ch/clause/50a91882-d9be-4f50-b8f2-75ee44ec2b3d",

"@type": "corext:Foreword",

"dcterms:title": "FOREWORD",

...

}

Step 3: Extract the clause ID

From the matched section, copy the value of "@id" (this is the full clause URI). You'll need only the last segment as the clause ID.

Example:

Clause ID: 50a91882-d9be-4f50-b8f2-75ee44ec2b3d

Step 4: Retrieve the clause content

Use the clause ID with the following endpoint to get the full content:

GET /v1/standards/{standardURN}/clauses/{clauseID}  

Example:

GET https://sim-apim.azure-api.net/preprod/smart-api/v1/standards/urn:iec:std:iec:63391:2024-10/clauses/50a91882-d9be-4f50-b8f2-75ee44ec2b3d 

The response will contain the full structured content of the section.

Tips

  • All sections are returned in a structured, machine-readable JSON format.

  • You can programmatically loop through all clauses to extract the ones matching your desired @type values.

  • Titles may be empty in some clauses – rely on the @type field to identify them reliably.