Sellers.json is a public file, published by an advertising system such as an exchange or supply-side platform (SSP), that lists every account the system pays for advertising inventory and says whether each account belongs to a publisher or to an intermediary. It exists because a seller ID in a bid request is just a string of characters. Without a public directory mapping those IDs to legal entities, a buyer cannot tell whether the account selling an impression belongs to the newspaper that owns the page, a reseller several steps removed, or a fraud operation. The Interactive Advertising Bureau (IAB) Tech Lab created the standard in 2019 as the sell-side counterpart to ads.txt.
How the file works
The specification asks every advertising system named in a publisher's ads.txt file, and every system referenced in a SupplyChain object, to host the file at a fixed location: the root of its own domain, at the path /sellers.json. Google, for example, publishes its file at realtimebidding.google.com/sellers.json, according to the AdSense Help Center. The file must be served over HTTP or HTTPS with the content type application/json, and HTTPS is preferred when both exist.
The content is a single JSON (JavaScript Object Notation) object. Two top-level properties are required: version, for which the only valid value is "1.0", and sellers, an array that must include every account the system represents, "even if they are confidential", according to the IAB Tech Lab text. Optional properties include a contact email, a business address and an identifiers array, which can carry a Trustworthy Accountability Group (TAG) ID or a Dun & Bradstreet DUNS number for the advertising system itself.
Each seller entry carries a small set of fields:
- seller_id (required): the same ID that appears in publishers' ads.txt lines and in the sid property of SupplyChain nodes. In most cases it also appears in the Publisher.id field of an OpenRTB bid request.
- seller_type (required): PUBLISHER, INTERMEDIARY or BOTH. PUBLISHER means the inventory sits on a property owned by the named entity and the advertising system pays that entity directly. INTERMEDIARY means either condition fails. BOTH covers accounts that carry both kinds of inventory.
- is_confidential (optional, default 0): when set to 1, the name and domain may be withheld.
- name and domain: the legal entity that is paid and its root domain, required unless the entry is confidential. For intermediaries, the domain should point to where that intermediary hosts its own sellers.json file.
- is_passthrough (optional): flags an account that relays inventory between two parties who already hold a direct account relationship with each other.
- comment and ext: free text and a placeholder for extensions.
The rule that gives the file its value is one sentence long. "It is invalid for a seller_id to represent multiple entities," the specification states. One entity may hold several IDs, for instance one for owned-and-operated inventory and one for resold inventory, but one ID may never hide several businesses.
Where it sits in a transaction
Sellers.json is read offline. A demand-side platform (DSP) or verification company crawls and caches the files, and the specification sets a default expiry of seven days when no cache-control header says otherwise. When a bid request arrives, the buyer reads the seller ID from the request and the chain of nodes from the SupplyChain object, then looks up each pair of advertising system domain and seller ID in the cached files.
A worked example shows the logic. A news site's ads.txt file names exchange A with account 1234 as DIRECT. Exchange A's sellers.json lists 1234 as the news publisher, seller_type PUBLISHER. If a bid request arrives from exchange B with a two-node chain, the buyer can check that exchange B's account for exchange A is listed as INTERMEDIARY in exchange B's file, and that the original node matches the publisher. When any link is missing, confidential or contradictory, the buyer can lower its bid or decline.
The buy side consumes the file: DSPs, verification vendors and supply-path analysts such as Jounce Media. The sell side operates it: SSPs, exchanges, ad networks and any company that pays publishers. Publishers do not host a sellers.json file unless they also run an advertising system, but their names appear in other companies' files.
Origin and evolution
Ads.txt, released in 2017, let publishers declare who was authorised to sell their inventory. It did not reveal who sat behind each exchange account. The IAB Tech Lab released sellers.json and the SupplyChain object for a 30-day public comment period on April 11, 2019. "DSPs are asking for transparency into the full chain," Sam Tingleff, then chief technology officer of IAB Tech Lab, said at the time, according to The Drum. Both specifications were finalised on July 31, 2019. The changelog still lists only version 1.0, dated July 2019.
Adoption followed quickly at independent exchanges. Index Exchange adopted sellers.json and SupplyChain in August 2019. Google was slower. Google committed to sellers.json in Google Ad Manager with a deadline that moved from May 28 to June 8, 2020. Its first file disappointed buyers: only 5% of entries were complete, 53% listed the business name as confidential and 42% lacked a domain, according to Jounce Media figures reported by AdExchanger in June 2020. "Google has been a blind spot for a year," Chris Kane, founder of Jounce Media, said. By October 15, 2020, the file listed 1.2 million publishers, according to AdExchanger. Google added sellers.json settings to AdSense and AdMob in September 2020, giving publishers a choice between Confidential and Transparent.
Buyers turned the file into a condition of trade. In August 2020, Centro said it would block intermediaries that did not comply with sellers.json, noting that some exchanges labelled nearly 100% of their sources confidential.
Why it matters for marketers
Sellers.json is the reference layer behind most supply-path decisions. Supply path optimisation depends on knowing whether an account is a publisher or a reseller, and the file is where that classification lives. In April 2025, Display & Video 360 made a seller ID blocklist available that pairs an exchange domain with a seller ID, with values looked up in exchanges' sellers.json files, at a fee of 1.5% of media cost.
The file also matters to publishers. A confidential or misclassified entry can cost bids from buyers that filter on transparency. Because the data is public, it is also used outside advertising: SEO practitioners mine Mediavine's sellers.json to list sites earning enough to meet that network's traffic threshold.
Limitations and disputes
The central weakness is that declaration is not verification. The file is self-asserted by the company that profits from the trade, and nothing in it is cryptographically signed.
Confidentiality remains contested. The specification allows any seller to withhold its name. Google argued in 2020 that non-confidential intermediaries, large publishers and certified partners accounted for "well north" of 90% of revenue through its system, according to AdExchanger, while buyers pointed to the volume of hidden long-tail accounts. For AdSense accounts registered to individuals, a transparent entry shows the personal name from the payments profile, according to Google, which gives sole traders a privacy reason to choose confidential status.
Data quality is uneven. A study by IAB Europe of 2,054 European news publishers, released on August 7, 2025, found that about 79% of valid ads.txt lines matched sellers.json entries, and that sellers.json files could be collected in only about 61% of attempts. A November 2023 HUMAN Security diagnostic put consistency between declared supply chains and published sellers.json data at 50%, the weakest of its checks, according to PPC Land's report on IAB Tech Lab's programmatic best practices. That is a vendor figure from a single detection network.
Classification is blunt. The BOTH value tells a buyer little about a given impression, and an SSP can be both the direct seller and a reseller of the same publisher. A legitimate PUBLISHER entry also says nothing about content quality: made-for-advertising sites can appear with complete and accurate entries.
Not the same as
- Ads.txt: hosted by the publisher, listing which advertising systems and accounts may sell its inventory. Ads.txt authorises; sellers.json identifies. App-ads.txt, the version for mobile and connected TV apps, is covered in a separate explainer.
- SupplyChain object: travels inside each bid request and records every node that handled it. Sellers.json is the static directory used to resolve those nodes.
- buyers.json: a later IAB Tech Lab proposal for the demand side, paired with a DemandChain object, covered in the buyer explainer.
- adagents.json: a proposal from Brian O'Kelley of Scope3, published in March 2026, for a machine-readable publisher authorisation file meant to replace ads.txt. It is not an IAB Tech Lab standard.
Recent developments
On September 16, 2026, IAB Tech Lab's Programmatic Governance Council released Programmatic Best Practices version 1.0, which asks participants to keep ads.txt and sellers.json files updated. Public comment closes on October 16, 2026. As of October 2026, the IAB Tech Lab sellers.json page was updated on October 7 with a supply chain information sheet framing the three standards around three questions: who may sell, who the seller is and how the request travelled. The specification itself remains at version 1.0.
Pressure from buyers has moved beyond the file. The Trade Desk launched OpenAds on October 2, 2025, targeting resellers it accused of duplicating requests. For SSPs, explained in the supply-side platform explainer, sellers.json is now baseline hygiene rather than a differentiator. The open question is whether a seven-year-old, unsigned version 1.0 file can carry the weight now placed on it.
Timeline
- 2017: IAB Tech Lab releases ads.txt, the publisher-side authorisation file.
- April 11, 2019: IAB Tech Lab releases sellers.json and the SupplyChain object for 30-day public comment.
- July 31, 2019: Both specifications are finalised as version 1.0.
- August 2019: Index Exchange announces implementation of sellers.json and SupplyChain.
- June 8, 2020: Revised deadline for Google's sellers.json in Google Ad Manager, moved from May 28.
- June 2020: Jounce Media finds 5% of entries in Google's first file complete.
- August 2020: Centro says it will block intermediaries that do not comply.
- September 2020: Google adds sellers.json settings to AdSense and AdMob.
- October 15, 2020: Google's file reaches 1.2 million publishers.
- November 1, 2023: HUMAN Security diagnostic puts schain and sellers.json consistency at 50%.
- April 2025: Display & Video 360 makes its seller ID blocklist available to all users.
- August 7, 2025: IAB Europe study finds about 79% of valid ads.txt lines match sellers.json entries.
- March 30, 2026: Brian O'Kelley publishes adagents.json.
- September 16, 2026: IAB Tech Lab opens comment on Programmatic Best Practices version 1.0.
- October 7, 2026: IAB Tech Lab updates its sellers.json page with a supply chain information sheet.
Related PPC Land coverage
- What is Sellers.json? - The 2020 glossary note defining the file and its fields.
- Index Exchange adopts sellers.json & SupplyChain - One of the first major exchanges to implement both standards, in August 2019.
- Google to support sellers.json in Google Ad Manager - Google's commitment and the moved June 8, 2020 deadline.
- Google starts supporting sellers.json in AdSense and in AdMob - Confidential and Transparent settings for small web and app publishers.
- Centro to require sellers.json and SupplyChain Object - A buyer making compliance a condition of trade.
- Explaining SupplyChain object - The bid request object that sellers.json resolves.
- Ads.txt - The publisher-side authorisation file.
- Explaining supply path - How buyers choose routes using transparency files.
- DV360 introduces seller ID blocklist with additional fee - Seller-level blocking at 1.5% of media cost.
- European publishers show 73% adoption of supply chain transparency standards - IAB Europe's ads.txt and sellers.json study.
- Sellers.json: SEO pros' secret for finding successful niche sites via Mediavine - A non-advertising use of public seller data.
- IAB Tech Lab sets rules to curb duplicate ad bid requests industry-wide - Programmatic Best Practices version 1.0 and its file hygiene rules.
- ads.txt is ten years old. adagents.json wants to replace it - The adagents.json proposal and its critique of current files.
- Explaining Jounce Media - The supply-path analyst that crawls sellers.json at scale.
- Explaining buyer - Covers buyers.json and the DemandChain object.
- Explaining made-for-advertising - Why an accurate seller entry does not establish inventory quality.
- Trade Desk launches OpenAds to counter supply chain manipulation - A buyer-side response to intermediated routes.
- Explaining supply-side platform - The companies that publish most sellers.json files.
Summary
Who: IAB Tech Lab wrote the standard. Exchanges, SSPs and ad networks publish files; DSPs, verification vendors and analysts such as Jounce Media read them. Google, Index Exchange and Centro shaped early adoption.
What: A JSON file at /sellers.json on an advertising system's domain, listing each seller ID it pays, with a seller type of PUBLISHER, INTERMEDIARY or BOTH and, unless confidential, a name and domain.
When: Released for comment on April 11, 2019 and finalised on July 31, 2019. Google's files arrived in 2020. Version 1.0 remains current as of October 2026.
Where: In the open programmatic supply chain, read offline by buyers to resolve the seller IDs carried in ads.txt lines, bid requests and SupplyChain nodes.
Why: Ads.txt said who was authorised to sell but not who sat behind each account. Sellers.json fills that gap so buyers can check the identity behind each account, though entries remain self-declared, confidentiality is permitted and data quality varies.
Discussion