De Rerum Natura · on the nature of things
the full translation, CC0, structured for machines
Everything on this page is a stable, fetchable URL: a complete Latin-English parallel corpus of De Rerum Natura (7,412 verse lines, aligned one-to-one on the standard Munro/Bailey numbering), the full translation source with its 465 notes and the translator's commentary on each book, and the 229 entries of Machiavelli's margin. The English is public domain (CC0). No key, no tracking, no limits of ours: it is a directory of static files.
One JSON object per line, in the printed order. From aligned-02.jsonl, the first line of the swerve:
{"book": 2, "line": 216, "key": "216", "latin": "Illud in his quoque te rebus cognoscere avemus,", "en": "This too, in these matters, we long for you to know:"}
The alignment is exact and complete: every English line was translated
from, and checked twice against, the Latin line it sits beside. The
numbering is the standard one. line is the integer and
key the printed number, which carries a letter for the five
lettered lines (1.860a, 2.164a, 2.465a, 2.528a, 2.903a); where the printed
text transposes lines (1.15 before 1.14, 2.680 after 2.659) both files keep
the printed order. The twenty places where the text is lost are marked
[lacuna] in the reading edition and are not rows here.
Every entry of the marginalia table. From marginalia.json:
{"id": 36, "book": 2, "book_line": "2.217-219", "canvas": 36, "folio": "24v",
"url": "https://digi.vatlib.it/view/MSS_Ross.884/0036", "kind": "note",
"layer": "reading", "expanded": "quom declinent principia",
"english": "When the first-beginnings swerve.", ...}
Cite passages as book.line (e.g. 2.216). Every
line of the reading edition has a stable anchor, so any citation can become
a link: /read/book-02.html#L216.
Fetch one book's alignment and pull out one line:
curl -s https://dererumnatura.org/api/aligned-02.jsonl | grep '"key": "216"'
Load the whole poem as a dataset:
import json, urllib.request
rows = []
for n in range(1, 7):
url = f"https://dererumnatura.org/api/aligned-{n:02d}.jsonl"
with urllib.request.urlopen(url) as f:
rows += [json.loads(line) for line in f]
assert len(rows) == 7412
Three layers, cleanly separated. The English translation
(every en field, and the verse in book-0N.txt) is
dedicated to the public domain under
CC0 1.0.
The Latin is the Perseus Digital Library's text, in the
public domain (its TEI markup is CC BY-SA 4.0). The notes, the
translator's commentary, and the transcription and English of the
margin are © 2026 Chris Duffy,
CC BY 4.0;
Machiavelli's words are his own and public domain. The illustrations are
AI-generated (Google Gemini) and are not reproductions of ancient
paintings.
The translation was produced by a language model (Claude) from the Latin, line by line, checked twice against it, and edited by a human; the method and the full revision history are public in the repository. The same project's Iliad and Odyssey, with the same machine-readable layer, are at wrath-sing-goddess.com/api/ and theclaudyssey.com/api/.