Scripta Mundi reads a bookseller's or a library's own description — title, author, year, place, publisher, whatever the text happens to contain — and resolves each book against K10plus, which carries VD16 and VD17; CERL's Heritage of the Printed Book; the Bibliothèque nationale de France; the Library of Congress; and OpenLibrary. The list of catalogues keeps growing. You get back the identification, the public identifiers, and the source catalogue named for every statement.
Charged per identified edition. Related editions and not-founds are free — I don't want to be paid for saying “I don't know.”
It is the step between owning the books and being able to sell — or catalogue — them. It is also the step nobody has time for.
Nothing you learn about one book helps with the next. The time doesn't shrink with practice, and the work doesn't carry over: each book starts from nothing, with the same searches and the same dead ends.
The year is sometimes roman, sometimes absent, sometimes printed wrong. Two editions of the same work can differ by one line of an imprint.
An edition claim you can't source is a claim a buyer, a donor or an auditor can dispute. In this trade that isn't a data problem, it's a reputation problem.
For a library it is the same wall from the other side. Rare-book holdings sit uncatalogued or thinly catalogued not because nobody cares, but because the people qualified to do the work are outnumbered by the shelves. A backlog of a few thousand early printed books is a career, not a project.
Same destination. The difference is where you're allowed to start.
Every book returns in one of four states. The refusals are the point: the system will not name an edition it cannot source.
The listed edition was confirmed in one or more catalogues. Public identifiers are attached where the records carry them: LCCN, OCLC number, K10plus PPN, CERL, BnF ARK, and bibliography numbers such as VD16, VD17, ESTC, USTC or ISTC.
A different edition of the same work was found. The one you listed was not. Reported as such; no match claimed.
No catalogue record matches. The gap is not filled in with what seems likely.
A record was found, but the support behind it is too thin to stand on. The reason is named, not hidden.
The rule underneath all four: no identification without a verifiable library record. Whatever a book turns out to be, it leaves here as one of these four — never as a guess.
One check runs first, and it costs nothing at all: could this place have printed a book in this year? Suppose a listing gives the place of publication as Chicago and the year as 1620. No library lookup is needed to know that is wrong. Printing reached Illinois in 1814, and Chicago itself was not founded until 1833 — two hundred and thirteen years after the date on the listing.
The system correlates the history of printing with historical geography: when a press first worked in a given territory, and when a town came into existence at all. No catalogue is queried to establish this. It is a table lookup, so it can run across an entire inventory in minutes at no cost per record — including the records that could never be identified at all. And where the date printing arrived somewhere is genuinely disputed by scholars, the check stays silent rather than guess.
Anomalies like this are rare. They come from a moment's inattention, or from the latinised names of towns leading to an unfortunate confusion — a place read from a title page and resolved, by a modern hand, to the wrong modern city.
Edition statement, place, year, publisher or printer, as the catalogue transcribes them.
Pagination, plates, format, volumes.
Not only the author. Editors, translators, engravers, cartographers, illustrators, printers and binders, as the catalogues record them.
Every statement carries the catalogue it came from, so it can be checked in minutes instead of researched from scratch.
Delivered as a CSV or as an HTML report you can read and print — one row per book in the first, one page per book in the second. Whichever suits the way you work.
Five listings, exactly as their sellers published them — open one and read it. In the middle, what Scripta Mundi pulled out of that prose. On the right, what the library catalogues confirmed or added, with the catalogue named under every value. Including the book it refused to identify, and why.
Most of a delivery comes back Exact — the edition confirmed, with the libraries named where it was found. The rest comes back honestly: not found where no catalogue holds a matching record, related edition where a different edition of the same work turned up and was reported as such.
The proportions move with the material — sixteenth-century continental printing is harder than nineteenth-century English printing. What doesn't move is the rule: nothing leaves here without a library record behind it, and whatever can't be confirmed costs you nothing.
A platform export, a CSV, or your own descriptions as they stand. Only the title is strictly required — everything else helps. I'll send you a template if you want one.
Each book goes to the catalogues. Up to 500 books in 24 hours.
One row per book in the CSV; one page per book in the report, with the source catalogue named beside every statement.
Related editions and not-founds cost nothing.
An identification is only useful to a library if it lands in the catalogue. MARCXML and ISO 2709 are delivered, with the bibliography numbers written back into field 510 where they were read from, the identifiers where they belong — LCCN in 010, OCLC and PPN in 035, ARK in 024 — and a 588 note stating plainly what was derived automatically and what a person checked. A relator term is never written when the record does not assert the role: the name goes into 700 without $e, as an honest omission rather than a false claim.
MARCXML · ISO 2709 · 588 noteOnce an edition is confirmed, I can also write the reading matter for the page. Three things, and only three:
A description of the book itself.
A life overview.
Illustrator, engraver, cartographer, lithographer, photographer, translator, publisher, editor, bookbinder — each with a life overview.
These are written from what the record holds and from sources that can be pointed at — nothing else. No biography is invented to fill a page. Where a contributor is genuinely obscure and the sources are thin, what you get is a sketch — the equivalent of a police artist's likeness, honest about being a likeness — or nothing at all. An engraver about whom the record is silent stays silent here too.
Scripta Mundi offers two services. Almost everything on this page is about the first one. The film is about the second.
The descriptions, in film — just under four minutes
You buy a description once, for an edition, and reuse it every time that edition returns to your shelves — on your own domain, with no commission and no listing fee. That part hasn't changed; it is simply not the reason to write to me first.
| What you pay for | Up to 1,000 | Single order of 1,000+ |
|---|---|---|
| Identification — per identified edition | $3 | $2 |
| Description — per book, identified books only | $3 | $2 |
The lower rate applies to a single order of a thousand books or more — not to a total accumulated across orders. Related editions and not-founds are free. No setup fee, no subscription, no minimum.
Florin Valentin Marin — founder, among the books.
My name is Florin Valentin Marin. For twenty-five years I worked as an antiquarian bookseller — handling, cataloguing and selling rare and old books. I also collect military history; my own shelves hold more than five hundred volumes on Napoleon alone.
The identification problem is the one I kept running into personally. Books arrive, and before anything can be sold or catalogued, each copy has to be placed: which edition, which issue, which state. It is slow, it doesn't get faster with practice, and it is the reason stock waits.
So I built the thing I wanted. Scripta Mundi reads the description as it stands, queries the library catalogues, and returns a verdict with the source named. The research is accelerated by AI, but the AI is not the authority: a library record is. Where there is no record, there is no identification.
That refusal was the hardest part to build and it is the part I'd defend. A system that always answers is a system that sometimes invents.
Every statement is traceable to a library record. Nothing is inferred to fill a gap.
When the support is thin, you get a refusal with the reason named — not a confident guess.
Every claim carries its catalogue, so you can verify it yourself. If something is wrong, tell me and it costs you nothing.
Failed queries, dead endpoints, thin records — that's my production cost, never yours.
Pick two from your own shelves — the harder the better. You'll get the report back within 24 hours. If either comes back unidentified, you've learned something about your material and it cost you nothing.
Or write directly: contact@scripta-mundi.com