1. Home
  2. Free tools
  3. Email deliverability tools
  4. Ads.txt checker

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

One request for each domain's /ads.txt, read against the IAB Tech Lab ads.txt 1.1 specification. 100 domains a run, or 500 when you sign in.
Sample result from the Ads.txt checker
Show the sample result as

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.

Next step:Look up the WHOIS record
  • 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?

  1. Over 500 domains? Run them in batches of 500 when signed in and download the CSV after each.
  2. Filter the CSV on line_errors to find files buyers partly ignore.
  3. 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.
Check the publisher contacts

How do I check a website's ads.txt file?

  1. Paste one publisher domain or a list, one per line: up to 100 a run, or 500 after a free Google sign-in.
  2. 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.
  3. Read the verdict, the DIRECT and RESELLER counts, the ad systems, and any line numbers with the reason they don't parse.
  4. Download the CSV with one row per domain.

Example

You enter
Three publisher domains: acme-news.example, globex-recipes.example and initech-sports.example.
You get
acme-news.example Valid: 48 records across 19 ad systems, 6 DIRECT and 42 RESELLER, OWNERDOMAIN acme.example. globex-recipes.example Has line errors: line 14 says DIRCET instead of DIRECT, so that seller is skipped. initech-sports.example No 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.

Clean your next list before it bounces

100 free email checks when you sign in with Google, no card. Then monthly plans from $9, or one flat price with fair use, never cut off.

100 free checks, no card Cancel anytime Secure payment by Stripe