App Supply Index Monitor my app
iOS · St. Louis Post-Dispatch, LLC

St. Louis Post-Dispatch

Developer URL
https://stltoday.com/ads.
app-ads.txt
https://stltoday.com/app-ads.txt · 200
Checked
Oct 7, 2026
C
69/100

1,250 lines · 694 verified against sellers.json

Findings

Each finding lists the exact lines involved. Findings are automated observations of public files as of Oct 7, 2026. They describe file contents, not the intent or conduct of any company.

warning

DIRECT lines inconsistent with public data

151 −13 pts

The ads.txt specification defines DIRECT as an account the publisher directly controls. For these lines, either the ad system's own sellers.json lists the account as INTERMEDIARY, or the same account is marked DIRECT in the files of 3 or more unrelated companies. Either way, the public data does not support the DIRECT label. Buyers that use DIRECT labels in supply-path decisions may treat these lines differently.

How to fixUse DIRECT only for accounts your company controls. Confirm with each partner whether the account is yours; if it isn't, the specification calls for RESELLER.
Evidence (25 of 151)
line 8      google.com, pub-7165160458962611, DIRECT, f08c47fec0942fa0
             → observed: the same account is marked DIRECT by 4 different companies  name in sellers.json: OpsCo LLC
line 20     rubiconproject.com, 17884, DIRECT, 0bfd66d529a55807
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Google  domain in sellers.json: google.com
line 35     blockthrough.com, 5714937848528896, DIRECT
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Freestar  domain in sellers.json: freestar.com
line 44     criteo.com, B-061740, DIRECT, 9fac4a4a87c2a44f
             → observed: the same account is marked DIRECT by 10 different companies
line 45     dappier.com, 67b3baa838922c69ed990dba, DIRECT
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Publisher First, Inc  domain in sellers.json: freestar.com
line 53     indexexchange.com, 184310, DIRECT, 50b1c356f2c5c8fc
             → observed: the same account is marked DIRECT by 9 different companies
line 54     indexexchange.com, 186431, DIRECT, 50b1c356f2c5c8fc
             → observed: the same account is marked DIRECT by 9 different companies
line 55     indexexchange.com, 193334, DIRECT, 50b1c356f2c5c8fc
             → observed: the same account is marked DIRECT by 9 different companies
line 56     indexexchange.com, 209583, DIRECT, 50b1c356f2c5c8fc
             → observed: the same account is marked DIRECT by 9 different companies
line 57     inmobi.com, 44ce8dca19d54696bbb793d4607fecb0, DIRECT, 83e75a7ae333ca9d
             → observed: the same account is marked DIRECT by 10 different companies
line 69     themediagrid.com, DQ6AMB, DIRECT, 35d5010d7789b49d
             → observed: sellers.json lists the account as INTERMEDIARY; the same account is marked DIRECT by 54 different companies  name in sellers.json: Insticator Inc.  domain in sellers.json: insticator.com
line 70     triplelift.com, 6998, DIRECT, 6c33edb13117fd86
             → observed: the same account is marked DIRECT by 51 different companies  name in sellers.json: The COOL Company  domain in sellers.json: insticator.com
line 71     rubiconproject.com, 16924, DIRECT, 0bfd66d529a55807
             → observed: the same account is marked DIRECT by 10 different companies  name in sellers.json: Freestar LLC  domain in sellers.json: freestar.com
line 72     rubiconproject.com, 17486, DIRECT, 0bfd66d529a55807
             → observed: sellers.json lists the account as INTERMEDIARY; the same account is marked DIRECT by 10 different companies  name in sellers.json: Google  domain in sellers.json: google.com
line 73     media.net, 8CUJ8GUQF, DIRECT
             → observed: the same account is marked DIRECT by 3 different companies  name in sellers.json: Freestar LLC  domain in sellers.json: freestar.com
line 74     media.net, 8CUFH1GPH, DIRECT
             → observed: sellers.json lists the account as INTERMEDIARY; the same account is marked DIRECT by 10 different companies  name in sellers.json: Freestar LLC (via OB)  domain in sellers.json: google.com
line 79     trustedstack.com, TS214MR0W, DIRECT
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Publisher First, Inc.  domain in sellers.json: freestar.com
line 80     themediagrid.com, 6VZ9I7, DIRECT, 35d5010d7789b49d
             → observed: the same account is marked DIRECT by 10 different companies
line 83     minutemedia.com, 014kg58nmg7hk08tk, DIRECT
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Freestar  domain in sellers.json: freestar.com
line 90     nativo.com, 5764, DIRECT, 59521ca7cc5e9fee
             → observed: the same account is marked DIRECT by 10 different companies  name in sellers.json: Freestar  domain in sellers.json: freestar.com
line 100    onetag.com, 65e2f0d9f4ee117-OB, DIRECT
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Freestar (via OB)  domain in sellers.json: google.com
line 105    openx.com, 561209331, DIRECT, 6a698e2ec38604c6
             → observed: the same account is marked DIRECT by 3 different companies
line 106    openx.com, 561342917, DIRECT, 6a698e2ec38604c6
             → observed: the same account is marked DIRECT by 3 different companies
line 109    primis.tech, 27975, DIRECT, b6b21d256ef43532
             → observed: sellers.json lists the account as INTERMEDIARY; the same account is marked DIRECT by 9 different companies  name in sellers.json: Publisher First, Inc.  domain in sellers.json: freestar.com
line 127    pubmatic.com, 156696, DIRECT, 5d62403b186f2ace
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Freestar, LLC  domain in sellers.json: freestar.com
warning

Seller IDs not listed in the ad system's sellers.json

90 −10 pts

The ad system's current sellers.json doesn't list these accounts, so buyers that validate the chain can't match them. Common causes are closed accounts or former partners.

How to fixAsk each partner whether the account is still active and request their current lines; remove lines for closed accounts.
Evidence (25 of 90)
line 23     tritondigital.com, 43473, DIRECT, 19b4454d0b87b58b
             → sellers_json: https://tritondigital.com/sellers.json
line 80     themediagrid.com, 6VZ9I7, DIRECT, 35d5010d7789b49d
             → sellers_json: https://themediagrid.com/sellers.json
line 81     themediagrid.com, SRU5VK, DIRECT, 35d5010d7789b49d
             → sellers_json: https://themediagrid.com/sellers.json
line 184    video.unrulymedia.com, 2696396483, RESELLER
             → sellers_json: https://video.unrulymedia.com/sellers.json
line 215    gumgum.com, 13736, DIRECT, ffdef49475d318a9
             → sellers_json: https://gumgum.com/sellers.json
line 229    aditude.io, 1000002088, DIRECT
             → sellers_json: https://aditude.io/sellers.json
line 230    hashtag-labs.com, 1000002088, DIRECT
             → sellers_json: https://hashtag-labs.com/sellers.json
line 254    pubmatic.com, 158723, RESELLER, 5d62403b186f2ace #sharethrough
             → sellers_json: https://pubmatic.com/sellers.json
line 263    spotim.market, sp_ayl2022, RESELLER, 077e5f709d15bdbb
             → sellers_json: https://spotim.market/sellers.json
line 276    onetag.com, 6da66bc9398bdea-OB, DIRECT
             → sellers_json: https://onetag.com/sellers.json
line 277    lijit.com, 346012-eb, DIRECT, fafdf38b16bf6b2b
             → sellers_json: https://lijit.com/sellers.json
line 306    revcontent.com, 56211, DIRECT
             → sellers_json: https://revcontent.com/sellers.json
line 315    google.com, pub-3990748024667386, RESELLER, f08c47fec0942fa0
             → sellers_json: https://realtimebidding.google.com/sellers.json
line 430    stnvideo.com, STN_0004770, DIRECT
             → sellers_json: https://stnvideo.com/sellers.json
line 500    stnvideo.com, STN_0005107, DIRECT
             → sellers_json: https://stnvideo.com/sellers.json
line 501    stnvideo.com, STN_0005121, DIRECT
             → sellers_json: https://stnvideo.com/sellers.json
line 503    stnvideo.com, g48BRUOyktSgjWtcCc1Eeg, DIRECT
             → sellers_json: https://stnvideo.com/sellers.json
line 504    stnvideo.com, Q1ETGYSYJwBcRt2OZiFLsg, DIRECT
             → sellers_json: https://stnvideo.com/sellers.json
line 505    stnvideo.com, HOEAltBa-nxYC9axhGEe3w, DIRECT
             → sellers_json: https://stnvideo.com/sellers.json
line 513    stnvideo.com, STN_0005717, DIRECT
             → sellers_json: https://stnvideo.com/sellers.json
line 543    rubiconproject.com, 17814, RESELLER, 0bfd66d529a55807
             → sellers_json: https://rubiconproject.com/sellers.json
line 555    rubiconproject.com, 17888, RESELLER, 0bfd66d529a55807
             → sellers_json: https://rubiconproject.com/sellers.json
line 558    video.unrulymedia.com, 2564526802, RESELLER, 98c21ef9a666c68b
             → sellers_json: https://video.unrulymedia.com/sellers.json
line 574    rubiconproject.com, 24588, RESELLER, 0bfd66d529a55807
             → sellers_json: https://rubiconproject.com/sellers.json
line 592    themediagrid.com, B9YKSI, RESELLER, 35d5010d7789b49d
             → sellers_json: https://themediagrid.com/sellers.json
warning

Lines for ad system domains that don't resolve

11 −1 pts

These ad system domains don't resolve (the domain may be retired, merged or misspelled). The lines can't be validated, and if the domain is registered again, its new holder would appear authorized.

How to fixRemove these lines. If the domain is registered again, its new holder would appear authorized by your file.
Evidence (11)
line 16     t.brand-server.com, 57913, DIRECT
             → ad_system: t.brand-server.com
line 630    districtm.io, 100962, RESELLER
             → ad_system: districtm.io
line 640    districtm.io, 101661, RESELLER
             → ad_system: districtm.io
line 656    districtm.io, 100683, DIRECT, 3fd707be9c4527c3
             → ad_system: districtm.io
line 675    engagebdr.com, 10008, RESELLER
             → ad_system: engagebdr.com
line 726    districtm.io, 101760, RESELLER, 3fd707be9c4527c3
             → ad_system: districtm.io
line 764    districtm.io, 101769, RESELLER, 3fd707be9c4527c3
             → ad_system: districtm.io
line 775    ssp.ynxs.io, 185, DIRECT
             → ad_system: ssp.ynxs.io
line 867    districtm.io, 101069, DIRECT, 3fd707be9c4527c3
             → ad_system: districtm.io
line 890    districtm.io,101069,DIRECT,3fd707be9c4527c3
             → ad_system: districtm.io
line 959    engagebdr.com, 10475, reseller
             → ad_system: engagebdr.com
warning

Malformed lines

1 −1 pts

Lines that buyers' crawlers will ignore.

How to fixFix the format: <ad system domain>, <seller id>, DIRECT|RESELLER[, <cert authority id>].
Evidence (1)
line 581    Keenkale, 20242025, RESELLER
             → reason: invalid ad system domain
info

DIRECT accounts registered to another domain

110 −5 pts

Allowed when the domain belongs to the same company; add OWNERDOMAIN to make that explicit. Otherwise these accounts may belong to someone else.

How to fixIf the account is yours under another domain, declare it with OWNERDOMAIN=<that domain>; otherwise mark it RESELLER.
Evidence (25 of 110)
line 9      google.com, pub-4807561457669996, DIRECT, f08c47fec0942fa0
             → domain in sellers.json: bloxdigital.com  name in sellers.json: INN Partners, LC dba Townnews.com DBA TownNews
line 27     amxrtb.com, 105199372, DIRECT
             → domain in sellers.json: sortable.com  name in sellers.json: Sortable
line 32     aps.amazon.com, 0ab198dd-b265-462a-ae36-74e163ad6159, DIRECT
             → domain in sellers.json: freestar.com  name in sellers.json: Publisher First Inc.
line 43     ssp.cadent.com, 152, DIRECT, 1e1d41537f7cad7f
             → domain in sellers.json: freestar.com  name in sellers.json: Freestar
line 64     insticator.com, e0247337-444d-44f9-8a10-45f38333b383, DIRECT, b3511ffcafb23a32
             → domain in sellers.json: freestar.com  name in sellers.json: Freestar
line 75     media.net, 8CUG48V2S, DIRECT
             → domain in sellers.json: freestar.com  name in sellers.json: Freestar LLC
line 147    seedtag.com, 633b0836dbf629000786de42, DIRECT
             → domain in sellers.json: freestar.com  name in sellers.json: Publisher First, Inc.
line 168    teads.tv, 25293, DIRECT, 15a9c44f6d26cbe1
             → domain in sellers.json: freestar.io  name in sellers.json: Freestar T1
line 179    undertone.com, 3617, DIRECT
             → domain in sellers.json: freestar.com  name in sellers.json: Freestar
line 203    media.net, 8CUDW7SKT, DIRECT
             → domain in sellers.json: hashtag-labs.com  name in sellers.json: Hashtag Labs
line 217    revcontent.com, 151142, DIRECT
             → domain in sellers.json: bloxdigital.com  name in sellers.json: TownNews
line 243    pubmatic.com, 161143, DIRECT, 5d62403b186f2ace #pubmatic #opsco
             → domain in sellers.json: ops.co  name in sellers.json: OpsCo, LLC
line 264    adyoulike.com, e5ae8cdbe88e1f889aae7ee0c672ca30, DIRECT, 4ad745ead2958bf7
             → domain in sellers.json: spotim.market  name in sellers.json: Spot.IM
line 281    trinityaudio.ai, 72899, DIRECT
             → domain in sellers.json: townnews.com  name in sellers.json: Town News
line 307    smartadline.com, 22866439000, DIRECT
             → domain in sellers.json: cmg.com  name in sellers.json: cmg.com
line 310    media.net, 8cucppt38, DIRECT
             → domain in sellers.json: cnn.com  name in sellers.json: CNN Newsource
line 311    media.net, 8cuufasr5, DIRECT
             → domain in sellers.json: www.imediasalesteam.com  name in sellers.json: iMediaSalesTeam
line 313    incrementx.com, 60292, DIRECT, 8728b7e97e589da4
             → domain in sellers.json: videoelephant.tv  name in sellers.json: Video Elephant TV
line 427    stnvideo.com, STN_0002622, DIRECT
             → domain in sellers.json: hermannadvertisercourier.com  name in sellers.json: Lakeway Publishing
line 428    stnvideo.com,STN_0002623, DIRECT
             → domain in sellers.json: bloxdigital.com  name in sellers.json: TownNews
line 429    stnvideo.com, STN_0004152, DIRECT
             → domain in sellers.json: bloxdigital.com  name in sellers.json: TownNews Direct
line 431    stnvideo.com, STN_0004808, DIRECT
             → domain in sellers.json: latrobebulletinnews.com  name in sellers.json: Sample News Group
line 432    stnvideo.com, STN_0004809, DIRECT
             → domain in sellers.json: jdnews.com  name in sellers.json: Paxton Media Group
line 433    stnvideo.com, STN_0004814, DIRECT
             → domain in sellers.json: adaherald.com  name in sellers.json: Delphos Herald, Inc
line 434    stnvideo.com,STN_0004815, DIRECT
             → domain in sellers.json: altavistajournal.com  name in sellers.json: Womack Publishing Company
info

Duplicate lines

77 −1 pts

Harmless but a sign of copy-paste maintenance.

How to fixRemove duplicates; keep one copy of each line.
Evidence (25 of 77)
ad_system: appnexus.com  seller_id: 7154  relationship: DIRECT
ad_system: appnexus.com  seller_id: 12290  relationship: RESELLER
ad_system: pubmatic.com  seller_id: 158355  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 23844  relationship: RESELLER
ad_system: onetag.com  seller_id: 770a440e65869c2  relationship: RESELLER
ad_system: pubmatic.com  seller_id: 157897  relationship: RESELLER
ad_system: contextweb.com  seller_id: 558355  relationship: RESELLER
ad_system: openx.com  seller_id: 537149485  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 17062  relationship: RESELLER
ad_system: pubmatic.com  seller_id: 95054  relationship: RESELLER
ad_system: lijit.com  seller_id: 257618  relationship: RESELLER
ad_system: themediagrid.com  seller_id: dq6amb  relationship: DIRECT
ad_system: triplelift.com  seller_id: 6998  relationship: DIRECT
ad_system: rubiconproject.com  seller_id: 17598  relationship: RESELLER
ad_system: pubmatic.com  seller_id: 161683  relationship: RESELLER
ad_system: video.unrulymedia.com  seller_id: 699546687  relationship: RESELLER
ad_system: appnexus.com  seller_id: 8381  relationship: RESELLER
ad_system: sharethrough.com  seller_id: xz7qjfby  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 18694  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 17960  relationship: RESELLER
ad_system: pubmatic.com  seller_id: 137711  relationship: RESELLER
ad_system: pubmatic.com  seller_id: 156212  relationship: RESELLER
ad_system: openx.com  seller_id: 538959099  relationship: RESELLER
ad_system: openx.com  seller_id: 537153564  relationship: RESELLER
ad_system: appnexus.com  seller_id: 1908  relationship: RESELLER
info

Ad systems without a public sellers.json

396

The ad system doesn't publish a readable sellers.json, so nobody can verify these lines. That's the ad system's gap, not the app's, so no points are deducted.

How to fixAsk the partner to publish sellers.json; until then buyers can't verify that path.
Evidence (25 of 396)
line 12     openx.com, 539299921, DIRECT, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 18     appnexus.com, 7154, DIRECT, f5ab79cb980f11d1
             → sellers_json: HTTP 403 to automated requests
line 21     openx.com, 539079355, DIRECT, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 25     freestar.com, 2016, DIRECT
             → sellers_json: HTTP 403 to automated requests
line 28     appnexus.com, 12290, RESELLER, f5ab79cb980f11d1
             → sellers_json: HTTP 403 to automated requests
line 31     openx.com, 559680764, RESELLER, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 34     smartadserver.com, 4125, RESELLER, 060d053dcf45cbf3
             → sellers_json: HTTP 404
line 44     criteo.com, B-061740, DIRECT, 9fac4a4a87c2a44f
             → sellers_json: HTTP 403 to automated requests
line 52     openx.com, 537149485, RESELLER, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 78     openx.com, 537100188, RESELLER, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 82     appnexus.com, 7125, DIRECT, f5ab79cb980f11d1
             → sellers_json: HTTP 403 to automated requests
line 87     appnexus.com, 8381, RESELLER, f5ab79cb980f11d1
             → sellers_json: HTTP 403 to automated requests
line 94     zetaglobal.net, 989, RESELLER
             → sellers_json: HTTP 404
line 95     smaato.com, 1100057947, RESELLER, 07bcf65f187117b4
             → sellers_json: HTTP 403 to automated requests
line 96     ogury.com, 5111a14e-6753-43d0-9d4d-64177a0dfa68, RESELLER
             → sellers_json: HTTP 403 to automated requests
line 97     appnexus.com, 11470, RESELLER, f5ab79cb980f11d1
             → sellers_json: HTTP 403 to automated requests
line 101    openx.com, 539181723, DIRECT, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 102    openx.com, 539618221, DIRECT, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 103    openx.com, 539900106, DIRECT, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 104    openx.com, 545709546, DIRECT, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 105    openx.com, 561209331, DIRECT, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 106    openx.com, 561342917, DIRECT, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 107    openx.com, 562454596, RESELLER, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 108    openx.com, 564016774, RESELLER, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
line 113    openx.com, 540258065, RESELLER, 6a698e2ec38604c6
             → sellers_json: HTTP 403 to automated requests
info

DIRECT accounts marked confidential

1

Buyers can't see who owns these accounts.

How to fixAsk the ad system to publish your seller entry with name and domain.
Evidence (1)
line 43     ssp.cadent.com, 152, DIRECT, 1e1d41537f7cad7f

Is this your app?

Get the full evidence list, a cleaned app-ads.txt, and alerts when partners' accounts change. Think something here is wrong? Request a correction.

Monitor this app