Scan publisher domain before approval
Two calls per publisher — malware scan and blacklist check — before any campaign goes live. Returns scanner result, blacklist status across Google, Yandex, Phishtank and others.
Step 1 — trigger malware scan
POSTscannerapi.quttera.com/api/v3/{api-key}/url/scan/partner-site.com.json
"error": 200,
"errorstr": "success",
"status": {
"blacklisted": "no",
"scanner_result": "undef",
"state": "DOWNLOAD",
"url": "partner-site.com"
}
Step 2 — retrieve report when state = DONE
GETscannerapi.quttera.com/api/v3/{api-key}/url/report/partner-site.com.json
"report": {
"state": "clean",
"scanned_files": 24,
"malicious_files": 0,
"suspicious_files": 0,
"blacklist_report": {
"blacklist_status": "NoThreat",
"providers": [
{ "name": "Google Safebrowsing", "status": "NoThreat" },
{ "name": "Yandex Safebrowsing", "status": "NoThreat" },
{ "name": "Phishtank", "status": "NoThreat" }
]
}
}
Validate landing pages and redirect chains before launch
Two targeted scans catch the issues that matter most before a campaign spends budget — redirect manipulation (integrity scan) and SSL certificate health.
Step 1 — integrity scan (redirect chains, broken links, HTTP headers)
POSTscannerapi.quttera.com/api/v3/{api-key}/integrity/scan/lp.partner-b.com.json
"report": {
"state": "DONE",
"headers_comments": [
"ALERT: HTTP security header 'Content-Security-Policy' is missing",
"ALERT: HTTP security header 'X-Frame-Options' is missing"
],
"links_alert": [
{
"alert": "redirection",
"url": "https://lp.partner-b.com/offer",
"redir_target": "https://suspicious-domain.ru/cread.php",
"http_status": "302"
}
]
}
Step 2 — SSL certificate health
POSTscannerapi.quttera.com/api/v3/{api-key}/ssl/scan/lp.partner-b.com.json
"report": {
"trusted": true,
"expired": false,
"expiration_days": 187,
"cert_issuer_o": "Sectigo Limited",
"state": "DONE"
}
Continuous post-approval monitoring
Poll status endpoints on a schedule. When state returns DONE, pull the full report and check scanner_result. Any result other than "clean" triggers your review workflow.
Step 1 — check scan status (poll until DONE)
GETscannerapi.quttera.com/api/v3/{api-key}/url/status/partner-c.com.json
"status": {
"state": "DONE",
"scanner_result": "suspicious",
"blacklisted": "yes",
"sensitivity": "HEURISTIC",
"url": "partner-c.com"
}
Step 2 — retrieve full report for flagged domain
GETscannerapi.quttera.com/api/v3/{api-key}/url/report/partner-c.com.json
"report": {
"state": "suspicious",
"malicious_files": 2,
"suspicious_files": 3,
"files": [
{
"filename": "partner-c.com/checkout.js",
"threat": "Malicious",
"threat_name": "Trojan.JS.Injection.gen",
"reason": "Injected script exfiltrating form data"
}
]
}
Score attribution risk before paying commission
Before releasing payout, run two checks — blacklist report across all authorities, and compliance scan mapped to PCI-DSS, SOC 2 and ISO 27001. Any violation flags the payout for review.
Step 1 — full blacklist report across all authorities
GETscannerapi.quttera.com/api/v3/{api-key}/blacklist/report/partner-d.com.json
"status": { "blacklisted": "yes", "url": "partner-d.com" },
"authority": [
{ "name": "Google Safebrowsing", "blacklisted": "yes" },
{ "name": "Phishtank", "blacklisted": "no" },
{ "name": "Yandex Safebrowsing", "blacklisted": "no" },
{ "name": "Quttera Labs", "blacklisted": "yes" }
]
Step 2 — compliance scan mapped to PCI-DSS / SOC 2 / ISO 27001
GETscannerapi.quttera.com/api/v3/{api-key}/compliance/report/partner-d.com.json
"report": {
"summary": {
"PCI-DSSv4.0": 4,
"SOC2": 4,
"ISO/IEC:27001": 6
},
"controls": {
"CC6.1": {
"info": { "standard": "SOC2",
"title": "Unauthorized Access Prevention" },
"violations": [
{ "threat_name": "Trojan.JS.Injection.gen.2DB",
"group": "Code Injection, Obfuscation" }
]
}
}
}