sigil_verify_ads_txt
Confirms whether an SSP/exchange is authorized to sell a publisher's inventory according to that publisher's ads.txt. This is a cache lookup against ads.txt files crawled daily across the top 10,000 publisher domains — it does NOT fetch the publisher's ads.txt live, so it is fast and adds no latency to a real-time bidding decision.
Use this tool when:
You are an ad-buying agent and want to confirm, pre-bid, that a supply path (publisher → exchange → seller_id) is legitimate.
You are detecting domain spoofing or unauthorized resale in a bid stream.
You want to check whether a seller is listed DIRECT or RESELLER.
Do NOT use this tool when:
You want a full supply-path trust score — that endpoint is Sigil P31.
You want surveillance tracker data for the domain — use
get_domain.
Inputs:
publisher_domain(body, required): Publisher domain, e.g.nytimes.com. Awww.prefix and scheme/path are stripped automatically.exchange_domain(body, required): The exchange/SSP domain as it appears in ads.txt, e.g.google.com,amazon-adsystem.com.seller_id(body, required): The publisher's seller/account ID at that exchange, e.g.pub-4177862836555934. Matched exactly.seller_type(body, optional):DIRECTorRESELLER. When supplied it is checked against the ads.txt entry; a mismatch is reported as a warning.resolve_chain(body, optional): When true, a matched RESELLER entry is cross-checked against the exchange's sellers.json (one authoritative hop).
Returns:
verified: true (entry found), false (confidently not listed), or null (ads.txt could not be retrieved — indeterminate).confidence:high|degraded|low|unknown.seller_entry: the matched ads.txt line (line number, raw text, parsed fields) whenverifiedis true; otherwise null.ads_txt_parse_status,ads_txt_last_parsed,stale: provenance of the cached crawl this answer is derived from.reseller_chain: empty unlessresolve_chain: trueand the matched entry is RESELLER — then it carries the sellers.json cross-check for the seller.warnings: actionable flags, e.g.publisher_not_in_corpus,publisher_has_no_ads_txt,seller_type_mismatch,ads_txt_cache_stale.
Cost:
Counts as one request against the daily rate limit.
Latency:
Typical: <50ms (single cache lookup, no outbound fetch). p99: <120ms.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| receipt | No | When true, attach a signed Receipt v1.0 committed to the transparency log. Additive — the response shape is otherwise unchanged, and a signing failure never costs you the verdict (ADR-014). | |
| seller_id | Yes | Publisher's seller/account ID at the exchange | |
| seller_type | No | Optional — checked against the ads.txt entry | |
| resolve_chain | No | When true, a matched RESELLER entry is cross-checked against the exchange's sellers.json | |
| exchange_domain | Yes | Exchange/SSP domain as listed in ads.txt | |
| publisher_domain | Yes | Publisher domain (www. prefix and scheme stripped) |