Ads.txt / App-ads.txt Seller Audit

by koukyoUpdated Nov 2, 2026

Find broken ads.txt seller records, duplicates and DIRECT/RESELLER conflicts with line evidence; check expected seller accounts before publishing.

ads.txt
app-ads.txt
adops
+3
|

How to pay

Subscribe

Monthly billing

$1/month

Predictable monthly cost with included usage. Best for steady, high-volume traffic.

  • Unlimited tools within plan limits
  • One API key, billed once a month
  • Cancel any time

Call audit_ads_txt with exactly one of text or url. Diagnose common ads.txt and app-ads.txt seller-record problems before publishing or after an ad partner update: missing fields, malformed advertising-system domains, empty seller IDs, invalid DIRECT/RESELLER values, duplicate account/relationship tuples, and conflicting relationships for the same account. Each finding includes its source line.

Optionally pass expected:[{system:'google.com',sellerId:'pub-123'}] to check whether specific accounts are declared. Domains and relationship types are case-insensitive; seller IDs are case-sensitive. Recognizes the standard no-sellers placeholder and preserves variable declarations in a bounded sample.

This is a syntax and declaration checker, not full IAB conformance or proof of actual seller authorization. Does not verify sellers.json, certification ownership, DNS existence, app-store ownership, subdomain/partner referrals, extension fields or ad delivery.

URL mode checks only the exact host's /ads.txt or /app-ads.txt over public HTTPS/443 with text/plain; respects robots.txt and blocks private networks with pinned DNS. No redirects, compressed responses, delayed crawling or root-domain discovery.

Up to 256 KiB/5,000 lines (text input 100,000 characters), a 20-second network budget, 100 findings and 20 sample records/variables; reports truncation and total counts. No paid upstream API, browser or stored history.

Free: 100 tool calls/month. Pro: $1/month for 1,000 total tool calls, no overage charges or automatic paid upgrade. One tool call is one request regardless of file line count.