Date Parsed: 2026-03-06
CSV and Excel of the IPTC NewsCodes Genre vocabulary, generated from IPTC's Controlled Vocabulary (CV) server located at http://cv.iptc.org/newscodes/JSON-LD.
Direct links:
Button links:
We wanted to review IPTC’s Genre vocabulary quickly in a spreadsheet, but IPTC publishes it as RDF/XML, RDF/Turtle, or JSON-LD. This repo provides CSV/XLSX exports (and a small converter script) so you can inspect, filter, and integrate the vocabulary without writing your own parser.
- Authoritative vocabulary: https://cv.iptc.org/newscodes/genre/
- Machine-readable endpoint used by the script:
https://cv.iptc.org/newscodes/genre/?format=jsonld - cptall-en-GB.json: A raw snapshot downloaded from IPTC’s CV server on the recorded date, kept for reproducibility so anyone can regenerate/verify the CSV/XLSX against the exact source payload we parsed.
- This repository's CSV/XLSX files are derived convenience formats. The authoritative source remains IPTC's CV server.
- IPTC NewsCodes are licensed under Creative Commons Attribution 4.0 (CC BY 4.0).
- License text: https://creativecommons.org/licenses/by/4.0/
- Credit: IPTC NewsCodes / IPTC.
This repository republishes derived tabular exports for convenience. It is not an official IPTC distribution.
The generated CSV and XLSX share identical columns and order:
Genre-URI: Concept URI fromconceptSet[].uriGenre-QCode (flat): Flat code derived fromconceptSet[].qcode(text after:)Name (en-US): Preferred label with language fallbacken-US -> en-GB -> first availableDefinition (en-US): Definition with language fallbacken-US -> en-GB -> first availablecreated:conceptSet[].createdmodified:conceptSet[].modifiedType: Flattened concept type(s)Genre-QCode (full): OriginalconceptSet[].qcodevalueName (en-GB): Rawen-GBpreferred label when presentDefinition (en-GB): Rawen-GBdefinition when presentNote (en-US):notewith language fallbackNote (en-GB): Rawnote.en-GBwhen presentChange-Note (en-US):changeNotewith language fallbackChange-Note (en-GB): RawchangeNote.en-GBwhen presentretired: Retirement timestamp when presentScheme-URI: Scheme URI frominScheme(fallback to top-level scheme URI)
Run from repository root:
python convert_json_ld_to_csv.py --out_csv data/iptc_genre.csv --out_xlsx data/iptc_genre.xlsxExpected outputs:
data/iptc_genre.csvdata/iptc_genre.xlsx
- Python standard library for fetching/parsing/writing CSV.
openpyxlfor XLSX output.
Install dependency if needed:
pip install openpyxlIf IPTC updates the Genre vocabulary, rerun the script and commit the refreshed data/ artifacts.