Ads.txt Checker
Pricing
Pay per event
Ads.txt Checker
This actor checks websites for ads.txt and app-ads.txt files. It parses authorized digital sellers, identifies DIRECT and RESELLER relationships, extracts unique ad exchange domains, and validates entry formatting. Essential for programmatic advertising compliance.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
4
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Check websites for ads.txt and app-ads.txt compliance. Parse ad exchange entries, relationships, and domains.
What does Ads.txt Checker do?
This actor checks websites for ads.txt and app-ads.txt files. It parses authorized digital sellers, identifies DIRECT and RESELLER relationships, extracts unique ad exchange domains, and validates entry formatting. Essential for programmatic advertising compliance and supply chain transparency across the digital ad ecosystem.
The actor fetches both /ads.txt and /app-ads.txt from each domain, parses every entry according to the IAB Tech Lab specification, and returns structured data ready for analysis or integration into your ad-ops workflows.
Use cases
- Ad fraud prevention -- verify authorized sellers for your domains and detect unauthorized resellers siphoning revenue
- Programmatic compliance -- ensure ads.txt meets IAB Tech Lab standards before ad exchange onboarding
- Publisher monitoring -- track ad partners across publisher sites to understand the supply chain
- Competitive intelligence -- discover which ad networks and SSPs competitors use for monetization
- Supply chain transparency -- audit ad exchange relationships for ads.txt/sellers.json alignment
Why use Ads.txt Checker?
- Batch processing -- check hundreds of domains in a single run instead of visiting each site manually
- Structured output -- get clean JSON with entry counts, relationship types, and unique domains ready for analysis
- API access -- integrate ads.txt monitoring into your ad-ops platform or compliance dashboard
- Fast execution -- lightweight HTTP requests mean results in seconds, not minutes
- Pay-per-event pricing -- only pay for what you use with no monthly subscription
- Dual file support -- checks both ads.txt and app-ads.txt in one pass
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
urls | array | Yes | -- | List of website URLs or domains to check for ads.txt. URLs are automatically cleaned to extract the domain. |
Example input
{"urls": ["https://www.nytimes.com","https://www.bbc.com","https://www.cnn.com"]}
Output fields
Each domain produces one record with the following fields:
| Field | Description |
|---|---|
url | The original URL provided in the input |
domain | The extracted domain name |
hasAdsTxt | Whether an ads.txt file was found |
hasAppAdsTxt | Whether an app-ads.txt file was found |
adsTxtUrl | The full URL of the ads.txt file |
entryCount | Total number of parsed entries |
directCount | Number of DIRECT relationship entries |
resellerCount | Number of RESELLER relationship entries |
uniqueDomains | Array of unique ad exchange domains found |
variables | Parsed variable declarations (e.g., contact, subdomain) |
issues | Array of formatting or compliance issues |
error | Error message if the check failed, null otherwise |
checkedAt | ISO 8601 timestamp of the check |
Output example
{"url": "https://www.bbc.com","domain": "www.bbc.com","hasAdsTxt": true,"hasAppAdsTxt": false,"adsTxtUrl": "https://www.bbc.com/ads.txt","entryCount": 45,"directCount": 12,"resellerCount": 33,"uniqueDomains": ["google.com", "appnexus.com", "rubiconproject.com"],"variables": { "contact": "ads@bbc.com" },"issues": [],"error": null,"checkedAt": "2026-03-01T12:00:00.000Z"}
How much does it cost to check ads.txt?
Ads.txt Checker uses Apify's pay-per-event pricing. You only pay for what you use.
| Event | Price | Description |
|---|---|---|
| Start | $0.035 | One-time per run |
| Domain checked | $0.001 | Per domain checked |
Cost examples:
- 10 domains: $0.035 + 10 x $0.001 = $0.045
- 100 domains: $0.035 + 100 x $0.001 = $0.135
- 1,000 domains: $0.035 + 1,000 x $0.001 = $1.035
How to check ads.txt for a website
- Go to the Ads.txt Checker page in Apify Store
- Click Try for free to open the actor in Apify Console
- Enter website URLs or domains in the URLs field
- Click Start to run the check
- Review results in the Dataset tab — see authorized sellers, relationship types, and compliance issues
- Download results as JSON, CSV, or Excel for your ad-ops reporting
Using the Apify API
You can start Ads.txt Checker programmatically using the Apify API. Replace YOUR_TOKEN with your Apify API token.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('automation-lab/ads-txt-checker').call({urls: ['https://www.nytimes.com', 'https://www.bbc.com'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('automation-lab/ads-txt-checker').call(run_input={'urls': ['https://www.nytimes.com', 'https://www.bbc.com'],})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl "https://api.apify.com/v2/acts/automation-lab~ads-txt-checker/runs" \-X POST \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_TOKEN" \-d '{"urls": ["https://www.nytimes.com", "https://www.bbc.com"]}'
Use with AI agents via MCP
Ads.txt Checker is available as a tool for AI assistants via the Model Context Protocol (MCP).
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Example prompts
- "Check the ads.txt file for nytimes.com"
- "Verify ads.txt compliance for these publisher domains"
Learn more in the Apify MCP documentation.
Integrations
Connect Ads.txt Checker with other tools using Apify integrations. You can pipe results directly into Google Sheets, send Slack alerts when unauthorized sellers appear, trigger workflows in Make or Zapier, push data to n8n automations, or set up webhooks for real-time notifications when ads.txt files change.
Tips and best practices
- Schedule weekly runs to monitor ads.txt changes across your publisher portfolio and catch unauthorized modifications early.
- Compare directCount vs resellerCount to understand the balance of direct and reseller relationships for each domain.
- Check the issues array for formatting errors or entries that do not comply with the IAB specification.
- Combine with competitive analysis by running the checker on top publisher domains in your vertical to benchmark your own ads.txt coverage.
- Filter by uniqueDomains to quickly see which ad exchanges a publisher works with without parsing raw text files.
Legality
This tool analyzes publicly accessible web content. Automated analysis of public web resources is standard practice in SEO and web development. Always respect robots.txt directives and rate limits when analyzing third-party websites. For personal data processing, ensure compliance with applicable privacy regulations.
FAQ
What is ads.txt and why does it matter? Ads.txt (Authorized Digital Sellers) is an IAB Tech Lab standard that lets publishers declare which companies are authorized to sell their ad inventory. It helps prevent ad fraud by allowing buyers to verify seller legitimacy.
Does this actor check both ads.txt and app-ads.txt?
Yes. The actor checks both /ads.txt (for web inventory) and /app-ads.txt (for in-app inventory) in every run and reports results for each file separately.
Can I use domain names instead of full URLs?
Yes. You can pass bare domains like nytimes.com or full URLs like https://www.nytimes.com. The actor automatically extracts the domain and fetches the correct file path.
The actor shows hasAdsTxt as false but I know my site has an ads.txt file. Why?
The actor fetches /ads.txt from the domain root. If your ads.txt is served at a different path, behind a redirect that does not resolve correctly, or if the server returns a non-200 status code, the file will not be detected. Verify the URL in a browser (e.g., https://yourdomain.com/ads.txt) to confirm it loads correctly.
Some entries show up in the issues array. Does that mean my ads.txt is invalid? Not necessarily. The issues array flags entries that do not strictly follow the IAB Tech Lab specification, such as missing fields or unrecognized relationship types. Review each issue to determine if it requires correction. Minor formatting inconsistencies may not affect ad serving but should be fixed for full compliance.
Other SEO and website audit tools
- Robots.txt & Sitemap Analyzer — analyze robots.txt rules and sitemap structure
- Security.txt Checker — check for security.txt disclosure files
- Privacy Policy Detector — detect privacy policy pages on websites
- Cookie Scanner — scan cookies set by websites
- Tech Stack Detector — detect technologies and frameworks used by websites
- Website Health Report — comprehensive website audit covering SEO, performance, and security
