Open data & API

HasTrust publishes its scam-domain blocklist and per-domain trust verdicts as open data. Free for research, blocklists, security tooling and journalism — attribution required (CC BY 4.0, see below).

Looking for headline numbers instead of raw data? See the fake-webshop statistics (citable, anchored figures), the monthly Fake Shop Report (frozen editions with embeddable charts) and the live fake-webshop monitor.

Scam-domain blocklist

Our curated blocklist: domains with confirmed scam signals — the highest-confidence slice of the corpus. Updated continuously; responses are cached for 5 minutes. CORS is enabled, so you can call it straight from a browser or extension.

GET https://hastrust.com/api/blocklist{ "domains": ["example-scam.shop", "…"] }

Need to know why a domain is listed? The full variant adds provenance per row — feed:<host> marks rows imported from vetted abuse feeds (the majority, URLhaus and similar); manual and watcher rows come from HasTrust's own human-confirmed review:

GET https://hastrust.com/api/blocklist/full

Wrong entry? See the false-positive & removal policy — first response within 72 hours.

Research dataset — per-domain features

One row per assessed webshop with the objective features behind the score: trust score and label, RDAP registration date, first Wayback capture, the age-laundering flag, assessment timestamp and URL. This is the dataset for researchers and journalists — the blocklist tells you what we flagged, this tells you why the corpus looks the way it does.

GET https://hastrust.com/data/features.csv GET https://hastrust.com/data/features.json

Regenerated at most every 6 hours. Headline aggregates with citation anchors live on the statistics page; frozen monthly editions with embeddable charts in the Fake Shop Report.

Trust score — single domain (v1, stable)

The integration endpoint: keyless, CORS-open, versioned. Returns the cached verdict (score 0–100, label, assessment URL) or the blocklist flag. A domain we haven't assessed returns "status": "unknown" with a link to run the check — this endpoint never starts a live check itself, so it's safe to call in bulk.

GET https://hastrust.com/api/v1/score/<domain>curl -s 'https://hastrust.com/api/v1/score/temu.com' { "domain": "temu.com", "status": "assessed", "trust_score": 62, "trust_label": "Mixed", "url": "https://hastrust.com/v/temu", "attribution": "data: HasTrust, CC-BY 4.0 — https://hastrust.com/data" }

Statuses: assessed · blocklisted (score 0) · unknown. Rate limit: 30 requests/minute per IP — for more, use the bulk blocklist above or get in touch.

Trust lookup — single domain

The extension's own endpoint. Returns the cached verdict when we have one (trust score 0–100, label, assessment URL); otherwise an instant domain-age signal plus a link that runs the full check.

GET https://hastrust.com/api/quick?domain=example.comcurl -s 'https://hastrust.com/api/quick?domain=temu.com'

Batch lookup — up to 30 domains

One call for a whole page of links (what our extension uses on search results). Same shape as the single lookup, per domain.

GET https://hastrust.com/api/quickbatch?domains=a.com,b.com&lang=en

Scam-message scan

POST a message a user received; returns pattern flags, the first linked domain's verdict, per-identifier checks (email / IBAN / phone) and — budget permitting — an AI read of the tactics.

POST https://hastrust.com/api/scan { "message": "You won! Pay shipping to NL91…", "lang": "en" }{ "flags": ["…"], "domain": "…", "row": { … }, "ids": [ { "kind": "iban", "status": "bad", … } ], "ai": { … } }

License & attribution

All data is licensed CC BY 4.0. Use it in any project, commercial or not — credit “HasTrust” with a link to hastrust.com where the data is shown or documented.

Upstream sources: domain-popularity ranks come from the Majestic Million (© Majestic, CC BY 3.0); scam-domain feeds include URLhaus by abuse.ch (CC0).

Fair use

Cache responses for at least 5 minutes and fetch server-side for anything high-volume — don't proxy every visitor through the API. Need bulk access, historical snapshots or a different format? Get in touch — we're happy to help researchers.

How verdicts are made

Methodology, signal weights and the fairness floor for new shops are documented on How we score. Assessments are refreshed continuously; the newest ones are in the RSS feed.