app-ads.txt
app-ads.txt is a text file that lists which ad tech companies are authorized to sell a mobile or CTV app's inventory, so buyers can verify a bid request isn't spoofed.

app-ads.txt is a text file, hosted on a mobile or CTV app developer's website, that lists which ad tech companies are authorized to sell that app's ad inventory. It's the app-specific extension of the original ads.txt standard, adapted because apps don't have their own web domain to host a file the way a website does.
How it works#
An app developer publishes an app-ads.txt file at the root of their developer website, the domain listed in the app's store listing, with one line per authorized seller: the ad system's domain, the developer's seller or publisher ID with that system, whether the relationship is direct or reseller, and optionally a certification ID. When a bid request for that app's inventory reaches a demand-side platform, the buyer or their fraud-detection layer can cross-check the claimed publisher and seller ID against the developer's published app-ads.txt list. If the request doesn't match an authorized entry, it's a strong signal of spoofed or misrepresented inventory.
The related sellers.json standard works from the other direction: it's a file each ad system publishes listing the sellers it works with, so a buyer can verify both sides of the claim independently.
Why it exists#
Mobile app inventory has historically been an easy target for click fraud and domain or app spoofing, where a bad actor sells low-quality or entirely fake inventory while claiming to represent a premium, well-known app. Since apps don't have a browsable URL the way websites do, there was no equivalent of ads.txt for buyers to check against until app-ads.txt filled that gap. It's now a baseline expectation; buyers and their platforms increasingly treat unauthorized or unlisted bid requests as high risk by default rather than giving them the benefit of the doubt.
app-ads.txt also interacts with the SupplyChain Object (schain) carried in the bid request itself, which documents every intermediary a request passed through on its way to the buyer. Between the two, a buyer can verify both who's authorized to sell the inventory and the actual path the request took to reach them.
Why it matters for advertisers#
For advertisers, app-ads.txt compliance isn't something you configure yourself, it's the app developer's responsibility, but it's worth knowing about because DSPs and verification vendors increasingly filter or flag traffic from apps without a valid file. If a native or in-app campaign is underperforming and traffic quality looks off, checking whether the app in question has a complete, accurate app-ads.txt file and a clean ad supply chain is a reasonable early step. For a broader read on which advertisers and networks are actually active and where, rather than auditing supply chain files one app at a time, OpenAdLibrary's ad intelligence index gives visibility into live creative activity across major networks.
FAQ#
Is app-ads.txt required by law?
No. It's an IAB Tech Lab industry standard, not a legal requirement, but major exchanges and DSPs increasingly treat compliance as a de facto requirement for inventory to be trusted and bought at scale.
Where does an app-ads.txt file need to live?
At the root of the domain the app developer lists in their app store listing (for example, example.com/app-ads.txt), not on any other domain the developer might own.
What's the difference between ads.txt and app-ads.txt?
ads.txt covers website inventory, hosted on the website's own domain. app-ads.txt covers app inventory, hosted on the developer's website domain instead, since an app itself has no URL to host the file at.
Does app-ads.txt stop all ad fraud?
No single control does. It reduces one specific type of spoofing, where a bad actor falsely claims to represent a legitimate app, but it doesn't address every form of invalid traffic or fraudulent activity on its own.



