Ads.txt Sellers.json Drift Monitor
Pricing
from $2.00 / 1,000 monitor rows
Ads.txt Sellers.json Drift Monitor
Monitor public ads.txt, app-ads.txt, and sellers.json supply-chain files for semantic drift, parser errors, and missing expected partners.
Pricing
from $2.00 / 1,000 monitor rows
Rating
0.0
(0)
Developer
Defenestrator
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Monitor public ads.txt, app-ads.txt, and sellers.json supply-chain files for semantic drift, parser errors, and missing expected partners.
This Actor is for publishers, ad-ops teams, SSP/exchange QA, agencies, and supply-path-optimization teams that need repeatable evidence that public programmatic advertising supply-chain files have not changed unexpectedly.
It is unofficial and is not affiliated with IAB Tech Lab, Google, OpenX, or any advertising platform.
What it checks
For each target, the Actor can fetch:
https://<domain>/ads.txthttps://<domain>/app-ads.txthttps://<domain>/sellers.json- custom public HTTPS URLs for any of those files
It outputs one dataset row per checked file with:
- final URL, status, byte count, and raw SHA-256
- parsed ads.txt/app-ads.txt counts: DIRECT, RESELLER, invalid lines, duplicate entries, ad-system domain samples
- parsed sellers.json counts: seller count, confidential sellers, seller type counts, seller domain samples
- semantic hash for drift monitoring
- optional baseline comparison against a previous dataset or inline previous rows
- optional checks for expected ad systems or seller IDs
- alert, priority, reasons, and recommended action
Repeat-use loop
Run this Actor on a schedule against the same domain list. On later runs, provide the previous run dataset via the baselineDataset picker, baselineDatasetId, or baselineRows. Keep includeUnchangedRows=true when chaining datasets so the next baseline remains complete. The Actor compares semantic hashes and flags supply-chain drift without alerting on HTTP-level noise alone. Private selected datasets require the picker's explicit READ grant; baseline reads are bounded by row, byte, and time caps, and OUTPUT reports loaded, effective, ignored, overridden, matched, and unmatched baseline counts.
Typical recurring jobs:
- publisher verifies authorized sellers after ad-ops changes
- agency monitors a client portfolio for changed or missing declared reseller relationships
- SSP/exchange QA checks that sellers.json remains parseable and expected seller IDs remain present
- supply-path teams watch for sudden DIRECT/RESELLER count changes
Input example
{"targets": [{"label": "New York Times ads.txt","domain": "nytimes.com","fileTypes": ["ads_txt"],"expectedAdSystems": ["google.com", "indexexchange.com"]},{"label": "OpenX sellers.json","domain": "openx.com","fileTypes": ["sellers_json"],"sellersJsonUrl": "https://assets.openx.com/sellers.json"}],"alertOnAnyChange": true,"includeUnchangedRows": true}
Allowed fileTypes values are ads_txt, app_ads_txt, and sellers_json.
Public-source safety
Only public HTTP(S) files are supported. Do not submit private, internal, localhost, link-local, intranet, or confidential URLs. The Actor blocks private/reserved IP destinations and connects each request/redirect only to the exact public addresses validated for that hop.
Limitations
- It does not buy ads, inspect bid requests, verify SupplyChain objects in live auctions, or prove contractual authorization.
- It parses public ads.txt/app-ads.txt and sellers.json files only.
- It validates key sellers.json fields and reports lenient content-type/redirect-policy warnings, but output is not a certification of IAB compliance.
- Some very large sellers.json files may require raising
maxResponseBytes. - Output identifies public declaration changes and QA signals; it does not prove contractual authorization, fraud, certification, or legal/compliance status. Do not use it as the sole basis for blocking inventory, changing spend, or terminating a partner. Verify material findings against official files, platform records, and counterparties.
Pricing
Buyer-unit price: $2.00 per 1,000 supply-chain file rows written to the default dataset, plus the $0.00005 run-start event.
This Actor uses Apify Pay Per Event (PPE) pricing:
apify-actor-start:$0.00005per run start.apify-default-dataset-item:$0.002per dataset row (Monitor row).- Platform usage is included in the event price; users do not pay a separate platform-usage pass-through.
- A dataset row is exactly one emitted target/file-type monitor result. With
includeUnchangedRows=false, clean unchanged checks are not emitted or item-charged. - The Actor checks PPE charge results, stops before further source work at the dataset-item charge limit, and reports intended versus actually written rows.
Use Apify's max total charge setting before starting a run if you want a hard spend cap.