Developer DocsДокументация для разработчиков

SecuriLayer API DocumentationДокументация SecuriLayer API

Production-grade integration reference with request/response contracts, billing semantics, and anti-abuse behavior.Production-level reference по интеграции: контракты запросов/ответов, биллинговая семантика и anti-abuse поведение.

Quick Start

Use one API key and call `/v1/check/url` to start.Используйте API key и вызовите `/v1/check/url` для старта.

curl -X POST https://securilayer.dev/v1/check/url \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sk_live_xxxxx" \
  -d '{"url":"https://example.com"}'
import requests

resp = requests.post(
    "https://securilayer.dev/v1/check/url",
    headers={"X-API-Key": "sk_live_xxxxx"},
    json={"url": "https://example.com"},
    timeout=10,
)
resp.raise_for_status()
data = resp.json()
print(data["verdict"], data.get("reason_codes", []))
const res = await fetch("https://securilayer.dev/v1/check/url", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-API-Key": "sk_live_xxxxx"
  },
  body: JSON.stringify({ url: "https://example.com" })
});
const data = await res.json();
console.log(data.verdict, data.reason_codes);
$ch = curl_init('https://securilayer.dev/v1/check/url');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'Content-Type: application/json',
  'X-API-Key: sk_live_xxxxx'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['url' => 'https://example.com']));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
echo $result;

Need an API key? Create it in DashboardНужен API ключ? Создайте в кабинете

Authentication

HeaderValueNotesКомментарий
X-API-Keysk_xxxxxRequired for API routes.Обязателен для API маршрутов.
AuthorizationBearer <jwt>Used for dashboard/session routes.Используется для dashboard/session маршрутов.
Key typeТип ключаScope
extensionBrowser checks + extension telemetryПроверки расширения + telemetry
api_standardCore check endpointsБазовые check endpoints
api_creditsPay-as-you-go usage with token billingPay-as-you-go использование с токен-биллингом
api_enterpriseDedicated limits, SLA, custom policy contractsВыделенные лимиты, SLA, кастомные policy-контракты

Endpoints

MethodPathRequestResponse
POST/v1/check/url{"url": "string"}DecisionResponse
POST/v1/check/text{"text": "string"}DecisionResponse
POST/v1/check/phone{"phone": "string"}DecisionResponse
POST/v1/check/media{"file": "base64"}DecisionResponse
GET/v1/credits/balance-{"tokens": int, "usd_balance": float}
GET/v1/decisions?limit=50Decision history for org_idИстория решений для org_id

Response Format

{
  "verdict": "SAFE | SUSPICIOUS | DANGER",
  "confidence": 0.93,
  "reason_codes": ["HOMOGRAPH", "NEW_DOMAIN"],
  "explanation": "Potential domain spoofing pattern",
  "decision_id": "b54f5f7e-2e5a-4ad1-9f65-4fbe818f8e44",
  "billing_mode": "subscription | credits | overflow",
  "tokens_used": 1
}
CodeDescriptionОписаниеSeverity
HOMOGRAPHSuspicious domain visual spoofingВизуальная подмена доменаhigh
REDIRECT_MISMATCHUnexpected redirect chain mismatchНесоответствие в цепочке редиректовmedium
DRAINER_PATTERNCrypto wallet drainer signature detectedОбнаружен паттерн crypto drainercritical
GOV_IMPERSONATIONGovernment authority impersonationИмперсонация госструктурыcritical
X-Quota-Remaining · X-Credits-Balance · X-Billing-Mode

Error Codes

StatusMeaningЗначениеWhat to doЧто делать
401Invalid or missing API keyОтсутствует или неверный API ключCreate/rotate key in DashboardСоздать/ротировать ключ в кабинете
402Insufficient balance or expired subscriptionНедостаточный баланс или истёкшая подпискаTop up credits or renew planПополнить Credits или продлить план
422Invalid input (blocked SSRF, malformed URL, etc.)Неверный ввод (SSRF, некорректный URL и т.д.)Validate client payloadПровалидировать payload на клиенте
429Rate limit exceeded (tokens not charged)Превышен rate limit (токены не списываются)Retry with backoffПовторить с backoff
503Temporary service degradationВременная деградация сервисаRetry later and monitor statusПовторить позже и проверить статус

Billing / Tokens

Check typeТип проверкиTokensUSD
URL / Text1$0.004
Phone3$0.012
Media8$0.032
Sandbox20$0.080

Starter

$29 → 7,250 tokens

Growth

$99 → 26,125 tokens (+5%)

Scale

$299 → 82,225 tokens (+10%)

Pro

$999 → 287,212 tokens (+15%)

On HTTP 429 tokens are not charged.При HTTP 429 токены не списываются.

Real Use Cases

1) Telegram mini app1) Telegram mini app

Validate links posted by users before publishing to group chat.Проверка ссылок пользователей до публикации в группе.

2) E-commerce moderation2) E-commerce модерация

Scan links in product reviews and comments to block phishing campaigns.Проверка ссылок в отзывах и комментариях для блокировки фишинга.

3) Discord bot wrapper3) Discord bot wrapper

Custom bot delegates detection to SecuriLayer API while keeping your own command UX.Свой бот передаёт детектирование в SecuriLayer API, сохраняя ваш UX команд.

4) Bulk URL checker4) Bulk URL checker

Rate-limit aware Python batch script with retries and result persistence.Batch-скрипт на Python с учётом rate-limit и retry-политики.