Download the catalogue, then the reading files you need. No account or key is required. Rights vary by edition: there is no single licence for the corpus.
Downloads
- Download the complete edition catalogue (gzipped JSON)
Lists edition identifiers, titles, authors and the file key for each text.
- Download an example text (compressed JSON)
Ilias ·
tlg0012.tlg001.local001 - List all public pages (XML sitemap)
Each reading file contains the Greek text, divisions, blocks and editorial metadata. Uncompress the gzip file to read its UTF-8 JSON. These downloads are reading documents, not the source TEI XML files.
Bulk download
The catalogue lists every edition; append .gz to its objectKey and prefix the text registry base URL to get its reading file. The script below does it for the whole corpus.
Text registry base URLhttps://gitlab.lisn.upsaclay.fr/api/v4/projects/1918/packages/generic/corpus/1
Example file URLhttps://gitlab.lisn.upsaclay.fr/api/v4/projects/1918/packages/generic/corpus/1/works/tlg0012/tlg001/local001.json.gz
Python script: download every reading file
import json
import gzip
from pathlib import Path
from urllib.request import urlopen
catalogue_url = "https://thegreeklibrary.pages.lisn.upsaclay.fr/catalog.json.gz"
text_base = "https://gitlab.lisn.upsaclay.fr/api/v4/projects/1918/packages/generic/corpus/1"
with urlopen(catalogue_url, timeout=60) as response:
catalogue = json.loads(gzip.decompress(response.read()))
destination = Path("greek-library")
destination.mkdir(exist_ok=True)
(destination / "catalog.json").write_text(
json.dumps(catalogue, ensure_ascii=False), encoding="utf-8")
for entry in catalogue["entries"]:
relative_path = entry["objectKey"] + ".gz"
target = destination / relative_path
target.parent.mkdir(parents=True, exist_ok=True)
with urlopen(text_base + "/" + relative_path, timeout=60) as response:
target.write_bytes(response.read())
print(entry["id"], flush=True)
Rights
Read the availability and licence given by each reading document or edition page. Missing licence information does not grant permission to redistribute.
Read the sources and rights policy
Versioning
This publication uses corpus release 2.3.0, dated 2026-08-31. CTS identifiers are the stable edition keys.