ads.txt / app-ads.txt / sellers.json Extractor
Pricing
from $0.35 / 1,000 records
ads.txt / app-ads.txt / sellers.json Extractor
Fetch and parse the IAB Tech Lab ad-tech transparency triad — ads.txt, app-ads.txt and sellers.json — for any domain or list of domains. One flat, normalized row per seller relationship, seller entry or variable, with a lossless raw copy. The authorized-digital-seller graph as data. Pay per record.
Pricing
from $0.35 / 1,000 records
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Extract public IAB Tech Lab seller declarations into normalized dataset rows for supply-path analysis, monitoring, and authorized-seller graph joins.
Try it now
This bounded example fetches the current ads.txt published for nytimes.com and returns at most 25 rows:
{"domain":"nytimes.com","fileType":"ads_txt","maxRecords":25}
Representative genuine output
A fresh run returned this normalized ads.txt relationship from the public source:
{"_source": "https://nytimes.com/ads.txt","_domain": "nytimes.com","fileType": "ads_txt","recordType": "seller_relationship","_rowIndex": 1,"adSystemDomain": "amazon-adsystem.com","publisherAccountId": "3030","accountType": "DIRECT","certificationAuthorityId": null,"_raw": {"line": "amazon-adsystem.com, 3030, DIRECT"}}
Fields that do not apply to this record type are returned as null in the full dataset schema.
Pricing and cost
The active FREE-tier pay-per-event price is $0.0005/record. Each emitted seller relationship, variable, seller, or file-metadata row is one record event.
The 25-row example has an event-charge ceiling of $0.0125 (25 × $0.0005). A source that returns fewer rows costs less. Apify infrastructure usage is separate from this event-charge ceiling.
Your run's maximum cost is respected. The Actor checks the budget before it fetches any file and before each file or batch. When the next record would go over the limit, it stops and keeps what was already delivered. You are only charged for records that land in your dataset. If a requested file is unreachable (server error or timeout), the run keeps the delivered records but is marked failed.
Inputs and defaults
| Field | Meaning | Default |
|---|---|---|
domain | One bare host or full URL. The prefilled trial source is nytimes.com. | Prefill: nytimes.com |
domains | Optional list of additional domains; normalized duplicates are removed. | Empty |
fileType | all, ads_txt, app_ads_txt, or sellers_json. | all |
relationship | Keep only DIRECT or RESELLER rows from ads.txt/app-ads.txt. | Any |
sellerType | Keep only PUBLISHER, INTERMEDIARY, or BOTH sellers.json rows. | Any |
includeVariables | Emit ads.txt/app-ads.txt KEY=value declarations. | true |
includeFileMeta | Emit one sellers.json file-metadata row. | true |
maxRecords | Total cap across every requested domain and file. | 25 (prefill 25) |
Use domain, domains, or both. The total cap applies after filters and prevents a broad source from producing an unbounded first run.
Output fields
| Field(s) | Meaning |
|---|---|
_source, _domain, fileType, recordType | Requested well-known URL, normalized input domain, source file type, and row discriminator. |
_rowIndex | Zero-based position in the source file when applicable. |
adSystemDomain, publisherAccountId, accountType, certificationAuthorityId | Normalized ads.txt/app-ads.txt seller relationship. accountType is DIRECT or RESELLER. |
variableName, variableValue, comment | ads.txt/app-ads.txt variable declarations and inline comments. |
sellerId, name, sellerDomain, sellerType | sellers.json seller identity. sellerType is PUBLISHER, INTERMEDIARY, or BOTH. |
isConfidential, isPassthrough | Nullable sellers.json flags. |
contactEmail, version, identifiers | sellers.json file-level metadata. |
_raw | Original source line or object retained for traceability. |
adSystemDomain is the join key between a publisher's ads.txt declaration and the corresponding ad system's sellers.json inventory.
Use cases
- Check which ad systems a publisher authorizes as direct sellers or resellers.
- Join ads.txt relationships to sellers.json identities for supply-path research.
- Monitor public declaration changes for brand-safety or ad-fraud review workflows.
- Export normalized rows to agents, spreadsheets, databases, or scheduled data-quality checks.
Coverage, freshness, and legal limits
The Actor reads the three public IAB Tech Lab transparency formats at their well-known paths:
https://<domain>/ads.txtfor web Authorized Digital Sellers declarations;https://<domain>/app-ads.txtfor the mobile-app equivalent; andhttps://<domain>/sellers.jsonfor an ad system's declared seller inventory.
It fetches the source at run time, follows redirects, decodes compressed text, skips comments and blank lines, and retains malformed data lines in _raw instead of inventing values. Results reflect what the source owner published at that moment; the Actor does not guarantee that a domain publishes every file or that declarations are complete, current, or compliant. It is a generic reader of public IAB formats, not an IAB certification or legal-compliance service. No login-walled or private data is accessed.
Troubleshooting
- 404: A missing file is skipped because many domains publish only part of the triad. Check the domain and select the specific
fileTypeyou expect. - HTML returned with HTTP 200: Some hosts serve a marketing or anti-bot page at a well-known path. The Actor detects and skips that body rather than turning HTML into records.
- Redirects: Redirects are followed automatically. If the destination is missing, blocked, or HTML rather than the requested IAB file, that source is skipped.
- Zero rows: Every requested file was absent or unparseable, or the selected relationship/seller filter removed all rows. Recheck
domain,fileType, and filters; a zero-row source exits cleanly without fabricated output.