Lumorrow Verify Help API Sign in Start free →

Help

Reading the supply chain

The transparency files are public, but they are terse and easy to misread. This page explains what each one claims, what the roles mean, and how Lumorrow Verify watches them.

The three files

A

ads.txt

Published by a website. Lists who is allowed to sell its ad inventory. Found at /ads.txt on the domain.

M

app-ads.txt

The same thing for mobile apps. It lives on the developer website named in the app store listing, not on a domain of the app itself.

S

sellers.json

Published by an exchange or network. Declares every seller it represents, and whether each is a publisher, an intermediary, or both.

The two sides are meant to agree. A publisher names the exchanges allowed to sell for it; each exchange names the sellers it represents. Where the two disagree is where money leaks — and that disagreement is what this product surfaces.

Roles

Publisher

Owns the inventory. Publishes an ads.txt naming who may sell it.

Intermediary

Resells inventory it does not own. Appears in a sellers.json as INTERMEDIARY, and is where a supply chain gains a hop.

Ad tech vendor

An exchange or network that publishes a sellers.json of its own.

These are not exclusive. A large media company is often all three at once: it owns sites, resells other people's inventory, and runs its own exchange.

Glossary

DIRECT
The publisher has a direct business relationship with this seller, and that seller controls the account. The stronger of the two claims.
RESELLER
The publisher authorises this seller to resell its inventory. Legitimate, but it means at least one more party sits between buyer and publisher.
Seller ID
The account identifier at the exchange. It is the join between the two files: the id in an ads.txt line should exist in that exchange's sellers.json.
Certification Authority ID
The optional last field on an ads.txt line — the seller's TAG ID. Useful for identity, not required for authorisation.
INVENTORYPARTNERDOMAIN
A declaration that some inventory on this property belongs to another party, whose own ads.txt authorises it. Without following the delegation, perfectly valid sellers look unauthorised.
Confidential seller
A sellers.json entry whose name and domain are deliberately withheld at the publisher's request. Only the seller id is disclosed.
Passthrough
A seller that does not take ownership of the inventory it passes on. It handles the transaction without buying and reselling.
SupplyChain / schain
The object carried in the bid request listing every hop the impression took. Use the Chain Validator to check one against what the files actually declare.

How monitoring works

We crawl once, globally Nothing you do triggers a crawl, and no customer's activity is visible to another. Everyone reads the same dataset.
You choose what to watch A monitored domain is re-checked daily instead of weekly. Free accounts watch up to three.
We tell you what changed Sellers added or removed, a DIRECT flipped to RESELLER, a file that stopped responding. Free and Starter get a daily digest; Pro and Team get alerts as changes are detected, by email or webhook.

Getting the data out

Every table in the Explorer has an Export CSV button. The file contains every row matching the filters you have set — not the page on screen — so a filtered export of an exchange with thousands of intermediaries returns all of them. Exports are available on Pro and Team.

For programmatic access, see the API reference. Free accounts have no API allowance; the dashboard is the free tier.

Questions

How often is a domain re-checked?

sellers.json files are re-checked daily. An ads.txt file you are monitoring is re-checked daily; one nobody is monitoring is re-checked weekly. A domain added by you is fetched within a few minutes. Cadence follows the file, never the plan — everyone reads the same crawl.

Why does a domain I added show nothing yet?

It is queued. New domains are fetched within a few minutes, but a domain with no ads.txt and no sellers.json will keep showing nothing, because there is nothing to show. If a domain fails repeatedly and nobody is monitoring it, it stops being re-checked until somebody does.

Do you keep previous versions of a file?

No. Only the current version of each file is stored, for every domain, monitored or not. What is kept is the record of what changed and when — so you can see that a seller was removed on a given day without us holding every historical copy of the file.

An exchange lists a seller my ads.txt does not. Is that unauthorised?

Not necessarily. If your file delegates part of your inventory with INVENTORYPARTNERDOMAIN, authorisation for that inventory lives in the partner's file, not yours. We follow that delegation, and say so when a verdict depends on it.

Why can a seller have no name or domain?

The publisher asked the exchange to withhold it. sellers.json has a confidential flag for exactly this, and the seller id is all that is disclosed. It is a legitimate declaration, not missing data — but it does mean free-text search cannot find that seller by name.

What counts against my limits?

Browsing without an account is limited per address. A signed-in account has an hourly allowance for the dashboard and, on paid plans, a separate daily allowance for the API. Exports do not count per row — one export is one request, however many rows it returns.

Still stuck?

Email support@verify.lumorrow.com and include the domain you were looking at — it is almost always the fastest way to an answer.

Create a free account →