⚡ BETA — Free Forever Tier

CekIPSaya API

Network intelligence API untuk developer Indonesia. Lookup IP, resolve DNS, cek blacklist — semua dalam satu endpoint gratis. Server di Asia, response Bahasa Indonesia, no credit card.

🔑 Dapat Free API Key 📖 Quickstart

Kenapa CekIPSaya API?

4 alasan jadi pilihan utama developer Indonesia.

🇮🇩

Indonesia-First

Geo akurat untuk Telkom, Biznet, MyRepublic, IndiHome, dll. Server Asia = latency rendah.

💰

Free Forever

100 request/hari gratis selamanya. Tidak perlu kartu kredit. Tidak ada trial expired.

🛡️

Anti-Fragile

3-tier fallback chain (ipapi.co → ip-api.com → freeipapi). Selalu return data meski 1 provider down.

🔓

Open Standard

RESTful, JSON, RFC 7807 errors, CORS wildcard. Compatible dengan tools/library yang sudah ada.

Quickstart — 60 Detik

3 langkah dari nol ke first successful API call.

1. Dapat API Key

Sign up gratis di dashboard — key di-generate instant.

2. First Request

Lookup IP kamu sendiri. Pilih bahasa pemrograman:

# Lookup IP kamu sendiri
curl -H "X-API-Key: cks_live_YOUR_KEY" \
     https://cekipsaya.com/v1/ip

# Lookup IP atau domain lain
curl -H "X-API-Key: cks_live_YOUR_KEY" \
     "https://cekipsaya.com/v1/ip?lookup=google.com"
// Modern fetch — works in browser & Node 18+
const res = await fetch('https://cekipsaya.com/v1/ip', {
    headers: { 'X-API-Key': 'cks_live_YOUR_KEY' }
});
const data = await res.json();
console.log(data); // { data: { ip: '...', org: '...' }, meta: {...} }
import requests

res = requests.get(
    'https://cekipsaya.com/v1/ip',
    headers={'X-API-Key': 'cks_live_YOUR_KEY'}
)
print(res.json())
<?php
$ctx = stream_context_create(['http' => [
    'header' => "X-API-Key: cks_live_YOUR_KEY\r\n"
]]);
$json = file_get_contents('https://cekipsaya.com/v1/ip', false, $ctx);
$data = json_decode($json, true);
print_r($data);

3. Response Format

{
  "data": {
    "ip": "103.3.220.25",
    "org": "",
    "asn": "AS139994 PT XL Axiata Tbk",
    "city": "Bekasi",
    "region": "West Java",
    "country": "Indonesia",
    "country_code": "ID",
    "timezone": "Asia/Jakarta",
    "latitude": -6.2349,
    "longitude": 106.99,
    "proxy": false,
    "source": "ip-api.com"
  },
  "meta": {
    "version": "1.0.0",
    "tier": "free",
    "quota_remaining_today": 99
  }
}

Endpoint Reference

3 endpoint utama. Semua butuh header X-API-Key.

GET /v1/ip

Lookup IP — caller (default) atau target via parameter lookup.

ParameterTipeWajibDeskripsi
lookupstringOpsionalIP atau domain target. Kalau kosong, return IP caller.

GET /v1/dns

Resolve DNS records via Google Public DNS upstream.

ParameterTipeWajibDeskripsi
domainstringWajibDomain target (contoh: google.com).
typestringOpsionalTipe record: A, AAAA, MX, NS, TXT, CNAME, SOA. Kalau kosong, return semua.

GET /v1/blacklist

Cek IP terhadap 12 DNSBL list (Spamhaus, SpamCop, Barracuda, SORBS, UCEPROTECT, dll).

ParameterTipeWajibDeskripsi
ipstringWajibIPv4 yang mau dicek. IPv6 belum supported.

GET /v1/whois

RDAP-based WHOIS lookup. Domain → registrar+expiry+nameservers. IP → network+ASN+country.

ParameterTipeWajibDeskripsi
domainstringSalah satuDomain target (contoh: cekipsaya.com).
ipstringSalah satuIPv4 target. Tidak boleh dikombinasikan dengan domain.

GET /v1/port

TCP port check via fsockopen. Return open/closed + latency (ms). SSRF protected.

ParameterTipeWajibDeskripsi
hoststringWajibHost atau IP target.
portintWajibPort TCP (1-65535).

GET /v1/mac

MAC vendor lookup via macvendors.com (fallback maclookup.app). Accept multiple formats.

ParameterTipeWajibDeskripsi
macstringWajibMAC address format apa saja (AA:BB:CC:DD:EE:FF, AA-BB-CC-DD-EE-FF, atau hanya OUI 6 chars).

GET /v1/ssl

TLS certificate inspection. Return subject, issuer, valid_from/to, days_until_expiry, SANs.

ParameterTipeWajibDeskripsi
hoststringWajibHost TLS target.
portintOpsionalPort TLS, default 443.

GET /v1/headers

HTTP response headers inspection. Berguna untuk debug cache, redirects, security headers.

ParameterTipeWajibDeskripsi
urlstringWajibURL target (HTTP/HTTPS). Scheme auto-added kalau cuma host.

GET /v1/asn

ASN deep info — holder, country, RIR, prefix counts, peer counts. bgpview.io primary + RIPE Stat fallback.

ParameterTipeWajibDeskripsi
asnint / stringWajibASN number (boleh dengan prefix "AS"). Contoh: 15169 atau AS15169.

GET /v1/traceroute

Anti-fragile traceroute — path estimate via geolocation (BUKAN ICMP real, shared hosting tidak punya RAW socket). Disclaimer di response.

ParameterTipeWajibDeskripsi
hoststringWajibHost atau IP target.

GET /v1/health NO AUTH

Public health check. Returns status, server time, DNS+filesystem self-test. Untuk monitoring services (Uptime Robot, BetterUptime, dll).

ParameterTipeWajibDeskripsi
No parameters required. Endpoint ini intentionally NO AUTH untuk monitoring tools.

Pricing Tiers

Mulai gratis. Upgrade kapan saja (Dev/Pro coming soon).

Dev

Rp 49K /bulan
  • ✅ 5,000 request/hari
  • ✅ 120 request/menit
  • ✅ Semua endpoint
  • ✅ Email support
  • ✅ Webhook (coming)
Coming Soon

Pro

Rp 199K /bulan
  • ✅ 50,000 request/hari
  • ✅ 600 request/menit
  • ✅ Semua endpoint
  • ✅ Priority support
  • ✅ SLA 99.5%
Coming Soon

Errors

Format RFC 7807-ish — machine-readable type slug + human-readable detail (Bahasa Indonesia).

{
  "error": {
    "type": "missing_api_key",
    "title": "API key required",
    "detail": "Sertakan header X-API-Key atau parameter ?key=. Daftar gratis: https://cekipsaya.com/dashboard/api/",
    "status": 401
  },
  "meta": { "version": "1.0.0", "docs": "https://cekipsaya.com/docs/api/" }
}

Status Codes

CodeMeaning
200Sukses — data ada di response body.
400Bad request — parameter tidak valid.
401Unauthorized — API key tidak ada atau salah.
404Not found — resolve gagal (domain tidak ada).
429Rate limit / quota exceeded. Header Retry-After kasih tahu kapan reset.
500Server error — upstream provider down. Coba lagi nanti.

Roadmap

11 endpoint live (Phase 1+2+3). Phase 4 roadmap — vote di Telegram channel kalau ada request prioritas.