Ads.txt checker: is this publisher's ads.txt valid, and who may sell its ads?
In short: Paste publisher domains and see, for each, whether /ads.txt exists, how many DIRECT and RESELLER records it has, which ad systems it names, its OWNERDOMAIN and MANAGERDOMAIN, and every line a buyer's crawler will skip. Limit: It reads the publisher's file only; account IDs aren't matched against sellers.json.
An ads.txt checker fetches a domain's /ads.txt and reads it against the IAB Tech Lab ads.txt 1.1 specification. Paste one domain or up to 100 (500 after a Google sign-in): each gets Valid, Has line errors, No valid records, No ads.txt or Unreachable, with its DIRECT and RESELLER counts, the ad systems it authorises, OWNERDOMAIN and the exact lines in error.
Price: this tool is free. Checking a whole email list is from $9/mo, and the first 100 checks are free with Google, no card. See pricing
Sample result
globex-recipes.example lists 31 sellers, but line 14 says DIRCET, so one seller is skipped.
- Domain
- globex-recipes.example
- Records
- 4 DIRECT, 27 RESELLER
- Line 14
- DIRCET
What this means for you
Find publishers with no ads.txt, a broken one, or lines buyers' crawlers ignore.
- DIRECT and RESELLER counted
- OWNERDOMAIN and MANAGERDOMAIN read
- Every bad line with its number
- 100 domains a run, 500 when signed in
- ads.txt
- Publishers
- Ad ops
By SimpleVerifier Team · Last updated
Auditing ads.txt across a whole publisher list?
- Over 500 domains? Run them in batches of 500 when signed in and download the CSV after each.
- Filter the CSV on line_errors to find files buyers partly ignore.
- Pitching these publishers? Check the contact list at /verify before the first send. The first 100 email checks are free with a Google sign-in, no card.
How do I check a website's ads.txt file?
- Paste one publisher domain or a list, one per line: up to 100 a run, or 500 after a free Google sign-in.
- Press Check ads.txt. Each domain's /ads.txt is fetched over HTTPS (plain HTTP if HTTPS doesn't answer), following up to five redirects.
- Read the verdict, the DIRECT and RESELLER counts, the ad systems, and any line numbers with the reason they don't parse.
- Download the CSV with one row per domain.
Example
- You enter
- Three publisher domains:
acme-news.example,globex-recipes.exampleandinitech-sports.example. - You get
acme-news.exampleValid: 48 records across 19 ad systems, 6 DIRECT and 42 RESELLER, OWNERDOMAIN acme.example.globex-recipes.exampleHas line errors: line 14 says DIRCET instead of DIRECT, so that seller is skipped.initech-sports.exampleNo ads.txt (404). Download the CSV.- Limits
- Up to 100 domains a run without an account and 500 when signed in with Google. Account IDs aren't matched against sellers.json.
What does a valid ads.txt line look like?
Each record is one line with three or four comma-separated fields: the ad system's domain (google.com), the publisher's account ID in that system (pub-0000000000000000), the relationship (DIRECT if the publisher controls the account, RESELLER if someone else sells on its behalf), and optionally the certification authority ID (for example the TAG-ID). Anything after # is a comment and anything after ; is an extension the record can carry.
Lines in NAME=value form are variables: CONTACT, SUBDOMAIN (pointing crawlers at a subdomain's own file), INVENTORYPARTNERDOMAIN, and the two added in ads.txt 1.1: OWNERDOMAIN, the business that owns the site, and MANAGERDOMAIN, a company that manages its ad sales. A line in neither form is skipped by crawlers, which is why the checker lists each one with its line number.
Why does a broken ads.txt cost a publisher money?
Buyers' platforms crawl ads.txt and compare it with the seller in each bid request. If the account ID offered isn't in the file, or the line that holds it doesn't parse, the impression can look unauthorised and be filtered out. A typo like DIRCET or a missing comma silently removes one seller.
The other half of the check is on the ad system's side: its sellers.json lists the accounts it runs. This checker reads only the publisher's file, so it can say a record is well formed, not that the account ID really belongs to that publisher.
Who uses this tool, and for what?
- Publishers
- Catch a typo that silently drops a seller after the last ads.txt edit.
- Ad ops teams
- Confirm every property in a network lists the same OWNERDOMAIN and partners.
- SSP and network partnerships
- Check whether prospect publishers already list your ad system.
- Media buyers
- Screen a list of sites for missing or broken ads.txt before a campaign.
What can’t this tool tell you?
- It reads the publisher's file only; account IDs aren't matched against sellers.json.
- app-ads.txt and SUBDOMAIN= target files aren't fetched.
- The first 1 MiB of a file is read.
- Up to 100 domains a run without an account and 500 signed in.
Common questions
- Where must ads.txt be placed?
- At the root of the domain, /ads.txt, as plain text. Subdomains are covered by SUBDOMAIN= lines in the root domain's file, which the checker counts but doesn't fetch.
- What is the difference between DIRECT and RESELLER?
- DIRECT means the publisher, or the site's owner, directly controls the account in that ad system. RESELLER means another company is authorised to resell the inventory through its own account.
- Does it check app-ads.txt?
- No. app-ads.txt for mobile and CTV apps uses the same format but lives on the developer's website; paste that domain and read the format rules here, or check it separately.
- Can it confirm an account ID is real?
- No. That needs the ad system's sellers.json. The checker confirms each line is well formed and names an ad system domain.
- Can I check many domains at once?
- Yes. 100 domains a run without an account and 500 after a free Google sign-in, with a CSV.
- Is the ads.txt checker free?
- Yes, it's a free tool with no card. One GET of each domain's /ads.txt.
Sources
You audited one domain. Cold outreach means thousands.
This tool checks a domain you type in. It will not tell you which addresses at that domain are real.
- Bulk mailbox verification with real SMTP checks
- The email finder — name plus company to a verified address
- Website enrichment for emails, owner names and socials
Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.