Ads.txt Checker avatar

Ads.txt Checker

Pricing

Pay per event

Go to Apify Store
Ads.txt Checker

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

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days 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

ParameterTypeRequiredDefaultDescription
urlsarrayYes--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:

FieldDescription
urlThe original URL provided in the input
domainThe extracted domain name
hasAdsTxtWhether an ads.txt file was found
hasAppAdsTxtWhether an app-ads.txt file was found
adsTxtUrlThe full URL of the ads.txt file
entryCountTotal number of parsed entries
directCountNumber of DIRECT relationship entries
resellerCountNumber of RESELLER relationship entries
uniqueDomainsArray of unique ad exchange domains found
variablesParsed variable declarations (e.g., contact, subdomain)
issuesArray of formatting or compliance issues
errorError message if the check failed, null otherwise
checkedAtISO 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?

Ads.txt Checker uses Apify's pay-per-event pricing. You only pay for what you use.

EventPriceDescription
Start$0.035One-time per run
Domain checked$0.001Per 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

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 ApifyClient
client = 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().items
print(items)

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.

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.