The ads.txt Delivery Map
Observation date 16 October 2026
ProxyWing Research
https://proxywing.com/research/ads-txt-delivery-map-2026

Scope
This release describes a fixed purposive panel of 150 publisher candidates. It is not a random sample, a ranking of the largest publishers, or a US-market estimate. Primary and late observations are separate. No seller authorization, ad fraud, advertising revenue, or buyer behaviour is measured.

Files
publisher_panel.json: one row for each candidate, including stopped workflows.
redirects.json: 15 observed publisher-to-destination HTTP redirect routes.
target_hosts.json: nine destination-host groups derived from those routes.
redirect_header_evidence.json: reduced status and Location evidence for the 15 routes, with original header hashes and archive-relative provenance. These are extracts, not full original response headers.
body_checks.json: 91 primary body records, byte counts, original hashes and a record-pattern screen. Zero-byte captures are retained. A match is not full IAB validation. sample_record is a single example, not the complete file.
late_checks.json: 11 closing checks. These do not replace primary outcomes.
us_scope_sources.json: URLs and short retained evidence for geographic classification. Unknown does not mean non-US. Geographic categories were not independently re-established from live pages during publication preparation.
summary.json: published aggregate accounting.
sources.json: external references explaining the standard, delegation and prior work.
input_provenance.json: hashes identifying the two supplied collection archives and local closing records. Those archives are not distributed in this public bundle.
recalculate.py: offline consistency checks and recalculation of aggregates.
FIELDS.txt: units, fields and outcome definitions.
LICENSE.txt: reuse scope.
SHA256SUMS.txt: hashes of this release's files, excluding this manifest itself.

Reproduce the totals
Open this folder, then run Python 3.9 or newer:
python recalculate.py
No third-party packages, internet access or paid service is needed. The script does not modify files. It recomputes counts from normalized observations and checks internal joins. It does not independently establish that a capture occurred, re-fetch a website, or validate hashes against raw archives that are not included here.

Collection boundaries
The first two collection waves came from a shared environment with an opaque upstream proxy. Their handling of some unavailable robots.txt outcomes differed. The closing pass used a separate local environment. A verified US-origin vantage and use of ProxyWing's commercial proxy network are not established.
Four observed redirect routes ended in text containing record-like lines. The other eleven destination requests were not made under the collection rules. They must not be relabelled as failed destination deliveries. The 69 primary text observations include the four completed redirect routes, so 69 and 15 must not be added together.
All 15 reported Location values were checked against retained header files during release preparation. The 91 primary body hashes were checked against the supplied or locally retained bodies. Public extracts and hashes support traceability, but do not replace complete raw captures for independent content verification.
The published same-day snapshot cannot establish route stability over time. A current website may return different content.

Citation
ProxyWing Research. The ads.txt Delivery Map: 15 publisher sites pointed to 9 other hosts. Observation date October 16, 2026. https://proxywing.com/research/ads-txt-delivery-map-2026
