Homeโ€บValidatorsโ€บDataโ€บApp-ads.txt Validator

App-ads.txt Validator

Data

Enter your app's domain to check if app-ads.txt exists with valid entries. Verifies file status, publisher IDs, and DIRECT/RESELLER records for AdMob & AdSense.

Reviewed by the thecalcu.com team ยท Last updated August 17, 2026

We'll fetch https://{domain}/app-ads.txt and check it against the IAB ads.txt spec.

What is a App-ads.txt?

An App-ads.txt Validator checks whether a domain hosts a correctly formatted app-ads.txt file โ€” the IAB Tech Lab's Authorized Digital Sellers standard extended to cover mobile app inventory. Because app binaries can't be crawled the way a webpage can, the spec requires the file to live at the domain listed as the app's developer website in its store listing, and ad networks like AdMob check it there before deciding whether to bid on that app's ad slots.

The consequence of getting this wrong is easy to miss: there's no error screen in your app, just reduced demand from any buyer that respects the standard and can't confirm you're authorized. This tool fetches the live file the same way a buyer's crawler would and reports exactly which lines, if any, don't match the spec. It shares its format entirely with the Ads.txt Validator, the version built for website inventory rather than apps.

Who Should Use This Validator?

App developers monetizing through AdMob or a mediation platform need this before launch, since a missing file can suppress bids from day one without any visible warning in the app itself. Publishers running both a website and a companion app should check each file separately โ€” they're independent, and a clean website ads.txt says nothing about whether the app-facing file is even present.

Agencies and ad-ops teams managing app inventory for multiple clients can use it as a pre-flight check whenever a client's app listing changes, since updating the developer website field without moving the file is a common way this breaks silently. Anyone auditing why fill rates dropped after a store listing update is also a good candidate โ€” checking this file takes less time than ruling out every other possible cause first.

How to use this App-ads.txt calculator

  1. Confirm the developer website domain listed on your app's Google Play or App Store page โ€” that's the exact domain buyers will check.
  2. Enter that domain in the Domain Name field above, without https:// or any path.
  3. Click Check app-ads.txt. The tool requests https://yourdomain.com/app-ads.txt from that domain directly.
  4. If the request comes back not found, the result shows the HTTP status code returned and a reminder that the file needs to sit at the domain root.
  5. If the file is found, open Show fetched content to see the raw text next to the validation result.
  6. A Valid badge means every line parsed correctly; an Invalid result lists the exact line number and reason for each problem so you can fix the source file and re-check.
Show formula & methodology โ†“Show less โ†‘

Formula & Methodology

This validator applies the same IAB ads.txt 1.0.2 spec used for website ads.txt, since app-ads.txt reuses the identical record syntax:

- Record format: <AD SYSTEM DOMAIN>, <PUBLISHER ACCOUNT ID>, <RELATIONSHIP>[, <CERTIFICATION AUTHORITY ID>], with the first three fields required.
- Relationship must read DIRECT or RESELLER, case-insensitive.
- Variable lines (contact=, subdomain=, ownerdomain=, managerdomain=) are parsed as metadata, not seller records.
- Text after #, or a line starting with #, is a comment and gets skipped entirely.

Valid example:
admob.com, pub-0000000000000000, DIRECT

Invalid example:
admob.com pub-0000000000000000 DIRECT
This fails because commas separate the fields โ€” without them, the parser reads the whole line as a single field and rejects it as incomplete.

Common Reasons This Validator Fails

The most frequent failure is checking the wrong domain โ€” pointing this tool at your company's main website when the app's store listing actually names a different developer website domain. Since the file has to live exactly where that listing points, a perfectly valid app-ads.txt on the wrong domain still won't help the app it's meant to cover.

Copy-paste errors from an ad network's dashboard snippet are another common cause, especially when a publisher ID gets truncated or an extra space sneaks in before the relationship type. Some CMS platforms also block plain-text files from being served at the root without extra configuration, returning an HTML page or a redirect instead of the raw file โ€” that shows up here as a fetch that returns content, but content that fails every parsing check because it isn't actually the text file at all.

Quick Reference

Field Example Required
Ad system domain admob.com Yes
Publisher account ID pub-0000000000000000 Yes
Relationship DIRECT or RESELLER Yes
Certification authority ID f08c47fec0942fa0 No

Related checks:

Frequently Asked Questions

What is app-ads.txt and how is it different from ads.txt?
app-ads.txt is the mobile-app counterpart to the IAB's ads.txt standard โ€” same format, but it authorizes sellers for a mobile app instead of a website. It's hosted on the domain listed in your app's store listing (the developer website field), not inside the app package itself, since app stores don't let crawlers fetch files from inside a binary.
How do I check if my app-ads.txt file is valid?
Enter the domain that's listed as your app's developer website into the field above and click Check app-ads.txt. The tool fetches https://yourdomain.com/app-ads.txt directly, parses each line against the IAB spec, and reports whether it's missing, broken, or valid with a count of records found.
Which domain should I check โ€” my company site or the app's landing page?
Use whichever domain appears in the Developer Website field of your app's Google Play or App Store listing, since that's the exact URL buyers' crawlers will check. If your listing points to a general company site, app-ads.txt has to live at that domain's root, not on a separate app-specific subdomain unless the listing says otherwise.
What does a valid line in app-ads.txt look like?
Each record needs three comma-separated fields: the ad system's domain, your publisher account ID with that system, and a relationship type of DIRECT or RESELLER. For example, admob.com, pub-0000000000000000, DIRECT authorizes AdMob to sell your app's inventory directly on your behalf.
Does a valid app-ads.txt guarantee ads will fill in my app?
No โ€” this check only confirms the file exists at the right location and its syntax matches the IAB spec, not that your AdMob or AdSense account is approved or that any specific ad network will actually bid. A perfectly formatted file with the wrong publisher ID still won't authorize your real inventory, so cross-check the ID against your ad network account.
Where do I get the exact line to add for AdMob?
Open your AdMob account, go to Apps, select the app, and look for the app-ads.txt snippet under its settings โ€” AdMob generates the exact DIRECT line with your publisher ID pre-filled. Paste that line into your app-ads.txt file without editing it.
Is my domain or the file's content stored anywhere?
No. Checking a domain triggers a one-time live fetch of the public app-ads.txt file for validation, and nothing from that request is logged or retained afterward. The file itself is already meant to be publicly readable, so there's no privacy concern in fetching it.
Why does my ad network still show a warning after I fixed the file?
Crawlers for most ad networks re-check app-ads.txt on their own schedule, often once every 24 hours, so a warning in your dashboard can lag behind a fix you just made. If this validator confirms the current file is valid, give it a day before assuming the fix didn't take.
Can one app-ads.txt file cover multiple apps?
Yes, as long as all those apps share the same developer website in their store listings โ€” the file lives at the domain level, not per app, so every app pointing to that domain is covered by the same set of records. You don't need a separate file for each app unless they list different developer websites.
What if my app doesn't have a developer website listed yet?
Add one in your Google Play Console or App Store Connect listing first, since ad buyers have nowhere to look for app-ads.txt without it. Once the listing is updated, publish the file at that domain's root and re-check with this tool.
What are the contact= and ownerdomain= lines for?
These are optional variable declarations from the IAB spec rather than seller records โ€” contact= gives buyers a way to reach you, and ownerdomain=/managerdomain= let you delegate authority to a different domain. This validator recognizes them separately and doesn't flag them as malformed ad records.
Should I check ads.txt too if I have both a website and an app?
Yes โ€” they're independent files serving different inventory, so a valid app-ads.txt doesn't cover your website's ad slots and vice versa. Run your site's domain through the [Ads.txt Validator](/ads-txt-validator/) separately if you monetize both.
Also known as
check app-ads.txtapp-ads.txt checkervalidate app-ads.txt fileis my app-ads.txt validadmob app-ads.txt toolmobile app ads.txt checker