Ücretsiz IP API

Kayıt ve anahtar gerektirmeyen JSON API: kendi IP adresinizi ya da herhangi bir IP ve alan adının konum, sağlayıcı ve ASN bilgisini alın.

ipadresimne.net, IP adresi bilgilerini uygulamalarınızda, betiklerinizde ve komut satırında kullanabilmeniz için ücretsiz bir JSON API sunar. API anahtarı, üyelik ya da kayıt gerekmez. Tek bir istekle IP adresinin konumunu, internet sağlayıcısını, ASN'sini, hostname'ini ve bağlantı türünü alabilirsiniz.

Uç Noktalar

AdresYanıt
ipadresimne.netGenel IP adresiniz, düz metin. Yalnızca curl, wget, HTTPie ve PowerShell gibi komut satırı istemcileri içindir; tarayıcılar normal sayfayı görür.
ipadresimne.net/ipGenel IP adresiniz, düz metin. Tüm istemciler için; CORS açıktır.
ipadresimne.net/jsonKendi bağlantınızın tüm bilgileri, JSON.
ipadresimne.net/api/{ip-veya-alan-adı}Herhangi bir IPv4/IPv6 adresinin ya da alan adının bilgileri, JSON.

Bu adreslerdeki JSON yanıtlarında kıta ve ülke adları ile Türkiye'deki il adları Türkçe yazılır (ör. Amerika Birleşik Devletleri, İstanbul). İngilizce adlar için adrese /en öneki ekleyin: ipadresimne.net/en/json, ipadresimne.net/en/api/8.8.8.8. Uygulamalarınızda her zaman https:// ile başlayan adresleri kullanın.

Kendi IP Adresinizi Düz Metin Olarak Alma

Ana sayfa, komut satırı istemcilerine yalnızca IP adresinizi döndürür; betiklerde en kısa yöntem budur. Diğer istemciler ve tarayıcıdaki JavaScript kodu için /ip adresini kullanın: her istemciye düz metin döndürür ve CORS başlığı içerir.

$ curl ipadresimne.net
203.0.113.45

$ curl https://ipadresimne.net/ip
203.0.113.45

Bağlantınız hem IPv4 hem IPv6 destekliyorsa, hangi protokolle bağlandıysanız o adresi görürsünüz. Belirli bir sürümü zorlamak için curl'ün -4 ve -6 seçeneklerini kullanabilirsiniz (-6, sitemiz IPv6 üzerinden de erişilebilir olduğunda çalışır).

JSON Yanıtı: /json ve /api

/json kendi bağlantınızın, /api/{sorgu} ise verdiğiniz IP adresinin ya da alan adının bilgilerini döndürür. Sorgu olarak IPv4 (/api/8.8.8.8), IPv6 (/api/2001:4860:4860::8888) ya da alan adı (/api/google.com) kullanabilirsiniz. Komut satırında curl ipadresimne.net/8.8.8.8 yazmak da aynı JSON'u döndürür; aynı adres tarayıcıda 8.8.8.8 IP sorgulama raporunu açar.

Örnek yanıt

$ curl https://ipadresimne.net/api/8.8.8.8
{
    "ip": "8.8.8.8",
    "version": 4,
    "type": "public",
    "hostname": "dns.google",
    "location": {
        "continent": "Kuzey Amerika",
        "country": "Amerika Birleşik Devletleri",
        "country_code": "US",
        "region": "California",
        "city": "Mountain View",
        "postal": null,
        "latitude": 37.422,
        "longitude": -122.085,
        "timezone": "America/Los_Angeles",
        "utc_offset": "-07:00",
        "is_eu": false
    },
    "network": {
        "asn": 15169,
        "organization": "Google LLC",
        "isp": "Google",
        "block": "8.8.8.0/24",
        "connection": "hosting",
        "tor": false,
        "vpn": false,
        "relay": false
    },
    "source": "DB-IP"
}

Canlı yanıtı tarayıcıda açarak görebilirsiniz. Alan adı sorgularında yanıtın başına iki alan eklenir: query (sorgulanan alan adı) ve resolved (alan adının tüm IPv4 ve IPv6 adresleri). Raporun geri kalanı bu listedeki ilk adrese aittir:

$ curl https://ipadresimne.net/api/dns.google
{
    "query": "dns.google",
    "resolved": ["8.8.8.8", "8.8.4.4", "2001:4860:4860::8888", "2001:4860:4860::8844"],
    "ip": "8.8.8.8",
    …
}

Yanıt Alanları

AlanAçıklama
ipSorgulanan IP adresi
versionIP sürümü: 4 veya 6
typeAdres türü: public (genel), private (özel ağ), loopback, cgnat, link-local ya da reserved (ayrılmış)
hostnameTers DNS (PTR) kaydı; kayıt yoksa null
location.continent, country, country_codeKıta, ülke adı ve iki harfli ISO 3166-1 ülke kodu
location.region, city, postalİl veya bölge, şehir ve posta kodu (biliniyorsa)
location.latitude, longitudeYaklaşık koordinatlar; sokak adresini değil bölgenin merkezini gösterir
location.timezone, utc_offsetIANA saat dilimi (ör. Europe/Istanbul) ve yaz saati dahil şu anki UTC farkı
location.is_euÜlke Avrupa Birliği üyesiyse true
network.asn, organizationOtonom sistem numarası ve bu ağı işleten kuruluş
network.ispİnternet servis sağlayıcısı
network.blockAdresin ait olduğu IP bloğu (CIDR)
network.connectionBağlantı türü: isp (ev/iş yeri), mobile, hosting (veri merkezi), proxy, vpn, relay, tor ya da bilinmiyorsa null
network.tor, vpn, relayAdres bir Tor çıkış düğümüne, bilinen bir VPN hizmetine ya da iCloud Özel Geçiş (Private Relay) gibi bir aktarma hizmetine aitse true
sourceVerinin kaynağı (ör. DB-IP); eksik alanlar yedek bir servisten tamamlandıysa o servisin adı da eklenir

Özel ağ adreslerinde (ör. 192.168.1.1) type alanı adres türünü gösterir; konum ve ağ alanları ise null döner.

Hata Kodları

HTTP durumuAnlamı
400Geçersiz IP adresi veya alan adı
404Alan adının IP adresi (A/AAAA kaydı) bulunamadı
429Dakikalık istek sınırı aşıldı
503DNS sorgusu geçici olarak yapılamadı; biraz sonra yeniden deneyin

Hata yanıtlarının gövdesi, açıklamayı içeren tek alanlı bir JSON nesnesidir. Açıklama Türkçe adreslerde Türkçe, /en adreslerinde İngilizcedir:

{
    "error": "Kısa sürede çok fazla sorgu yaptınız. Lütfen bir dakika sonra tekrar deneyin."
}

Kullanım Sınırları ve Adil Kullanım

  • Hız sınırı: /api sorguları IP adresi başına dakikada 30 istekle sınırlıdır (IPv6'da /64 bloğu başına). Sınırı aşarsanız HTTP 429 yanıtı alırsınız; bir dakika bekleyip yeniden deneyin.
  • /json: Çok sık çağrılırsa hostname yeniden sorgulanmaz ve null dönebilir.
  • CORS: JSON yanıtları ve /ip, Access-Control-Allow-Origin: * başlığıyla gönderilir; tarayıcıdaki JavaScript kodundan doğrudan çağrılabilir.
  • Önbellek kullanın: Bir IP adresinin konum ve ağ bilgisi sık değişmez. Aynı adresi tekrar tekrar sorgulamak yerine sonucu en az birkaç saat saklayın.
  • Toplu sorgular: Binlerce IP adresi sorgulamanız gerekiyorsa API'yi yormak yerine DB-IP Lite gibi ücretsiz bir konum veritabanını kendi sunucunuzda barındırın.
  • Hataları ele alın: Uygulamanız 429 ve 503 yanıtlarında ve zaman aşımlarında düzgün çalışmaya devam etmelidir.

Kod Örnekleri

curl

curl https://ipadresimne.net/json
curl https://ipadresimne.net/api/8.8.8.8
curl https://ipadresimne.net/api/2001:4860:4860::8888
curl -s https://ipadresimne.net/api/google.com | jq -r '.network.organization'

PowerShell

$bilgi = Invoke-RestMethod https://ipadresimne.net/api/8.8.8.8
$bilgi.location.country
$bilgi.network.organization

# Sadece kendi IP adresiniz
(Invoke-RestMethod https://ipadresimne.net/ip).Trim()

Python (requests)

import requests

yanit = requests.get("https://ipadresimne.net/api/8.8.8.8", timeout=10)
yanit.raise_for_status()
veri = yanit.json()
print(veri["location"]["country"], veri["network"]["asn"])

Python (standart kütüphane)

import json
from urllib.request import urlopen

with urlopen("https://ipadresimne.net/json", timeout=10) as yanit:
    veri = json.load(yanit)

print(veri["ip"], veri["location"]["city"])

JavaScript (fetch)

async function ipBilgisi() {
  const yanit = await fetch("https://ipadresimne.net/json");
  if (!yanit.ok) throw new Error(`HTTP ${yanit.status}`);
  return yanit.json();
}

ipBilgisi().then((veri) => {
  console.log(veri.ip, veri.location.country);
});

PHP

<?php
$baglam = stream_context_create(['http' => ['timeout' => 10]]);
$govde = file_get_contents('https://ipadresimne.net/api/8.8.8.8', false, $baglam);
if ($govde === false) {
    exit('İstek başarısız oldu');
}
$veri = json_decode($govde, true);
echo $veri['location']['country'], ' - ', $veri['network']['organization'], PHP_EOL;

Lisans ve Atıf

Konum ve ağ verileri ağırlıklı olarak DB-IP'nin her ay güncellenen Lite veritabanlarından gelir ve CC BY 4.0 lisansıyla sunulur. API'den aldığınız konum bilgisini bir sitede, uygulamada ya da raporda gösterirseniz “IP Geolocation by DB-IP” ifadesini https://db-ip.com adresine bağlantı vererek yayımlamanız gerekir.

IP API Hakkında Sorular

API'yi kullanmak için anahtar veya üyelik gerekiyor mu?

Hayır. API ücretsizdir ve anahtar, üyelik ya da kayıt gerektirmez. https://ipadresimne.net/json kendi IP bilgilerinizi, https://ipadresimne.net/api/8.8.8.8 ise herhangi bir IP adresinin ya da alan adının bilgilerini JSON olarak döndürür.

API kullanım sınırı nedir?

Sorgular IP adresi başına dakikada 30 istekle sınırlıdır (IPv6'da /64 bloğu başına). Sınır aşılırsa HTTP 429 yanıtı döner; bir dakika bekleyip yeniden deneyin. Sonuçları önbelleğe almanız ve aynı IP adresini tekrar tekrar sorgulamamanız önerilir.

API'yi tarayıcıdaki JavaScript kodundan çağırabilir miyim?

Evet. JSON yanıtları ve /ip adresi Access-Control-Allow-Origin: * başlığıyla gönderildiği için fetch ile herhangi bir web sitesinden doğrudan çağrılabilir.

Konum verisini kendi sitemde gösterirsem atıf gerekir mi?

Evet. Konum verileri DB-IP'nin CC BY 4.0 lisanslı veritabanından gelir; bu bilgiyi yayımlıyorsanız “IP Geolocation by DB-IP” ifadesini https://db-ip.com adresine bağlantı vererek göstermeniz gerekir.