ONIX 3 Feed Checker (Book Metadata)
Pricing
Pay per usage
ONIX 3 Feed Checker (Book Metadata)
Checks ONIX for Books 3.0/3.1 XML feeds against EDItEUR's schema and code lists, plus rules the schema misses (ISBN-13 check digits, real dates, price, currency, territory, contributor). One row per issue with record, field path and line, plus an HTML/Markdown report.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Madrasco
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Check ONIX for Books 3.0 and 3.1 XML feeds before you send them. Give the actor one or more file URLs; it returns one row per problem with the record reference, field path, line number, severity, rule and a plain-English message, plus a readable HTML and Markdown report.
What it checks
- Well-formed XML and the right ONIX root element and namespace (reference names or short tags, detected automatically).
- Schema validity against EDItEUR's published ONIX for Books XSD (3.0.8 or 3.1.3) — elements missing, misplaced or not allowed.
- Code-list values (EDItEUR code lists Issue 74) — e.g. an unknown ProductForm or currency code.
- Rules the schema cannot check, each with its source shown in the output:
| Rule | Severity | Source |
|---|---|---|
| ISBN-13 / GTIN-13 check digit | error | GS1 check-digit method; ISBN Users' Manual |
| ISBN-13 is 13 digits starting 978/979, no hyphens | error | ISBN Users' Manual |
| ISBN-13 sent without the matching GTIN-13 (type 03) | warning | ONIX 3.0 spec P.2 |
| No ISBN-13 or GTIN-13 at all | warning | ONIX 3.0 spec P.2 |
| Duplicate RecordReference in one message | error | ONIX 3.0 spec P.1 |
| DescriptiveDetail / PublishingDetail missing from a full record | error | ONIX 3.0 spec Blocks 1 and 4 |
| No distinctive title (TitleType 01) | warning | ONIX 3.0 spec P.6 |
| No Contributor, ContributorStatement or NoContributor | warning | ONIX 3.0 spec P.7.52 |
| ProductForm 00 (undefined) | warning | ONIX 3.0 spec P.3.2, List 150 |
| No publishing status, globally or per market | error | ONIX 3.0 spec P.20.1 |
| No publication date, globally or per market | warning | ONIX 3.0 spec P.20 / P.25 |
| No ProductSupply block, or no price in any market | warning | ONIX 3.0 spec Block 6, P.26 |
| Price with no currency and no DefaultCurrencyCode | error | ONIX 3.0 spec P.26.71 |
| Market territory with no countries or regions included | warning | ONIX 3.0 spec P.24 |
| Dates that are not real dates in their stated format (e.g. 20260231) | error | ONIX 3.0 spec, List 55 |
EDItEUR's own best-practice guide points out that a conventional schema cannot check things such as the check digits of identifiers, so schema validation alone is not enough; the rules above cover some of that gap.
What it does not do
- It does not guarantee that Amazon, Apple, Kobo, Ingram or any other recipient will accept your feed. Each recipient has its own extra requirements; this checks the ONIX standard and the rules listed above only.
- No EDItEUR "strict" (XSD 1.1) co-occurrence checks beyond the rules listed.
- ONIX 2.1 files are not supported.
Input
- ONIX file URLs (required): direct links to
.xml,.xml.gz, or a.zipholding one or more.xmlfiles (each checked and reported separately asURL#name, up to 50 per zip). Up to 50 URLs per run. Files must be reachable from the internet (e.g. a signed link from your storage). The form comes prefilled with a small demo file written by Madrasco (a fictional publisher and books, with deliberate errors), so a first run shows what the issues look like. - Include warnings (default on), Maximum issues per file (default 5,000), Maximum file size (default 200 MB; as a rough guide, give the run about 10x the file size in memory).
Output
Dataset, one row per issue:
{"fileUrl": "https://example.com/feed.xml", "recordReference": "example.press.0001", "productIndex": 1,"line": 13, "fieldPath": "/ONIXMessage/Product[1]/ProductIdentifier[2]/IDValue", "severity": "error","rule": "gtin13-check-digit", "message": "ISBN-13 '9780000000018' has a wrong check digit.","source": "GS1, How to calculate a check digit manually, ...; International ISBN Agency, ISBN Users' Manual ..."}
A clean file gives a single no-issues row; a file that cannot be downloaded gives a fetch-failed row.
Key-value store: REPORT.html and REPORT.md (summary per file, issues by rule, issue table, sources), OUTPUT (JSON totals).
Privacy
Your file is downloaded into the run, checked, and not kept by us beyond your own Apify storage. Nothing is sent anywhere else.
Support
Open an issue on the actor's Issues tab. This actor is built and maintained with AI assistance by Madrasco; a human owner can be reached on request through the Issues tab.
ONIX is a standard published by EDItEUR. This actor is independent and not affiliated with or endorsed by EDItEUR.
ONIX for Books, its schemas and code lists are © EDItEUR (https://www.editeur.org/), used unmodified under the EDItEUR licence (https://doi.org/10.4400/nwgj).