ONIX 3 Feed Checker (Book Metadata) avatar

ONIX 3 Feed Checker (Book Metadata)

Pricing

from $50.00 / 1,000 file checkeds

Go to Apify Store
ONIX 3 Feed Checker (Book Metadata)

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

from $50.00 / 1,000 file checkeds

Rating

0.0

(0)

Developer

Jack Valmadre

Jack Valmadre

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a month ago

Last modified

Features

Limited permissions

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

  1. Well-formed XML and the right ONIX root element and namespace (reference names or short tags, detected automatically). ONIX 3.0 files may omit the namespace; the checker adds it internally for schema validation without reporting it as a problem.
  2. Schema validity against EDItEUR's published ONIX for Books XSD (3.0.8 or 3.1.3): elements missing, misplaced or not allowed.
  3. Code-list values (EDItEUR code lists Issue 74): e.g. an unknown ProductForm or currency code.
  4. Rules the schema cannot check, each with its source shown in the output:
RuleSeveritySource
ISBN-13 / GTIN-13 check digiterrorGS1 check-digit method; ISBN Users' Manual
ISBN-13 is 13 digits starting 978/979, no hyphenserrorISBN Users' Manual
ISBN-13 sent without the matching GTIN-13 (type 03)warningONIX 3.0 spec P.2
No ISBN-13 or GTIN-13 at allwarningONIX 3.0 spec P.2
Duplicate RecordReference in one messageerrorONIX 3.0 spec P.1
DescriptiveDetail / PublishingDetail missing from a full recorderrorONIX 3.0 spec Blocks 1 and 4
No distinctive title (TitleType 01)warningONIX 3.0 spec P.6
No Contributor, ContributorStatement or NoContributorwarningONIX 3.0 spec P.7.52
ProductForm 00 (undefined)warningONIX 3.0 spec P.3.2, List 150
No publishing status, globally or per marketerrorONIX 3.0 spec P.20.1
No publication date, globally or per marketwarningONIX 3.0 spec P.20 / P.25
No ProductSupply block, or no price in any marketwarningONIX 3.0 spec Block 6, P.26
Price with no currency and no DefaultCurrencyCodeerrorONIX 3.0 spec P.26.71
Market territory with no countries or regions includedwarningONIX 3.0 spec P.24
Dates that are not real dates in their stated format (e.g. 20260231)errorONIX 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 .zip holding one or more .xml files (each checked and reported separately as URL#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).

Within one actor process, downloads and redirect requests to the same hostname run one at a time, with at least one second between completion and the next request. Repeated HTTP 429/503 responses or network failures stop further requests to that hostname; those files receive free fetch-failed rows. A long Retry-After can also stop the hostname. Separate runs and hostname aliases do not share this limit.

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, findings that repeat across several products grouped once with the number of products affected and example records, the remaining issues row by row, sources), OUTPUT (JSON totals).

Pricing

Pay per event:

  • US$0.05 per file checked (event file-checked): each XML file that was downloaded and checked, whatever the check finds. Each .xml file inside a .zip counts as one file. Files that fail to download (fetch-failed) and files listed as skipped are not charged.
  • Our start charge, once per run: US$0.00005 per GB of run memory, minimum one GB (event apify-actor-start). At this actor's default 1 GB that is US$0.00005 per run; at its 8 GB maximum, US$0.0004.

There's no extra charge for platform usage. For example, a run that checks 3 files at the default memory costs 3 × US$0.05 + US$0.00005 = about US$0.15; the prefilled demo file is one file (US$0.05 plus the start charge). Apify shows the price before you run, and you can cap the cost of a run: if you set a maximum charge per run, the actor stops checking files when it is reached and lists the remaining files as skipped rows, which are not charged.

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 by AI agents for 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).