API Documentation

Gunakan API ZenaNetwork untuk mengecek status pemblokiran domain secara programatik.

Base URL: https://zenanawalabot.zenanetwork.top

Authentication

Semua request API harus menyertakan API Key di header request. Hubungi admin untuk mendapatkan API Key.

Header yang Diperlukan
X-API-KEY: zn_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Contoh Request dengan cURL
curl -X POST https://zenanawalabot.zenanetwork.top/api/v1/check-domain \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: zn_your_api_key_here" \
  -d '{"domain": "example.com"}'

Rate Limits

Setiap API Key memiliki batas penggunaan yang ditentukan oleh admin.

Limit TypeDescription
Usage LimitJumlah maksimum request yang dapat dilakukan dengan API Key
ExpirationTanggal kadaluarsa API Key
Jika limit tercapai atau key expired, API akan mengembalikan error 401 atau 429.

Check Domain

POST/api/v1/check-domain

Mengecek status pemblokiran domain oleh Kominfo/ISP Indonesia.

Request Body
ParameterTypeRequiredDescription
domainstringRequiredDomain yang akan dicek (contoh: example.com)
Request Example
{
  "domain": "example.com"
}
Response
● 200 OK - Success
{
  "success": true,
  "data": {
    "domain": "example.com",
    "status": "Tidak Ada",
    "checked_at": "2025-12-27T16:26:39.000Z",
    "message": "Domain tidak terblokir"
  }
}
● 200 OK - Domain Blocked
{
  "success": true,
  "data": {
    "domain": "blocked-site.com",
    "status": "BLOKIR",
    "checked_at": "2025-12-27T16:26:39.000Z",
    "message": "Domain terblokir oleh DataCenter"
  }
}
● 401 Unauthorized - Invalid/Expired API Key
{
  "success": false,
  "error": "API key not found"
}
● 429 Too Many Requests - Usage Limit Exceeded
{
  "success": false,
  "error": "API key usage limit exceeded"
}

Code Examples

JavaScript (Fetch)
const checkDomain = async (domain) => {
  const response = await fetch('https://zenanawalabot.zenanetwork.top/api/v1/check-domain', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-KEY': 'zn_your_api_key_here'
    },
    body: JSON.stringify({ domain })
  });
  return await response.json();
};

// Usage
checkDomain('example.com')
  .then(data => console.log(data))
  .catch(err => console.error(err));
Python (Requests)
import requests

def check_domain(domain):
    url = 'https://zenanawalabot.zenanetwork.top/api/v1/check-domain'
    headers = {
        'Content-Type': 'application/json',
        'X-API-KEY': 'zn_your_api_key_here'
    }
    data = {'domain': domain}
    
    response = requests.post(url, json=data, headers=headers)
    return response.json()

# Usage
result = check_domain('example.com')
print(result)
PHP (cURL)
<?php
function checkDomain($domain) {
    $url = 'https://zenanawalabot.zenanetwork.top/api/v1/check-domain';
    $data = json_encode(['domain' => $domain]);
    
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'X-API-KEY: zn_your_api_key_here'
    ]);
    
    $response = curl_exec($ch);
    curl_close($ch);
    
    return json_decode($response, true);
}

// Usage
$result = checkDomain('example.com');
print_r($result);
?>