App Supply Index Monitor my app
iOS · DER SPIEGEL GmbH und Co. KG

DER SPIEGEL - Nachrichten

Developer URL
http://www.spiegel.de
app-ads.txt
https://www.spiegel.de/app-ads.txt · 200
Checked
Oct 7, 2026
B
75/100

404 lines · 258 verified against sellers.json

Findings

Each finding lists the exact lines involved. These are mechanical checks of public files, not fraud verdicts.

warning

DIRECT lines for seats the publisher doesn't own

36 −10 pts

DIRECT should mean the publisher controls the account. These seats are listed as intermediaries by the ad system itself, or are labeled DIRECT by many unrelated companies, so they belong to a reseller. Buyers who prefer DIRECT paths end up paying for an extra hop.

How to fixUse DIRECT only for accounts your company controls. Ask each partner whether the seat is yours; if not, change the line to RESELLER.
Evidence (25 of 36)
line 6      rubiconproject.com, 25354, DIRECT, 0bfd66d529a55807
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=Google  seat_domain=google.com
line 33     pubmatic.com,157798,DIRECT,5d62403b186f2ace
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=iq digital media marketing gmbh (via EB)  seat_domain=iqdigital.de
line 35     pubmatic.com,161880,DIRECT,5d62403b186f2ace
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=iq digital media marketing gmbh (TAM)  seat_domain=iqdigital.de
line 39     aps.amazon.com,3711,DIRECT
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=iq digital media marketing gmbh  seat_domain=iqdigital.de
line 83     appnexus.com, 3927,DIRECT,f5ab79cb980f11d1
             → why=the same seat is labeled DIRECT by 3 different companies
line 112    viralize.com, 5272, DIRECT
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=Addefend GmbH  seat_domain=addefend.com
line 123    viralize.com, 5272, DIRECT
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=Addefend GmbH  seat_domain=addefend.com
line 126    viralize.com, 5272, DIRECT
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=Addefend GmbH  seat_domain=addefend.com
line 179    rubiconproject.com,14474,DIRECT,0bfd66d529a55807
             → why=sellers.json lists the seat as INTERMEDIARY; the same seat is labeled DIRECT by 3 different companies  seat_owner=Dianomi Inc,  seat_domain=dianomi.com
line 180    themediagrid.com,DXW9CT,DIRECT,35d5010d7789b49d
             → why=the same seat is labeled DIRECT by 3 different companies
line 181    adform.com,2921,DIRECT,9f5210a2f0999e32
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=Dianomi Limited  seat_domain=dianomi.com
line 182    pubmatic.com,162486,DIRECT,5d62403b186f2ace
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=Dianomi  seat_domain=dianomi.com
line 203    triplelift.com,6812,DIRECT,6c33edb13117fd86
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=IQ Digital  seat_domain=iqdigital.de
line 205    triplelift.com,6818,DIRECT,6c33edb13117fd86
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=IQ Digital  seat_domain=iqdigital.de
line 208    triplelift.com,6824,DIRECT,6c33edb13117fd86
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=IQ Digital  seat_domain=iqdigital.de
line 210    triplelift.com,6826,DIRECT,6c33edb13117fd86
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=IQ Digital  seat_domain=iqdigital.de
line 211    triplelift.com,7523,DIRECT,6c33edb13117fd86
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=IQ Digital  seat_domain=iqdigital.de
line 212    triplelift.com,7485,DIRECT,6c33edb13117fd86
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=IQ Digital  seat_domain=iqdigital.de
line 213    triplelift.com,7459,DIRECT,6c33edb13117fd86
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=IQ Digital  seat_domain=iqdigital.de
line 214    triplelift.com,7487,DIRECT,6c33edb13117fd86
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=IQ Digital  seat_domain=iqdigital.de
line 215    triplelift.com,10124,DIRECT,6c33edb13117fd86
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=IQ Digital  seat_domain=iqdigital.de
line 217    triplelift.com,10736,DIRECT,6c33edb13117fd86
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=IQ Digital  seat_domain=iqdigital.de
line 218    triplelift.com,10737,DIRECT,6c33edb13117fd86
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=IQ Digital  seat_domain=iqdigital.de
line 353    seedtag.com, 68b6d64dfd8ebe0007e3e9a4, DIRECT
             → why=sellers.json lists the seat as INTERMEDIARY  seat_owner=iq digital media marketing gmbh  seat_domain=iqdigital.de
line 354    lijit.com, 397546, DIRECT, fafdf38b16bf6b2b
             → why=sellers.json lists the seat as INTERMEDIARY; the same seat is labeled DIRECT by 16 different companies  seat_owner=Seedtag  seat_domain=seedtag.com
warning

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

27 −8 pts

The ad system's current sellers.json doesn't list these accounts, so buyers that validate the chain can't match them. Usually leftovers from closed accounts or old 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 27)
line 49     yieldlab.net,781119,RESELLER
             → sellers_json=https://yieldlab.net/sellers.json
line 180    themediagrid.com,DXW9CT,DIRECT,35d5010d7789b49d
             → sellers_json=https://themediagrid.com/sellers.json
line 194    undertone.com, 4159,DIRECT
             → sellers_json=https://undertone.com/sellers.json
line 204    triplelift.com,6816,DIRECT,6c33edb13117fd86
             → sellers_json=https://triplelift.com/sellers.json
line 206    triplelift.com,6695,DIRECT,6c33edb13117fd86
             → sellers_json=https://triplelift.com/sellers.json
line 265    targetspot.com,291,RESELLER,feb28ed826dcf532
             → sellers_json=https://targetspot.com/sellers.json
line 290    targetspot.com, 356, DIRECT, feb28ed826dcf532
             → sellers_json=https://targetspot.com/sellers.json
line 391    smaato.com, 1100048704, RESELLER, 07bcf65f187117b4 # Premium video demand from Outbrain
             → sellers_json=https://smaato.com/sellers.json
line 396    google.com, pub-5617098146054077, RESELLER, f08c47fec0942fa0 #instream video by outbrain
             → sellers_json=https://realtimebidding.google.com/sellers.json
line 398    xandr.com, 10736, RESELLER #instream video by outbrain
             → sellers_json=https://xandr.com/sellers.json
line 399    rubiconproject.com, 21506, RESELLER, 0bfd66d529a55807 #instream video by outbrain
             → sellers_json=https://rubiconproject.com/sellers.json
line 401    video.unrulymedia.com, 1014191143, RESELLER #instream video by outbrain
             → sellers_json=https://video.unrulymedia.com/sellers.json
line 407    improvedigital.com, 1552, Reseller #instream video by outbrain
             → sellers_json=https://improvedigital.com/sellers.json
line 409    xandr.com, 7445, RESELLER #instream video by outbrain
             → sellers_json=https://xandr.com/sellers.json
line 416    xandr.com, 12279,RESELLER #instream video by outbrain
             → sellers_json=https://xandr.com/sellers.json
line 418    rubiconproject.com, 15994, RESELLER, 0bfd66d529a55807 #instream video by outbrain
             → sellers_json=https://rubiconproject.com/sellers.json
line 422    xandr.com,8904,RESELLER #instream video by outbrain
             → sellers_json=https://xandr.com/sellers.json
line 423    stroeer.com, 18840, RESELLER #instream video by outbrain
             → sellers_json=https://stroeer.com/sellers.json
line 424    rubiconproject.com, 15476, RESELLER, 0bfd66d529a55807 #instream video by outbrain
             → sellers_json=https://rubiconproject.com/sellers.json
line 425    yieldlab.net, 6248161, RESELLER #instream video by outbrain
             → sellers_json=https://yieldlab.net/sellers.json
line 432    smaato.com, 1100054606, RESELLER, 07bcf65f187117b4 # Premium video demand from Outbrain
             → sellers_json=https://smaato.com/sellers.json
line 436    pubmatic.com, 100531,RESELLER #instream video by outbrain
             → sellers_json=https://pubmatic.com/sellers.json
line 441    goldbach-germany.de, 66702, RESELLER
             → sellers_json=https://goldbach-germany.de/sellers.json
line 446    xandr.com, 1405, DIRECT
             → sellers_json=https://xandr.com/sellers.json
line 478    xandr.com,12279,RESELLER
             → sellers_json=https://xandr.com/sellers.json
warning

Lines for ad system domains that don't exist

1 −1 pts

These ad system domains don't resolve: the company shut down or merged, or the domain is misspelled. The lines authorize nothing, and whoever registers the domain would inherit them.

How to fixRemove these lines. A dead domain can be re-registered by anyone, who would then inherit your authorization.
Evidence (1)
line 466    spotxchange.com,202009,RESELLER,7842df1d2fe2db34
             → ad_system=spotxchange.com
info

DIRECT accounts registered to another domain

35 −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 35)
line 7      rubiconproject.com, 25352, DIRECT, 0bfd66d529a55807
             → seller_domain=iqdigital.de  seller_name=iq digital media marketing gmbh
line 12     themediagrid.com, T9ZMJE, DIRECT, 35d5010d7789b49d
             → seller_domain=quartermedia.de  seller_name=Quarter Media GmbH
line 14     themediagrid.com, A2NO8Y, DIRECT, 35d5010d7789b49d
             → seller_domain=iqdigital.de  seller_name=IQ Digital Media Marketing GmbH
line 18     teads.tv,3404,DIRECT,15a9c44f6d26cbe1
             → seller_domain=iqdigital.de  seller_name=iq digital media marketing gmbh
line 34     pubmatic.com,161749,DIRECT,5d62403b186f2ace
             → seller_domain=iqdigital.de  seller_name=iq digital media marketing gmbh
line 44     yieldlab.net,21719,DIRECT
             → seller_domain=iqdigital.de  seller_name=iq digital media marketing gmbh
line 84     pubmatic.com,160374,DIRECT,5d62403b186f2ace
             → seller_domain=audienzz.com  seller_name=audienzz AG
line 108    showheroes.com, 5270C, DIRECT
             → seller_domain=11freunde.de  seller_name=11freunde
line 109    viralize.com, 5270C, DIRECT
             → seller_domain=11freunde.de  seller_name=11freunde
line 110    showheroes.com, 5190j, DIRECT
             → seller_domain=cicero.de  seller_name=cicero.de
line 111    viralize.com, 5190j, DIRECT
             → seller_domain=cicero.de  seller_name=cicero.de
line 113    showheroes.com, 5190f, DIRECT
             → seller_domain=faz.net  seller_name=faz.net
line 114    viralize.com, 5190f, DIRECT
             → seller_domain=faz.net  seller_name=faz.net
line 115    showheroes.com, 5190k, DIRECT
             → seller_domain=manager-magazin.de  seller_name=manager-magazin.de
line 116    viralize.com, 5190k, DIRECT
             → seller_domain=manager-magazin.de  seller_name=manager-magazin.de
line 117    showheroes.com, 5190l, DIRECT
             → seller_domain=monopol-magazin.de  seller_name=monopol-magazin.de
line 118    viralize.com, 5190l, DIRECT
             → seller_domain=monopol-magazin.de  seller_name=monopol-magazin.de
line 119    showheroes.com, 5190e, DIRECT
             → seller_domain=spektrum.de  seller_name=spektrum.de
line 120    viralize.com, 5190e, DIRECT
             → seller_domain=spektrum.de  seller_name=spektrum.de
line 124    showheroes.com, 5190c, DIRECT
             → seller_domain=tagesspiegel.de  seller_name=tagesspiegel.de
line 125    viralize.com, 5190c, DIRECT
             → seller_domain=tagesspiegel.de  seller_name=tagesspiegel.de
line 127    showheroes.com, 5190b, DIRECT
             → seller_domain=zeit.de  seller_name=zeit.de
line 173    dianomi.com,1879,DIRECT,61e7d0a6019f7cfc
             → seller_domain=zeit.de  seller_name=Zeit.de (iq digital)
line 174    dianomi.com,1878,DIRECT,61e7d0a6019f7cfc
             → seller_domain=sueddeutsche.de  seller_name=Sueddeutsche Zeitung (iq digital)
line 175    dianomi.com,1876,DIRECT,61e7d0a6019f7cfc
             → seller_domain=tagesspiegel.de  seller_name=Tagesspiegel.de (iq digital)
info

Duplicate lines

21 −1 pts

Harmless but a sign of copy-paste maintenance.

How to fixRemove duplicates; keep one copy of each line.
Evidence (21)
ad_system: yieldlab.net  seller_id: 5798882  relationship: RESELLER
ad_system: yieldlab.net  seller_id: 506261  relationship: RESELLER
ad_system: yieldlab.net  seller_id: 6374282  relationship: RESELLER
ad_system: yieldlab.net  seller_id: 227224  relationship: RESELLER
ad_system: smartadserver.com  seller_id: 2161  relationship: RESELLER
ad_system: pubmatic.com  seller_id: 166421  relationship: RESELLER
ad_system: adform.com  seller_id: 3001  relationship: RESELLER
ad_system: yieldlab.net  seller_id: 6378054  relationship: RESELLER
ad_system: viralize.com  seller_id: 5272  relationship: DIRECT
ad_system: rubiconproject.com  seller_id: 17960  relationship: RESELLER
ad_system: adswizz.com  seller_id: targetspot  relationship: RESELLER
ad_system: tritondigital.com  seller_id: 44733  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 9753  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 16418  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 9755  relationship: RESELLER
ad_system: appnexus.com  seller_id: 7265  relationship: RESELLER
ad_system: appnexus.com  seller_id: 1577  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 16114  relationship: RESELLER
ad_system: openx.com  seller_id: 537149888  relationship: RESELLER
ad_system: yieldlab.net  seller_id: 2172218  relationship: RESELLER
ad_system: xandr.com  seller_id: 12279  relationship: RESELLER
info

Ad systems without a public sellers.json

58

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 58)
line 3      appnexus.com,6975,DIRECT,f5ab79cb980f11d1
             → sellers_json=HTTP 403
line 11     criteo.com, B-059192, DIRECT, 9fac4a4a87c2a44f
             → sellers_json=HTTP 403
line 13     criteo.com, B-059181, DIRECT, 9fac4a4a87c2a44f
             → sellers_json=HTTP 403
line 40     openx.com,556883378,DIRECT,6a698e2ec38604c6
             → sellers_json=HTTP 403
line 64     appnexus.com,8833,RESELLER,f5ab79cb980f11d1
             → sellers_json=HTTP 403
line 66     freewheel.tv,536103-r-524565, RESELLER
             → sellers_json=HTTP 403
line 67     freewheel.tv, sg1258478, RESELLER
             → sellers_json=HTTP 403
line 68     freewheel.tv,sg1258314,RESELLER
             → sellers_json=HTTP 403
line 69     freewheel.tv,536103-r-523319, RESELLER
             → sellers_json=HTTP 403
line 77     appnexus.com, 8233, RESELLER,f5ab79cb980f11d1
             → sellers_json=HTTP 403
line 78     netpoint-media.de,np-6319,RESELLER
             → sellers_json=HTML or login page instead of JSON
line 83     appnexus.com, 3927,DIRECT,f5ab79cb980f11d1
             → sellers_json=HTTP 403
line 89     freewheel.tv, 543776-r-524565, RESELLER
             → sellers_json=HTTP 403
line 103    appnexus.com,11853,RESELLER,f5ab79cb980f11d1
             → sellers_json=HTTP 403
line 183    freewheel.tv,1585055,DIRECT
             → sellers_json=HTTP 403
line 184    freewheel.tv,1585058,DIRECT
             → sellers_json=HTTP 403
line 185    openx.com,558595797,DIRECT,6a698e2ec38604c6
             → sellers_json=HTTP 403
line 187    appnexus.com,12290,RESELLER
             → sellers_json=HTTP 403
line 195    openx.com, 537153564,RESELLER,6a698e2ec38604c6
             → sellers_json=HTTP 403
line 220    appnexus.com,1314,RESELLER
             → sellers_json=HTTP 403
line 242    appnexus.com, 1504, RESELLER
             → sellers_json=HTTP 403
line 247    appnexus.com, 3741, RESELLER, f5ab79cb980f11d1
             → sellers_json=HTTP 403
line 251    appnexus.com, 6849, RESELLER
             → sellers_json=HTTP 403
line 253    xad.com, 963, RESELLER, 81cbf0a75a5e0e9a
             → sellers_json=HTTP 403
line 263    appnexus.com,3563,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 178    dianomi.com,1881,DIRECT,61e7d0a6019f7cfc

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