Partner API
Base URL:
https://app.dosafe.io/apiAuth: All endpoints require
X-Api-Keyheader. One key covers all DOSafe services.
Overview
The DOSafe API is the unified safety gateway for the DOS ecosystem. A single API key grants access to all DOSafe services — entity/URL safety checks, AI text/image/video/audio detection, face and voice verification, and community reporting — with scopes controlling which capabilities are available.
Data Sources (Safety Check)
DOSafe DB
Highest
3.93M+ entries from 19 scrapers (phishing, scam, malware, wallets)
DOS Chain
High
Immutable on-chain attestations via EAS
DOS.Me Identity
Moderate
Member trust score, verified providers, flagged status
Web Analysis
Moderate
Real-time web search + LLM-powered risk analysis
Architecture: DOSafe is the safety engine and public gateway. DOS.Me is an identity data provider — external services call DOSafe, not DOS.Me.
Risk Score → Level
0–19
safe
20–49
low
50–74
medium
75–89
high
90–100
critical
Scores are computed by weighted aggregation of signals — no single source determines the verdict alone.
Authentication
Keys are stored as SHA-256 hashes in dosafe.api_keys. Plaintext is never persisted after provisioning.
Scopes
check
POST /check
bulk
POST /check/bulk
report
POST /report
detect
POST /detect, POST /detect-image, POST /detect-video, POST /detect-audio
url-check
POST /url-check
entity-check
POST /entity-check
face
POST /face/enroll, POST /face/verify
voice
POST /voice/enroll, POST /voice/verify
A key can have multiple scopes. Contact the DOSafe team to provision a key with required scopes.
Entity Types
wallet
0xdeadbeef...
domain
evil.com
url
https://evil.com/phish
email
phone
+84901234567
bank_account
VCB:1234567890
telegram / telegram_user / telegram_group / telegram_bot
scammerbot
facebook / facebook_profile / facebook_page
fakeshop.vn
national_id
079123456789
organization
Company name
Safety Check API
Structured developer API. Cleaner response format optimized for machine consumption.
POST /check
POST /checkScope: check
Single entity safety check. Runs DB lookup + on-chain query + DOS.Me identity in parallel.
Request:
Response:
Example — Bexly: check wallet before transaction:
POST /check/bulk
POST /check/bulkScope: bulk
Batch entity check. Max 50 entities per request. Results are returned in the same order as input. Individual errors do not fail the whole batch.
Request:
Response:
POST /report
POST /reportScope: report
Submit a safety report for an entity. Reports are staged in raw_imports for review. High-confidence reports (riskScore >= 70) are promoted to threat intel within 24h.
Request:
entityType
✓
See entity types table
entityId
✓
Raw value
category
✓
phishing, scam, malware, fraud, spam, impersonation, other
riskScore
✓
Integer 0–100
description
✗
Human-readable context
Response (201):
AI Detection API
POST /detect
POST /detectScope: detect
AI text detection. Returns probability that the input was AI-generated.
Request:
Response:
POST /detect-image
POST /detect-imageScope: detect
AI image detection. Combines C2PA, EXIF/DCT metadata, reverse image search, and LLM visual analysis.
Request: multipart/form-data with image field (JPEG/PNG/WEBP/GIF, ≤10MB), or JSON { "url": "..." }.
Response:
POST /detect-video
POST /detect-videoScope: detect
AI video detection. Uses a 7-layer pipeline: frame-level AI detection, temporal consistency analysis, audio-visual synchronization, and LLM visual reasoning.
Request: multipart/form-data with video field (MP4/MOV/WEBM, max 100MB), or JSON { "url": "..." }.
Response:
POST /detect-audio
POST /detect-audioScope: detect
AI audio/voice detection. BEATs + mHuBERT ensemble for detecting AI-generated speech and voice clones.
Request: multipart/form-data with audio field (WAV/MP3/OGG/FLAC, max 50MB), or JSON { "url": "..." }.
Response:
POST /url-check
POST /url-checkScope: url-check
URL/domain safety check. DB lookup + runtime checks (Google Safe Browsing, WHOIS, on-chain).
Request:
Response:
POST /entity-check
POST /entity-checkScope: entity-check
Full entity risk check with raw DB entries and member data. Used internally by DOSafe clients (Telegram, mobile, extension).
Request:
Response:
Signal Reference
Signals are the raw evidence contributing to a risk score. Returned in signals[] for transparency.
Threat DB Signals
db_flagged_phishing
In DOSafe DB as phishing
+90
db_flagged_malware
In DOSafe DB as malware
+85
db_flagged_scam
In DOSafe DB as scam
+75
db_verified_legitimate
Verified legitimate in DOSafe DB
−45
cluster_linked
Linked to a known scammer cluster
+15
db_source_*
Which scraper source flagged it (informational, no weight)
0
On-Chain Signals
onchain_flagged_phishing
On-chain attestation: phishing
+85
onchain_flagged_scam
On-chain attestation: scam
+70
onchain_high_risk
On-chain risk score ≥ 80
+60
onchain_medium_risk
On-chain risk score 50–79
+35
onchain_verified_legitimate
On-chain: verified legitimate
−40
onchain_trusted
On-chain risk score < 20
−30
DOS.Me Identity Signals
dosme_member_flagged
Flagged on DOS.Me
+40
dosme_trust_passing
Meets DOS.Me trust threshold
−20
dosme_high_trust
Trust score ≥ 70
−15
dosme_multi_verified
3+ verified identity providers
−10
dosme_medium_trust
Trust score ≥ 40
−5
dosme_has_dosid
Has custom DOS.me username
−5
Error Responses
401 Unauthorized
Missing or invalid X-Api-Key
403 Forbidden
Key valid but lacks required scope
400 Bad Request
Validation error
500 Internal Server Error
Lookup failed
Migration from DOS.Me Trust API
If you were previously using api.dos.me/trust/check, migrate to DOSafe:
POST api.dos.me/trust/check
POST app.dosafe.io/api/check/bulk
GET api.dos.me/trust/member
Included in /check response as member field
POST api.dos.me/trust/flags
POST app.dosafe.io/api/report
The DOS.Me Trust API endpoints are deprecated and will be removed on 2026-11-01.
Getting API Keys
Contact the DOSafe team with:
Your product name
Required scopes (
check,bulk,report,detect,url-check,entity-check)Expected daily volume
Last updated