Retrieving metadata and documentation for ETSI specifications. Use when you need to find latest version, full title, publication date, download URLs, or version history for any ETSI specification (EN, ES, EG, TS, TR, SR, GS, GR, PAS). Supports parts (e.g., -1, -2, -3).
Retrieve comprehensive metadata for ETSI (European Telecommunications Standards Institute) specifications including latest version, full title, publication date, download URLs, and version history.
To get metadata for an ETSI specification:
uv run scripts/get_etsi_spec.py <spec-number>
Accepted formats:
103224 (six digits, defaults to TS type)103 224 (three digits, space, three digits)ETSI TS 103 224 (with prefix)EG 202 396-3 (document type + spec + part)TR 103 907 (document type + six digits)ES 200 381-1 (document type + six digits + part)Examples:
# TS (Technical Specification)
uv run scripts/get_etsi_spec.py 103224
uv run scripts/get_etsi_spec.py ETSI TS 103 224
# EG (ETSI Guide)
uv run scripts/get_etsi_spec.py EG 202 396-3
# TR (Technical Report)
uv run scripts/get_etsi_spec.py TR 103 907
# ES (ETSI Standard)
uv run scripts/get_etsi_spec.py ES 200 381-1
ETSI publishes multiple document types, each with different purposes:
| Type | Name | Purpose |
|---|---|---|
| EN | European Standard | Harmonized standard |
| ES | ETSI Standard | Technical specification for market implementation |
| EG | ETSI Guide | Guidance document |
| TS | Technical Specification | Technical specification |
| TR | Technical Report | Informational report |
| SR | Special Report | Temporary or specific-use document |
| GS | Group Specification | Specification from a specific group |
| GR | Group Report | Report from a specific group |
| PAS | Publicly Available Specification | Document for public use |
ETSI specifications follow this pattern:
<doc_type> XXX YYY[-Z]Common series prefixes:
200: General telephony requirements103: Speech and multimedia Transmission Quality (STQ)123: System architecture128: Security133: Protocol stack202: Network protocolsExamples:
ETSI TS 103 224: TS type, series 103, specification 224EG 202 396-3: EG type, series 202, specification 396, part 3ES 200 381-1: ES type, series 200, specification 381, part 1The script returns:
Example output for ETSI TS 103 224:
======================================================================
SPECIFICATION: ETSI TS 103224
======================================================================
Latest Version: V1.7.1
Release Code: 60
Directory: 01.07.01_60
Title: Speech and multimedia Transmission Quality (STQ); A sound field reproduction method...
Publication Date: nov 2025
Download URL: https://www.etsi.org/deliver/etsi_ts/103200_103299/103224/01.07.01_60/ts_103224v010701p.pdf
======================================================================
Full versions available: 7
Version history:
- V1.7.1 (release 60) ~ 2025
- V1.7.0 (release 59) ~ 2025
...
The script retrieves ETSI specification metadata through these steps:
Parse specification number from various input formats, including document type (EN/ES/EG/TS/TR/SR/GS/GR/PAS) and optional part (-1, -2, etc.)
Construct delivery directory URL using ETSI's predictable structure:
https://www.etsi.org/deliver/etsi_<type>/<prefix>00_<prefix>99/<full_spec>/https://www.etsi.org/deliver/etsi_ts/103200_103299/103224/Scrape version directories from delivery page
XX.YY.ZZ_AA (major.minor.patch_release)01.07.01_60 = version 1.7.1, release 60Identify latest version by sorting directories
Construct PDF download URL by trying common filename patterns:
<type>_<spec>v<version_no_dots>p.pdf<type>_<spec>v<version_no_dots>.pdf<spec>v<version_no_dots>.pdf.m.pdf extension instead of .p.pdfExtract metadata from PDF:
Spec numbering: Not all specification numbers exist or follow expected patterns. Some specs may be:
URL variations: ETSI delivery URLs may vary by document type and series. The script tries common patterns but may not handle all cases.
Parts detection: Multi-part standards (e.g., ES 200 381-1, -2, -3) are detected from spec number but all parts must be queried separately for complete version history.
EG specifications: EG specs sometimes use different PDF file extensions (e.g., .m.pdf instead of .p.pdf).
Multi-part spec directories: Multi-part specifications like "EG 202 396-3" may use directory naming that differs from single-part specs. The script attempts to find the correct directory by:
Known issue with EG 202 396-3: This specification exists at https://www.etsi.org/deliver/etsi_eg/202300_202399/20239603/ but the script's range detection logic may not always identify the correct directory for multi-part EG specifications. Manual verification may be required for such cases.
If the script fails, retrieve metadata manually:
Find spec directory: Browse to https://www.etsi.org/deliver/etsi_<type>/
<type> is ts, es, eg, tr, etc.Locate spec number in the appropriate prefix range directory (e.g., 103000_103099/)
List version directories (sorted alphabetically = chronological)
Download PDF from version directory
Extract metadata from PDF:
/CreationDate field)For detailed ETSI standards organization and search capabilities, see:
The script requires:
requests - HTTP library (installed via uv)beautifulsoup4 - HTML parsing (install: uv add beautifulsoup4)PyPDF2 - PDF metadata extraction (install: uv add PyPDF2)Install dependencies:
uv add beautifulsoup4 PyPDF2