sellers.json Validator
Validate a sellers.json document against the IAB Tech Lab spec in your browser. The file you paste stays on your device.
The sellers.json Validator runs entirely in your browser. The document you paste is parsed and checked on your device and is never fetched from a URL or uploaded to ArrayKit.
Open the ads.txt Validator
About sellers.json Validator
The sellers.json Validator lints an IAB Tech Lab sellers.json document the moment you paste it. It confirms the required top-level version and sellers[] array, then walks every seller entry: each needs a seller_id that is unique across the file and a seller_type of PUBLISHER, INTERMEDIARY, or BOTH (case-insensitive). name and domain are required unless the seller is marked is_confidential, and is_passthrough must be a clean boolean. Findings come back as a pass/fail verdict, per-seller error messages tagged with the array index and seller_id, and a summary that counts sellers by type plus confidential and passthrough entries. Ad-ops and supply-path teams audit their own or a partner's file here without POSTing it to a third-party service — everything runs on your device.
Features
- Checks the required top-level version and sellers[] array per the sellers.json spec
- Verifies every seller_id is present and unique within the file
- Validates seller_type against PUBLISHER, INTERMEDIARY, and BOTH (case-insensitive)
- Enforces name and domain unless the seller sets is_confidential = 1
- Confirms is_confidential and is_passthrough are clean 0/1 boolean flags
- Tags each error with the sellers[] index and the offending seller_id
- Summarizes counts by seller_type plus confidential and passthrough totals
- Parses and validates the document in your browser — the file never leaves your device
How to use the sellers.json Validator
- Paste your sellers.json document, or load the sample to see the expected shape
- Read the pass/fail verdict and the seller-type summary counts
- Jump to each flagged sellers[i] entry using the index and seller_id in the message
- Fix the offending field and re-validate until the document passes
Example
Input
{
"version": "1.0",
"sellers": [
{ "seller_id": "1001", "seller_type": "RESELLER" }
]
}
Output
Invalid sellers.json — 3 issues
sellers[0] (seller_id 1001) — Invalid "seller_type" "RESELLER". Must be one of PUBLISHER, INTERMEDIARY, or BOTH.
sellers[0] — "name" is required unless the seller is confidential.
sellers[0] — "domain" is required unless the seller is confidential.
seller_type only accepts PUBLISHER, INTERMEDIARY, or BOTH; non-confidential sellers need name and domain.
Common errors & troubleshooting
- "Missing required top-level field version" on a file that clearly has sellers. — sellers.json requires a string version field (for example "1.0") at the top level alongside sellers[]. Add it — the sellers array on its own is not enough.
- A confidential seller is flagged for a missing name or domain. — name and domain are only optional when is_confidential = 1 on that seller. Set is_confidential to 1 to omit them, or supply both fields.
- seller_type is rejected even though the value looks right. — Only PUBLISHER, INTERMEDIARY, and BOTH are valid (case-insensitive). Values like RESELLER, SSP, or EXCHANGE are not part of the spec and will fail.
- "Duplicate seller_id" on IDs you believe are distinct. — seller_id is compared as a string, so 1001 and "1001" collide. Each seller_id must be unique within the file — renumber or de-duplicate the entries.
Frequently asked questions
- What does the sellers.json Validator check?
- It confirms the required top-level version and sellers[] array, then checks that every seller has a unique seller_id, a seller_type of PUBLISHER, INTERMEDIARY, or BOTH, and name and domain unless the seller is confidential — flagging each problem with its index and seller_id.
- When can a seller omit name and domain?
- Only when that seller sets is_confidential = 1. The sellers.json spec lets a confidential account hide its name and domain, so the validator skips the name/domain requirement for those entries and counts them separately in the summary.
- Which seller_type values are valid in sellers.json?
- PUBLISHER (owns the inventory), INTERMEDIARY (resells another account's inventory), and BOTH. The check is case-insensitive, so publisher and PUBLISHER both pass, but any other string such as RESELLER is reported as an invalid seller_type.
- Why is a seller_id reported as a duplicate?
- Each seller_id must be unique within a single sellers.json file. The validator normalizes IDs to strings before comparing, so a numeric 1001 and a string "1001" are treated as the same ID and the second occurrence is flagged with a pointer to the first.
- Does the validator fetch my sellers.json from its URL?
- No. It never fetches a remote URL or ad endpoint. You paste the document text and it is parsed and validated on your device, so nothing about the file is uploaded to ArrayKit or any third party.
Related tools
All ArrayKit tools