Skip to main content
Part of the PlusSocial.org network· App Salute Trust remains independently operated

Developer feeds

Build with the App Salute Trust threat data

Every published Hall of Shame ruling is available as an open feed so security researchers, ad-block filter maintainers, browser extension developers and safeguarding teams can warn people before they land on a harmful site. No key, no sign-up, no charge.

JSON feed

https://appsalutetrust.com/api/public/threats.json

Open the JSON feed

RSS feed

https://appsalutetrust.com/api/public/threats.rss

Open the RSS feed

Update cadence and caching

  • Both feeds are generated on request from the live archive, so a new ruling appears as soon as auditors publish it.
  • Responses carry Cache-Control: max-age=300. Please poll no more than once every five minutes and honour the cache headers.
  • If the archive cannot be read the feed answers 503 rather than serving a partial list — treat that as "keep your previous copy".
  • Only published rulings are included. Draft and withdrawn rulings never appear.

JSON field reference

FieldTypeMeaning
namestringThe app or website as published in the ruling.
hoststringHostname only, lower-cased. Never a clickable link.
kind"app" | "website"What was flagged.
reasonenumscam, hate_harassment, echo_chamber, dark_patterns, privacy_abuse, adult_harm, misinformation, other.
severityenumcaution, high or critical.
scam_awardbooleanTrue for App Salute Trust Scam Award holders.
summarystringPlain-language explanation of the ruling.
flagged_atISO 8601When the ruling was published.
last_verified_atISO 8601 | nullLast time auditors re-checked it.

Examples

Fetch the feed

curl -sH 'accept: application/json' \
  https://appsalutetrust.com/api/public/threats.json

Browser extension — warn on critical hosts

const res = await fetch('https://appsalutetrust.com/api/public/threats.json');
const { entries } = await res.json();
const blocked = new Set(
  entries.filter((e) => e.severity === 'critical').map((e) => e.host)
);
if (blocked.has(new URL(tab.url).hostname)) showWarning();

Ad-block style filter list (hosts syntax)

curl -s https://appsalutetrust.com/api/public/threats.json \
  | jq -r '.entries[] | select(.severity != "caution") | "0.0.0.0 " + .host'

Terms of use

  • Free for research, safeguarding, filter lists and non-commercial protection tools. Please credit "App Salute Trust" and link back to the Hall of Shame where you show a ruling.
  • Each ruling reflects App Salute Trust's own audit at the time shown. Sites change — check last_verified_at before acting on an old entry.
  • Do not present feed data as a legal finding, and do not republish host names as clickable links.
  • Spotted an error or a site that has cleaned up its act? Report it through the Hall of Shame checker and auditors will re-review.