API Geolokasi IP & Analisis Risiko Gratis

API Geolokasi IP & Deteksi Risiko IP Gratis

API pencarian IP berkinerja tinggi, dual-stack IPv4/IPv6, multi-bahasa. Batas frekuensi: 1 permintaan/detik, tanpa batas kuota total.

⏱️
Batas Frekuensi Maksimum 1 permintaan per detik (1 req/dtk).
♾️
Total Kuota Tanpa batas kuota harian atau total. 100% gratis digunakan.

Endpoint API

GET https://api.myipdns.com/
IPv4 IPv6 Format JSON
GET https://v4.api.myipdns.com/
Hanya IPv4 Format Teks Polos
GET https://v6.api.myipdns.com/
Hanya IPv6 Format Teks Polos

Parameter Permintaan

Nama Parameter Deskripsi Contoh
ip Alamat IP yang ingin dicari. Jika dikosongkan, mengembalikan IP pemanggil. ?ip=8.8.8.8
lang Bahasa respons. Didukung: en, cn, ru, ja, fr, de, es, pt. ?lang=zh-CN

Contoh Respons JSON

Request: GET https://api.myipdns.com/?ip=8.8.8.8&lang=en

{
  "ip": "8.8.8.8",
  "continent": "North America",
  "continent_code": "NA",
  "country": "United States",
  "country_code": "US",
  "timezone": "America/Chicago",
  "latitude": 37.751,
  "longitude": -97.822,
  "asn": 15169,
  "as_org": "Google LLC",
  "native_type": "native",
  "rir_registry": "arin",
  "is_hosting": true,
  "usage_type": "DCH",
  "query_time": "0.03",
  "source": "maxmind.com"
}

API Diagnostik Tumpukan Protokol & Privasi Terminal (/check)

Endpoint inspeksi tumpukan protokol dan topologi keluar langsung berakurasi tinggi tanpa proksi untuk curl, wget, dan skrip otomatisasi.

⚡
Batas Kecepatan Baca 1 permintaan/detik (burst 5) per IP. Jika melebihi mengembalikan HTTP 429.
🔗
Kuota Pembuatan Berbagi 5 penulisan/jam per IP. Jika melebihi secara elegan terus mengembalikan diagnosis tanpa URL berbagi (HTTP 200).

Endpoint API

GET https://myipdns.com/check
Dual-Stack Keluaran Default (Warna ANSI / Teks Terminal)
GET https://myipdns.com/check?format=line
Dual-Stack Format Baris (KEY=VALUE untuk Parsing Shell / Otomatisasi)
GET https://myipdns.com/check?format=json
Dual-Stack Format JSON Terstruktur

Parameter Permintaan

Nama Parameter Deskripsi Contoh
format Spesifikasi format keluaran: json (JSON Terstruktur) atau line (format KEY=VALUE) ?format=line / ?format=json
share Hasilkan URL laporan 30 hari yang dapat dibagikan dan lencana SVG (dibatasi 5 penulisan/jam/IP) ?share=1
color Nonaktifkan kode escape warna ANSI: ?color=0 atau ?plain=1 ?color=0 / ?plain=1
-4 / -6 Probe secara eksplisit tumpukan IPv4 atau IPv6: curl -4 atau curl -6 curl -4 -sL https://myipdns.com/check

Spesifikasi Lengkap Bidang JSON

Field Type Description
ipstringAlamat IP keluar klien
ip_versionstringVersi IP (IPv4 atau IPv6) (IPv4 / IPv6)
countrystringNama negara yang diselesaikan melalui pemungutan suara konsensus multi-sumber
country_codestringKode negara huruf besar dua huruf ISO 3166-1 alpha-2
citystring | nullNama kota yang diselesaikan melalui pemungutan suara konsensus multi-sumber (atau null jika tidak terukur)
asnstringNomor Sistem Otonom (mis. AS15169)
as_orgstringNama organisasi ASN atau ISP
is_datacenterbooleanFlag boolean yang menunjukkan jaringan pusat data atau hosting
is_proxybooleanFlag boolean yang menunjukkan titik keluar proksi komersial atau VPN
transportobjectObjek lapisan transport. 🔴 Garis merah: semua metrik yang tidak terukur benar-benar bernilai null (tidak pernah 0 atau false)
transport.mssstringUkuran Segmen Maksimum TCP (MSS) yang diamati (mis. 1380, atau "n/a")
transport.mtuinteger | nullMTU Jalur yang diturunkan berdasarkan MSS (mis. 1420 untuk WireGuard, atau null)
transport.mtu_notestring | nullKlasifikasi jenis tautan heuristik berdasarkan MTU (atau null)
transport.wscaleinteger | nullEksponen Skala TCP Window (atau null)
transport.syn_wininteger | nullUkuran TCP Initial SYN Window (atau null)
transport.syn_ttlinteger | nullPerkiraan Initial SYN Time to Live (TTL) (atau null)
transport.option_orderstring | nullUrutan opsi TCP SYN yang dipisahkan koma (atau null)
transport.ts_valinteger | nullNilai Stempel Waktu TCP (atau null)
transport.ts_hzinteger | nullSelalu null. Server tidak pernah mengukur laju clock stempel waktu; apakah SYN membawa stempel waktu TCP ditunjukkan oleh ts_val.
transport.ecn_enabledboolean | nullStatus boolean Pemberitahuan Kemacetan Eksplisit (ECN) (atau null)
cryptoobjectObjek jabat tangan aplikasi & kriptografi (versi HTTP, versi TLS, JA4, JA3, ALPN)
verdictobjectKeputusan klasifikasi topologi, dasar inferensi, dan deskripsi ringkasan
share_urlstring (optional)Tautan laporan yang dapat dibagikan selama 30 hari yang dibuat saat ?share=1 diminta dalam kuota
badge_urlstring (optional)URL lencana status SVG yang dibuat saat ?share=1 diminta dalam kuota

Format Baris (KEY=VALUE untuk Parsing Shell / Otomatisasi) Example:

ip=35.212.190.31
ip_version=IPv4
country=United States
country_code=US
city=San Jose
asn=AS15169
as_org=Google LLC
is_datacenter=true
is_proxy=false
mss=1380
mtu=1420
mtu_note=Encapsulated Tunnel (WireGuard / Tailscale / CDN)
wscale=7
syn_win=65535
syn_ttl=64
option_order=MSS,SACK_PERM,TS,NOP,WS
ts_val=987654
ts_hz=n/a
ecn_enabled=true
http_proto=HTTP/2.0
tls_version=TLS 1.3
ja4=t13d1516h2_8daaf6152771_000000000000
verdict=topo_terminated_remote_protocol
verdict_basis=reputation
verdict_summary=Data Center / Proxy Egress (Hosting Network)

Format JSON Terstruktur Example:

{
  "ip": "35.212.190.31",
  "ip_version": "IPv4",
  "country": "United States",
  "country_code": "US",
  "city": "San Jose",
  "asn": "AS15169",
  "as_org": "Google LLC",
  "is_datacenter": true,
  "is_proxy": false,
  "transport": {
    "mss": "1380",
    "mtu": 1420,
    "mtu_note": "Encapsulated Tunnel (WireGuard / Tailscale / CDN)",
    "wscale": 7,
    "syn_win": 65535,
    "syn_ttl": 64,
    "option_order": "MSS,SACK_PERM,TS,NOP,WS",
    "ts_val": 987654,
    "ts_hz": null,
    "ecn_enabled": true
  },
  "crypto": {
    "http_proto": "HTTP/2.0",
    "tls_version": "TLS 1.3",
    "ja4": "t13d1516h2_8daaf6152771_000000000000"
  },
  "verdict": {
    "key": "topo_terminated_remote_protocol",
    "basis": "reputation",
    "summary": "Data Center / Proxy Egress (Hosting Network)"
  }
}

Antarmuka Baris Perintah (CLI / curl)

Tidak memerlukan integrasi API rumit. Jalankan perintah langsung di terminal Anda untuk mengambil data IP atau IP teks polos. Permintaan CLI dibatasi 1 permintaan per detik.

1. Dapatkan profil JSON standar untuk IP lokal Anda:

curl https://myipdns.com

2. Dapatkan profil JSON standar untuk IP target (mis. 8.8.8.8):

curl https://myipdns.com/ip/8.8.8.8

3. Dapatkan string IP teks polos (ideal untuk skrip shell):

curl https://myipdns.com/ip

Arsitektur Teknis API & Tanya Jawab

Pahami inspeksi tumpukan protokol /check, aturan null-safety, dan integrasi skrip otomatisasi.

/check mengeluarkan pengalihan HTTP 302 langsung ke domain probe langsung dual-stack kami (check_dns.myipdns.com). Dengan melewati reverse proxy dan CDN, kernel kami langsung memeriksa paket TCP SYN yang masuk, menangkap MTU asli, Skala Window, dan Opsi TCP.

Untuk mencegah pemalsuan dan menyesatkan sistem hilir. Dalam analisis TCP, MTU 0 tidak valid, dan ECN yang dinonaktifkan berbeda dari ECN yang tidak terukur (mis. saat menghubungkan melalui HTTP/3 QUIC). Parameter yang tidak terukur secara ketat mengembalikan null.

Gunakan curl -sL 'https://myipdns.com/check?format=line' untuk parsing KEY=VALUE dengan utilitas standar seperti awk -F= '$1=="mtu"{print $2}' atau grep, atau gunakan ?format=json yang digabungkan dengan jq.

Permintaan baca yang melebihi 1 req/dtk (burst 5) menerima HTTP 429 dengan header Retry-After. Permintaan pembuatan berbagi yang melebihi 5 penulisan/jam/IP secara elegan terus mengembalikan data diagnostik HTTP 200 standar tanpa menghasilkan tautan berbagi.

Penghargaan & Pengakuan

Kami menggunakan API pihak ketiga berikut untuk memverifikasi titik keluar jaringan.