Disposable / Temp Mail Tespit API'si
Engelli domain: —
https://api.teknikzeka.net/tempmail/api/
Hesap olusturun ve API key alin.
Panelden API'yi kullanacaginiz domain'i tanimlayin. Domain eklenmeden API calismaz.
curl -H "X-API-Key: sm_YOUR_API_KEY_HERE" \ "https://api.teknikzeka.net/tempmail/api/?action=check&email=test@tempmail.com"
{
"success": true,
"data": {
"domain": "tempmail.com",
"blocked": true,
"disposable": true,
"cached": false
},
"usage": {
"hourly": "1/50",
"daily": "1/500"
}
}
X-API-Key: sm_YOUR_API_KEY_HERE?key=sm_YOUR_API_KEY_HERE⚠️ Onemli:
• Domain tanimlamak zorunludur. Yoksa NO_DOMAIN_DEFINED hatasi alirsiniz.
• Istekler sadece tanimli domainlerden kabul edilir. CLI/Postman referer'siz calisir.
/api/?action=checkAPI KEYTek email veya domain kontrolu. Email verilirse domain otomatik ayristirilir.
GET /api/?action=check&email=test@tempmail.com Header: X-API-Key: sm_YOUR_API_KEY_HERE
{
"success": true,
"data": {
"domain": "tempmail.com",
"blocked": true,
"disposable": true,
"cached": false
},
"usage": {
"hourly": "5/50",
"daily": "12/500",
"weekly": "45/2000",
"monthly": "180/5000"
}
}
{
"success": true,
"data": {
"domain": "gmail.com",
"blocked": false,
"disposable": false,
"cached": true
},
"usage": { "hourly": "6/50", "daily": "13/500", "weekly": "46/2000", "monthly": "181/5000" }
}
/api/?action=bulk_checkAPI KEYToplu email/domain kontrolu. JSON body ile gonderilir. Limit plana gore degisir.
POST /api/?action=bulk_check
Header: X-API-Key: sm_YOUR_API_KEY_HEREHeader: Content-Type: application/json
{
"emails": [
"user@tempmail.com",
"contact@gmail.com",
"info@guerrillamail.com"
]
}
{
"success": true,
"data": [
{
"email": "user@tempmail.com",
"domain": "tempmail.com",
"blocked": true,
"disposable": true
},
{
"email": "contact@gmail.com",
"domain": "gmail.com",
"blocked": false,
"disposable": false
},
{
"email": "info@guerrillamail.com",
"domain": "guerrillamail.com",
"blocked": true,
"disposable": true
}
],
"total": 3,
"blocked_count": 2,
"usage": { "hourly": "8/50", "daily": "15/500" }
}
/api/?action=usageAPI KEYHesap bilgileri, plan limitleri ve mevcut kullanim istatistikleri.
GET /api/?action=usage Header: X-API-Key: sm_YOUR_API_KEY_HERE
{
"success": true,
"user": {
"username": "developer",
"email": "dev@example.com",
"plan": "Pro",
"api_key": "sm_12a...b442"
},
"limits": {
"hourly": 1000,
"daily": 10000,
"weekly": 50000,
"monthly": 200000,
"bulk_check": 100
},
"usage": {
"hourly": 45,
"daily": 320,
"weekly": 1500,
"monthly": 8200
},
"remaining": {
"hourly": 955,
"daily": 9680,
"weekly": 48500,
"monthly": 191800
}
}
/api/?action=plansPUBLICMevcut planlarin listesi, limitleri ve fiyatlari. API key gerekmez.
GET /api/?action=plans
{
"success": true,
"plans": [
{
"name": "Free",
"slug": "free",
"price_weekly": 0,
"price_monthly": 0,
"price_yearly": 0,
"limits": {
"hourly": 50,
"daily": 500,
"weekly": 2000,
"monthly": 5000
}
},
{
"name": "Pro",
"slug": "pro",
"price_weekly": 9.99,
"price_monthly": 29.99,
"price_yearly": 299.99,
"limits": { "..." : "..." }
}
]
}
/api/?action=statsPUBLICToplam engelli domain sayisi ve kaynak sayisi. API key gerekmez.
GET /api/?action=stats
{
"success": true,
"total_blocked_domains": 194480,
"sources": 22
}
| HTTP | Kod | Aciklama |
|---|---|---|
| 401 | AUTH_REQUIRED | API key gonderilmemis |
| 401 | INVALID_KEY | Gecersiz API key |
| 403 | ACCOUNT_DISABLED | Hesap devre disi |
| 403 | USER_BLOCKED | Hesap engellenmis |
| 403 | NO_DOMAIN_DEFINED | Panelden domain tanimlanmamis |
| 403 | DOMAIN_NOT_ALLOWED | Istek domain yetkilendirilmemis |
| 429 | RATE_LIMITED | Kullanim limiti asildi |
| 400 | MISSING_PARAM | Parametre eksik |
| 400 | BULK_LIMIT | Toplu kontrol limiti asildi |
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"message": "Hourly limit exceeded. 50/50 used.",
"retry_after": 1842
}
}
<?php
$email = 'test@tempmail.com';
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.teknikzeka.net/tempmail/api/?action=check&email=' . urlencode($email),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['X-API-Key: sm_YOUR_API_KEY_HERE'],
]);
$response = curl_exec($ch);
curl_close($ch);
$res = json_decode($response, true);
if ($res['success'] && $res['data']['blocked']) {
echo "Disposable email tespit edildi!";
} else {
echo "Email temiz.";
}
{
"success": true,
"data": {
"domain": "tempmail.com",
"blocked": true,
"disposable": true,
"cached": false
},
"usage": {
"hourly": "1/50",
"daily": "1/500"
}
}<?php
$emails = ['user@tempmail.com', 'admin@gmail.com', 'test@guerrillamail.com'];
$ch = curl_init('https://api.teknikzeka.net/tempmail/api/?action=bulk_check');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: sm_YOUR_API_KEY_HERE',
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode(['emails' => $emails])
]);
$res = json_decode(curl_exec($ch), true);
curl_close($ch);
echo "Toplam: {$res['total']}, Engelli: {$res['blocked_count']}";
{
"success": true,
"data": [
{"email":"a@temp.com","domain":"temp.com","blocked":true,"disposable":true},
{"email":"b@gmail.com","domain":"gmail.com","blocked":false,"disposable":false}
],
"total": 2,
"blocked_count": 1
}<?php
function isDisposableEmail(string $email): bool {
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.teknikzeka.net/tempmail/api/?action=check&email=' . urlencode($email),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 5,
CURLOPT_HTTPHEADER => ['X-API-Key: sm_YOUR_API_KEY_HERE'],
]);
$res = json_decode(curl_exec($ch), true);
curl_close($ch);
return ($res['success'] ?? false) && ($res['data']['blocked'] ?? false);
}
// Kullanim
if ($_POST['email'] && isDisposableEmail($_POST['email'])) {
die('Gecici email adresleri kabul edilmemektedir.');
}
Limit asildiginda belirlediginiz URL'ye POST gonderilir. Ayarlar sayfasindan yapilandirilir.
POST https://yourdomain.com/webhook Content-Type: application/json
{
"event": "rate_limit_exceeded",
"user_id": 42,
"period": "hourly",
"limit": 1000,
"current_usage": 1001,
"timestamp": "2025-03-02T09:45:00Z"
}
ShieldMail API v3.0