App Supply Index Monitor my app
Android · Plex, Inc.

Plex: Find Movies & TV Shows

Developer URL
https://www.plex.tv
app-ads.txt
https://plex.tv/app-ads.txt · 200
Checked
Oct 7, 2026
C
60/100

3,584 lines · 2,322 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

523 −17 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 523)
line 167    leanback.digital,ESS-C978,DIRECT,b1d30350acaf0176 # MediaFuse (2021)
             → observed: the same account is marked DIRECT by 3 different companies
line 169    krushmedia.com,AJxF6R257a9M6CaTvK,DIRECT # KrushMedia (2021)
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: CTVBuyer   domain in sellers.json: ctvbuyer.com
line 173    google.com,pub-7171208642811509,DIRECT,f08c47fec0942fa0 # google (2021)
             → observed: the same account is marked DIRECT by 3 different companies
line 177    pubmatic.com,148803,DIRECT,5d62403b186f2ace # Pubmatic (2021)
             → observed: sellers.json lists the account as INTERMEDIARY; the same account is marked DIRECT by 7 different companies  name in sellers.json: AdApex.io  domain in sellers.json: adapex.io
line 178    pubmatic.com,157246,DIRECT,5d62403b186f2ace # Pubmatic (2021)
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Adapex.io (via EB)  domain in sellers.json: google.com
line 182    google.com,pub-5781531207509232,DIRECT,f08c47fec0942fa0 # AdX (2021)
             → observed: the same account is marked DIRECT by 15 different companies  name in sellers.json: Venatus Media  domain in sellers.json: venatus.com
line 183    appnexus.com,806,DIRECT # Appnexus (2021)
             → observed: the same account is marked DIRECT by 12 different companies
line 184    conversantmedia.com,41150,DIRECT # Conversant (2021)
             → observed: sellers.json lists the account as INTERMEDIARY; the same account is marked DIRECT by 10 different companies  name in sellers.json: Venatus Media  domain in sellers.json: venatus.com
line 187    freewheel.tv,187721,DIRECT # Freewheel (2021)
             → observed: the same account is marked DIRECT by 17 different companies
line 188    freewheel.tv,196129,DIRECT # Freewheel (2021)
             → observed: the same account is marked DIRECT by 17 different companies
line 189    freewheel.tv,187865,DIRECT # Freewheel (2021)
             → observed: the same account is marked DIRECT by 17 different companies
line 190    freewheel.tv,196145,DIRECT # Freewheel (2021)
             → observed: the same account is marked DIRECT by 17 different companies
line 191    improvedigital.com,1012,DIRECT # Improve (2021)
             → observed: sellers.json lists the account as INTERMEDIARY; the same account is marked DIRECT by 11 different companies  name in sellers.json: Venatus Media Ltd.  domain in sellers.json: venatus.com
line 192    indexexchange.com,188416,DIRECT # Index (2021)
             → observed: the same account is marked DIRECT by 10 different companies
line 193    indexexchange.com,183921,DIRECT # Index (2021)
             → observed: the same account is marked DIRECT by 11 different companies
line 196    admanmedia.com,594,DIRECT # Loopme (2021)
             → observed: sellers.json lists the account as INTERMEDIARY; the same account is marked DIRECT by 6 different companies  name in sellers.json: loopme  domain in sellers.json: loopme.com
line 199    openx.com,540134228,DIRECT,6a698e2ec38604c6 # OpenX (2021)
             → observed: the same account is marked DIRECT by 9 different companies
line 205    smartadserver.com,3490,DIRECT # Smart Ad Server (2021)
             → observed: the same account is marked DIRECT by 9 different companies  name in sellers.json: Venatus Media Limited  domain in sellers.json: venatus.com
line 207    sovrn.com,237754,DIRECT,fafdf38b16bf6b2b # Sovrn (2021)
             → observed: the same account is marked DIRECT by 11 different companies
line 210    video.unrulymedia.com,UNRX-PUB-29dad46b-9bec-43c7-b950-c59d09cc8c71,DIRECT # Unruly (2021)
             → observed: the same account is marked DIRECT by 8 different companies
line 211    video.unrulymedia.com,985572675,DIRECT # Unruly (2021)
             → observed: sellers.json lists the account as INTERMEDIARY; the same account is marked DIRECT by 7 different companies  name in sellers.json: Venatus Media Limited  domain in sellers.json: venatusmedia.com
line 212    video.unrulymedia.com,2864567592,DIRECT # Unruly (2021)
             → observed: sellers.json lists the account as INTERMEDIARY; the same account is marked DIRECT by 7 different companies  name in sellers.json: Google EB - Venatus Media  domain in sellers.json: google.com
line 213    rhythmone.com,985572675,DIRECT,a670c89d4a324e47 # Unruly (2021)
             → observed: the same account is marked DIRECT by 7 different companies
line 216    advertising.com,2694,DIRECT # Verizon (2021)
             → observed: the same account is marked DIRECT by 9 different companies
line 220    mediafuse.com,316569,DIRECT # MediaFuse (2021)
             → observed: the same account is marked DIRECT by 4 different companies
warning

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

498 −17 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 498)
line 167    leanback.digital,ESS-C978,DIRECT,b1d30350acaf0176 # MediaFuse (2021)
             → sellers_json: https://leanback.digital/sellers.json
line 170    gumgum.com,14222,DIRECT,ffdef49475d318a9 # KrushMedia (2021)
             → sellers_json: https://gumgum.com/sellers.json
line 173    google.com,pub-7171208642811509,DIRECT,f08c47fec0942fa0 # google (2021)
             → sellers_json: https://realtimebidding.google.com/sellers.json
line 174    google.com,mb-app-pub-1062972861553303,DIRECT,f08c47fec0942fa0 # google (2021)
             → sellers_json: https://realtimebidding.google.com/sellers.json
line 175    google.com,video-pub-1062972861553303,DIRECT,f08c47fec0942fa0 # google (2021)
             → sellers_json: https://realtimebidding.google.com/sellers.json
line 179    yieldmo.com,1779615309230671174,DIRECT # Yieldmo (2021)
             → sellers_json: https://yieldmo.com/sellers.json
line 210    video.unrulymedia.com,UNRX-PUB-29dad46b-9bec-43c7-b950-c59d09cc8c71,DIRECT # Unruly (2021)
             → sellers_json: https://video.unrulymedia.com/sellers.json
line 214    telaria.com,hpwve,RESELLER,1a4e959a1b50034a # Telaria (2021)
             → sellers_json: https://www.telaria.com/sellers.json
line 215    tremorhub.com,hpwve,RESELLER,1a4e959a1b50034a # Telaria (2021)
             → sellers_json: https://tremorhub.com/sellers.json
line 220    mediafuse.com,316569,DIRECT # MediaFuse (2021)
             → sellers_json: https://mediafuse.com/sellers.json
line 221    conversantmedia.com,100270,RESELLER,03113cd04947736d # Yieldmo (2021)
             → sellers_json: https://conversantmedia.com/sellers.json
line 227    pubmatic.com,27495,RESELLER,5d62403b186f2ace
             → sellers_json: https://pubmatic.com/sellers.json
line 263    smilewanted.com, 5616, RESELLER
             → sellers_json: https://smilewanted.com/sellers.json
line 288    improvedigital.com,1243,RESELLER
             → sellers_json: https://improvedigital.com/sellers.json
line 292    thirdpresence.com,5931257,DIRECT
             → sellers_json: https://thirdpresence.com/sellers.json
line 305    smartadserver.com,3999,RESELLER
             → sellers_json: https://smartadserver.com/sellers.json
line 307    undertone.com,4020,RESELLER
             → sellers_json: https://undertone.com/sellers.json
line 314    telaria.com,sh09v-54cha,DIRECT,1a4e959a1b50034a
             → sellers_json: https://www.telaria.com/sellers.json
line 315    tremorhub.com,sh09v-54cha,DIRECT,1a4e959a1b50034a
             → sellers_json: https://tremorhub.com/sellers.json
line 335    amagi.com,65053,DIRECT
             → sellers_json: https://amagi.com/sellers.json
line 367    risecodes.com,63832beef8189a00015cb6d3,RESELLER
             → sellers_json: https://risecodes.com/sellers.json
line 377    smaato.com,1100056488,RESELLER,07bcf65f187117b4
             → sellers_json: https://smaato.com/sellers.json
line 392    telaria.com,4jdlm-4qsx9,RESELLER,1a4e959a1b50034a
             → sellers_json: https://www.telaria.com/sellers.json
line 393    tremorhub.com,4jdlm-4qsx9,RESELLER,1a4e959a1b50034a
             → sellers_json: https://tremorhub.com/sellers.json
line 394    media.net,8CUIHQJ4B,RESELLER
             → sellers_json: https://media.net/sellers.json
warning

Lines for ad system domains that don't resolve

68 −2 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 (25 of 68)
line 185    districtm.io,100749,DIRECT # District M (2021)
             → ad_system: districtm.io
line 195    engagebdr.com,10181,RESELLER # Loopme (2021)
             → ad_system: engagebdr.com
line 206    districtm.io,101760,RESELLER,3fd707be9c4527c3 # Smart Ad Server (2021)
             → ad_system: districtm.io
line 208    spotxchange.com,141412,RESELLER,7842df1d2fe2db34 # SpotX (2021)
             → ad_system: spotxchange.com
line 225    spotxchange.com,260234,RESELLER,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 325    spotxchange.com,298868,DIRECT,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 406    spotxchange.com,204917,DIRECT,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 906    spotxchange.com,265438,RESELLER,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 1267   spotxchange.com,226725,RESELLER,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 1350   spotxchange.com,237147,DIRECT,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 1519   spotxchange.com,298573,DIRECT,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 1570   spotxchange.com,119935,RESELLER,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 1695   spotxchange.com,304955,RESELLER,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 1738   spotxchange.com,316867,RESELLER,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 1840   spotxchange.com,250703,RESELLER,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 1911   aolcloud.net,11609,DIRECT
             → ad_system: aolcloud.net
line 1967   spotxchange.com,145119,RESELLER,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 1968   spotxchange.com,308738,RESELLER,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 2072   spotxchange.com,212457,RESELLER
             → ad_system: spotxchange.com
line 2088   spotxchange.com,218443,RESELLER,7842df1d2fe2db34
             → ad_system: spotxchange.com
line 2112   districtm.io,101856,RESELLER,3fd707be9c4527c3
             → ad_system: districtm.io
line 2119   engagebdr.com,16,RESELLER
             → ad_system: engagebdr.com
line 2127   districtm.io,102029,DIRECT,3fd707be9c4527c3
             → ad_system: districtm.io
line 2156   districtm.io,102029,RESELLER,3fd707be9c4527c3
             → ad_system: districtm.io
line 2345   spotxchange.com,240697,DIRECT,7842df1d2fe2db34
             → ad_system: spotxchange.com
info

DIRECT accounts registered to another domain

180 −3 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 180)
line 240    triplelift.com,8867,DIRECT,6c33edb13117fd86
             → domain in sellers.json: 47samurai.com  name in sellers.json: 47 Samuri
line 252    adipolosolutions.com, 21798804209, DIRECT
             → domain in sellers.json: railstream.net  name in sellers.json: 21798804209
line 253    adipolo.com, 21798804209, DIRECT
             → domain in sellers.json: railstream.net  name in sellers.json: railstream.net
line 255    pmbmonetize.com, 21798804209, DIRECT
             → domain in sellers.json: railstream.net  name in sellers.json: 21798804209
line 256    smartadline.com, 21798804209, DIRECT
             → domain in sellers.json: railstream.net  name in sellers.json: railstream.net
line 257    omgstudios.com, 21798804209, DIRECT
             → domain in sellers.json: railstream.net  name in sellers.json: railstream.net
line 258    evolutionadv.it, PUB2198, DIRECT
             → domain in sellers.json: railstream.net  name in sellers.json: railstream.net
line 267    optimovid.com, 21798804209, DIRECT
             → domain in sellers.json: railstream.net  name in sellers.json: railstream.net
line 339    conversantmedia.com,100709,DIRECT,03113cd04947736d
             → domain in sellers.json: amagi.com  name in sellers.json: Amagi Corporation
line 347    amagi.com,1249,DIRECT
             → domain in sellers.json: amagi.com  name in sellers.json: Amagi
line 348    amagi.com,63184,DIRECT
             → domain in sellers.json: banijayrights.com  name in sellers.json: Banijay
line 366    aps.amazon.com,6cafcc89-3950-4d35-ba1a-bf249a243470,DIRECT
             → domain in sellers.json: crackle.com  name in sellers.json: Crackle
line 454    playstream.media,911,DIRECT
             → domain in sellers.json: aniview.com  name in sellers.json: Aniview
line 473    aniview.com,5f2063121d82c82557194737,DIRECT,78b21b97965ec3f8
             → domain in sellers.json: venatus.com  name in sellers.json: Venatus
line 498    didna.io,4169,DIRECT
             → domain in sellers.json: didna.io  name in sellers.json: DIDNA Inc.
line 499    google.com,pub-3565385483761681,DIRECT,f08c47fec0942fa0
             → domain in sellers.json: didna.io  name in sellers.json: DIDNA, INC.
line 511    beachfront.com,14902,DIRECT,e2541279e8e2ca4d
             → domain in sellers.json: recruemedia.com  name in sellers.json: Recrue Media
line 532    telaria.com,j3tbe-1bhdn,DIRECT,1a4e959a1b50034a
             → domain in sellers.json: bellmedia.ca  name in sellers.json: Bell Media
line 533    tremorhub.com,j3tbe-1bhdn,DIRECT,1a4e959a1b50034a
             → domain in sellers.json: bellmedia.ca  name in sellers.json: Bell Media
line 549    bold-win.com,790,DIRECT,71746737d0bab951
             → domain in sellers.json: puhutv.com  name in sellers.json: Dogus Digital
line 647    showheroes.com,7252,DIRECT
             → domain in sellers.json: my-cast.tv  name in sellers.json: Boldwin (CTV - Global)
line 668    snack-media.com,SNM_4199,DIRECT
             → domain in sellers.json: aceex.io  name in sellers.json: aceex.io
line 714    pubmatic.com,161854,DIRECT,5d62403b186f2ace
             → domain in sellers.json: orka.tv  name in sellers.json: orka.tv
line 717    leanback.digital,567793,DIRECT,b1d30350acaf0176
             → domain in sellers.json: darkmattertv.com  name in sellers.json: Tricoast
line 719    nobid.io,22458413189,DIRECT
             → domain in sellers.json: darkmattertv.com  name in sellers.json: Tricoast - CTV
info

Duplicate lines

10 −1 pts

Harmless but a sign of copy-paste maintenance.

How to fixRemove duplicates; keep one copy of each line.
Evidence (10)
ad_system: smartadserver.com  seller_id: 3232  relationship: RESELLER
ad_system: sharethrough.com  seller_id: 5777  relationship: DIRECT
ad_system: video.unrulymedia.com  seller_id: 2014616652  relationship: RESELLER
ad_system: smartadserver.com  seller_id: 4721  relationship: RESELLER
ad_system: oxiem.com  seller_id: 0b49aeb9a5  relationship: DIRECT
ad_system: appnexus.com  seller_id: 8233  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 13510  relationship: RESELLER
ad_system: openx.com  seller_id: 539625136  relationship: RESELLER
ad_system: smartadserver.com  seller_id: 1692  relationship: RESELLER
ad_system: supply.colossusssp.com  seller_id: 865  relationship: RESELLER
info

Ad systems without a public sellers.json

773

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 773)
line 165    appnexus.com,12290,RESELLER,f5ab79cb980f11d1 # MediaFuse (2021)
             → sellers_json: HTTP 403
line 166    appnexus.com,11786,RESELLER,f5ab79cb980f11d1 # MediaFuse (2021)
             → sellers_json: HTTP 403
line 181    rhythmone.com,3463482822,RESELLER,a670c89d4a324e47 # Yieldmo (2021)
             → sellers_json: HTTP 403
line 183    appnexus.com,806,DIRECT # Appnexus (2021)
             → sellers_json: HTTP 403
line 186    appnexus.com,7944,RESELLER # District M (2021)
             → sellers_json: HTTP 403
line 187    freewheel.tv,187721,DIRECT # Freewheel (2021)
             → sellers_json: HTTP 403
line 188    freewheel.tv,196129,DIRECT # Freewheel (2021)
             → sellers_json: HTTP 403
line 189    freewheel.tv,187865,DIRECT # Freewheel (2021)
             → sellers_json: HTTP 403
line 190    freewheel.tv,196145,DIRECT # Freewheel (2021)
             → sellers_json: HTTP 403
line 194    loopme.com,10509,RESELLER,6c8d5f95897a5a3b # Loopme (2021)
             → sellers_json: HTTP 403
line 197    advertising.com,25990,RESELLER # Loopme (2021)
             → sellers_json: HTTP 403
line 199    openx.com,540134228,DIRECT,6a698e2ec38604c6 # OpenX (2021)
             → sellers_json: HTTP 403
line 200    openx.com,540634629,RESELLER,6a698e2ec38604c6 # OpenX video (2021)
             → sellers_json: HTTP 403
line 207    sovrn.com,237754,DIRECT,fafdf38b16bf6b2b # Sovrn (2021)
             → sellers_json: HTTP 403
line 213    rhythmone.com,985572675,DIRECT,a670c89d4a324e47 # Unruly (2021)
             → sellers_json: HTTP 403
line 216    advertising.com,2694,DIRECT # Verizon (2021)
             → sellers_json: HTTP 403
line 231    freewheel.tv,1143217,RESELLER
             → sellers_json: HTTP 403
line 232    freewheel.tv,1143489,RESELLER
             → sellers_json: HTTP 403
line 233    freewheel.tv,1099457,DIRECT
             → sellers_json: HTTP 403
line 235    openx.com,540845629,DIRECT,6a698e2ec38604c6
             → sellers_json: HTTP 403
line 236    appnexus.com,11477,DIRECT
             → sellers_json: HTTP 403
line 237    rhythmone.com,1707194545,DIRECT,a670c89d4a324e47
             → sellers_json: HTTP 403
line 251    appnexus.com,16912,RESELLER,f5ab79cb980f11d1
             → sellers_json: HTTP 403
line 260    appnexus.com, 8420, RESELLER, f5ab79cb980f11d1
             → sellers_json: HTTP 403
line 269    freewheel.tv, sg1300404, RESELLER
             → sellers_json: HTTP 403
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 3212   consumable.com,2001399,DIRECT,aefcd3d2f45b5070

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