ipcheckerpro API
IP coğrafi konumu, ASN verileri, bayraklar, kara listeler, WHOIS ve DNS kayıtları için ücretsiz, anahtarsız JSON API. Dakikada 60 istek, CORS açık, örneklerle.
Uç noktalar
/api/v1/ipHız sınırı: 60/minYour own address: location, network, type and flags (never cached).
curl -s https://ipcheckerpro.com/api/v1/ip/api/v1/ip/{ip}Hız sınırı: 60/minAny public IPv4/IPv6 address. Add whois=1 (RDAP record) and blacklists=1 (DNSBL checks, IPv4).
curl -s "https://ipcheckerpro.com/api/v1/ip/1.1.1.1?whois=1&blacklists=1"/api/v1/asn/{asn}Hız sınırı: 60/minAutonomous system details: name, country, type, prefix counts; whois=1 adds the registry record.
curl -s "https://ipcheckerpro.com/api/v1/asn/13335?whois=1"/api/v1/dns?name=&type=Hız sınırı: 30/minDNS records of a hostname (A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA, PTR).
curl -s "https://ipcheckerpro.com/api/v1/dns?name=example.com&type=MX"/api/v1/bulkYeniHız sınırı: 5/minUp to 100 addresses in one JSON array: country, city, ASN, type, Tor/hosting/DROP flags and risk score.
curl -s -X POST https://ipcheckerpro.com/api/v1/bulk -H "Content-Type: application/json" -d '["1.1.1.1","8.8.8.8"]'/api/v1/stats/liveYeniHız sınırı: 60/minAnonymous aggregates: checks in the last 24 h, countries seen, top networks, dataset versions.
curl -s https://ipcheckerpro.com/api/v1/stats/live/api/v1/stats/weeklyYeniHız sınırı: 60/minWeekly operating aggregates (last 7 days vs the 7 before): checks, languages, tools, countries, dataset freshness, cron and health history.
curl -s https://ipcheckerpro.com/api/v1/stats/weeklyÜcretsiz API anahtarı alın
Anahtarsız uç noktalar IP başına dakikada 60 isteğe izin verir. Ücretsiz bir anahtar bunu IP başına değil anahtar başına sayılan günde 1.000 ve dakikada 300 isteğe çıkarır — küçük bir uygulama, cron görevi veya pano için yeterli. Anahtar size e-postayla gönderilir ve aşağıda bir kez gösterilir.
İptal etmemizi isteyebilmeniz için anahtarın özetini ve e-postanızı saklarız. Bülten yok.
Anahtarı kullanma
Anahtarı herhangi bir /api/v1/ uç noktasında X-API-Key başlığında (tercih edilen) ya da key sorgu parametresi olarak gönderin. Her yanıt, günlük kota için X-RateLimit-Limit ve X-RateLimit-Remaining başlıklarını taşır; GET /api/v1/key, sunulan anahtarın bugünkü kullanımını döndürür.
Kotalar
| Anahtarsız | Ücretsiz anahtarla | |
|---|---|---|
| IP başına dakikada istek | 60 (DNS: 30) | — |
| anahtar başına dakikada istek | — | 300 |
| anahtar başına günde istek | — | 1,000 |
| POST /api/v1/bulk | 5 batches/min · 100 IPs | 5 batches/min · 100 IPs |
Örnekler
curl -s -H "X-API-Key: YOUR_KEY" \
"https://ipcheckerpro.com/api/v1/ip/1.1.1.1?checks=native,risk"
# usage of the key
curl -s -H "X-API-Key: YOUR_KEY" https://ipcheckerpro.com/api/v1/keyconst res = await fetch('https://ipcheckerpro.com/api/v1/ip/1.1.1.1', {
headers: { 'X-API-Key': 'YOUR_KEY' }
});
const data = await res.json();
console.log(data.location.country, data.network.name, res.headers.get('X-RateLimit-Remaining'));import requests
r = requests.get('https://ipcheckerpro.com/api/v1/ip/1.1.1.1',
headers={'X-API-Key': 'YOUR_KEY'}, timeout=10)
r.raise_for_status()
data = r.json()
print(data['location']['country'], data['classification'], r.headers['X-RateLimit-Remaining'])$ctx = stream_context_create(['http' => ['header' => "X-API-Key: YOUR_KEY\r\n"]]);
$json = file_get_contents('https://ipcheckerpro.com/api/v1/ip/1.1.1.1', false, $ctx);
$data = json_decode($json, true);
echo $data['location']['country'], ' ', $data['network']['name'];Genel bakış
Makine tarafından okunabilir tanım: /api/v1/openapi.json (OpenAPI 3.1).
API, web sitesiyle aynı verileri JSON olarak döndürür: herhangi bir IP adresinin konumu, ağı ve sınıflandırması, arkasındaki kayıt otoritesi kaydı, kara liste durumu, ASN ayrıntıları ve DNS kayıtları. Anahtar da kayıt da gerektirmez.
- Temel URL:
https://ipcheckerpro.com/api/v1 - Biçim: JSON, UTF-8, yalnızca
GET - Sınırlar: IP ve ASN uç noktaları için IP adresi başına dakikada 60 istek, DNS uç noktası için dakikada 30
- CORS: her yanıt
Access-Control-Allow-Origin: *taşır, bu yüzden tarayıcılar doğrudan çağırabilir - Atıf: verileri gösteriyorsanız “IP geolocation by DB-IP” ifadesini db-ip.com bağlantısıyla gösterin (aşağıdaki Atıf bölümüne bakın)
Uç noktalar
GET /api/v1/ip
Çağıranın kendi adresinin profilini döndürür. Yanıt Cache-Control: private, no-store ile işaretlenir, dolayısıyla her zaman günceldir.
curl -s https://ipcheckerpro.com/api/v1/ip
GET /api/v1/ip/{ip}
Herhangi bir genel IPv4 veya IPv6 adresinin profilini döndürür. İsteğe bağlı sorgu parametreleri:
whois=1, RDAP üzerinden alınan kayıt otoritesi kaydını içeren birwhoisnesnesi ekler.blacklists=1, sekiz DNS kara liste kontrolünü çalıştırır (yalnızca IPv4) veblacklistsnesnesini doldurur.
Yanıtlar 300 saniye önbelleğe alınabilir. Kara liste sonuçları bizim tarafımızda bir saat, kayıt otoritesi kayıtları 24 saat önbellekte tutulur.
curl -s "https://ipcheckerpro.com/api/v1/ip/1.1.1.1?whois=1&blacklists=1"
GET /api/v1/asn/{asn}
Bir otonom sistemin ayrıntılarını döndürür. Numara AS önekiyle veya öneksiz verilebilir. Kayıt otoritesi kaydını bir registry nesnesi içinde almak için whois=1 ekleyin. Yanıtlar bir saat önbelleğe alınabilir.
curl -s "https://ipcheckerpro.com/api/v1/asn/13335?whois=1"
GET /api/v1/dns?name=&type=
Bir ana makine adının DNS kayıtlarını döndürür. type şunlardan biridir: A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA veya PTR; varsayılan A’dır. Yanıtlar 60 saniye önbelleğe alınabilir.
curl -s "https://ipcheckerpro.com/api/v1/dns?name=example.com&type=MX"
Yanıt yapısı
Başarılı bir IP isteği, şu alanları içeren bir nesne döndürür. Bilinmeyen değerler null olur. Aşağıdaki değerler örnek amaçlıdır; bir adresin güncel verisini görmek için isteği çalıştırın.
{
"ip": "1.1.1.1",
"version": 4,
"private": false,
"hostname": "one.one.one.one",
"location": {
"country_code": "AU",
"country": "Australia",
"region": "Queensland",
"city": "Brisbane",
"latitude": -27.4679,
"longitude": 153.028,
"timezone": "Australia/Brisbane",
"continent": "OC",
"eu": false
},
"network": {
"asn": 13335,
"name": "CLOUDFLARENET",
"prefix": "1.1.1.0/24",
"country_code": "US",
"type": "hosting"
},
"classification": "hosting",
"flags": {
"hosting": true,
"tor": false,
"vpn_provider": false,
"spamhaus_drop": null,
"datacenter": "Cloudflare",
"mobile": false
},
"blacklists": { "checked": 8, "listed": 0 },
"sources": {
"geolocation": "DB-IP Lite (CC BY 4.0)",
"asn": "iptoasn.com / DB-IP Lite"
}
}
Alan notları:
version,4veya6olur.private, loopback, link-local ve özel aralıklar içintrueolur; bu adreslerinlocationvenetworkalanı yoktur.hostname, PTR (ters DNS) kaydıdır ya danull.network.type, ASN adından ve herkese açık listelerden türetilen ağ sınıflandırmasıdır:isp,mobile,hosting,education,government,businessveyaunknown.classification, genel karardır:residential,mobile,hosting,vpn,tor,education,government,business,privateveyaunknown.flags.spamhaus_drop, eşleşen DROP aralığını dize olarak verir ya danull.flags.datacenter, veri merkezi listesinden eşleşen sağlayıcı adıdır ya danull.blacklists,blacklists=1verilmediği sürecenullolur.whois(whois=1ile) şu alanları içerir:handle,name,type,start,end,cidr,country,parent,status,entities,events,remarks,linksveregistry.
Bir ASN isteği şunları döndürür: asn, name, country_code, type, ipv4_prefixes, ipv4_addresses, ipv6_prefixes, prefixes_sample (en fazla 20 CIDR dizesi), registry (whois=1 ile; aksi hâlde null) ve source.
Bir DNS isteği name, type ve records döndürür; records, { "name", "ttl", "value" } nesnelerinden oluşan bir dizidir.
Hatalar
Hatalar, bir error kodu ve genellikle bir message içeren JSON nesneleridir:
| Durum | error |
Anlamı |
|---|---|---|
| 400 | invalid_ip |
Yol bölümü geçerli bir IPv4 veya IPv6 adresi değil |
| 400 | invalid_asn |
ASN bir sayı değil |
| 400 | invalid_query |
name bir ana makine adı değil veya type desteklenmiyor |
| 404 | not_found |
Bu ASN için bilinen duyurulmuş önek yok |
| 429 | rate_limited |
Sınır aşıldı; bekleyip yeniden deneyin |
Örnekler
JavaScript (tarayıcı veya Node)
const res = await fetch("https://ipcheckerpro.com/api/v1/ip/8.8.8.8?whois=1");
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data.location.country, data.network.name, data.classification);
Python
import requests
r = requests.get("https://ipcheckerpro.com/api/v1/ip/8.8.8.8", params={"blacklists": 1}, timeout=10)
r.raise_for_status()
data = r.json()
print(data["location"]["country"], data["network"]["name"], data["blacklists"])
Çağıranın kendi adresiyle curl
curl -s https://ipcheckerpro.com/api/v1/ip | jq '{ip, country: .location.country, type: .network.type}'
Atıf
Coğrafi konum verileri, Creative Commons Attribution 4.0 lisanslı DB-IP Lite’tan gelir. Bu API’den aldığınız verileri kullanıcılara gösteriyorsanız, verinin yakınında “IP geolocation by DB-IP” metnini https://db-ip.com bağlantısıyla gösterin. ASN verileri iptoasn.com’dan (kamu malı) ve DB-IP Lite’tan gelir. Kara liste ve kayıt otoritesi sonuçları ilgili operatörlere aittir ve bir veri kümesi olarak yeniden dağıtılmak için değil, kendi kullanımınız için döndürülür.
Adil kullanım
Yukarıdaki sınırlar, çağıran IP adresi başına uygulanır. Daha fazlasına ihtiyacınız varsa yanıtları kendi tarafınızda önbelleğe alın; bir adresin konum ve ağ verisi bir gün içinde nadiren değişir. API’yi, altta yatan veritabanlarının bir kopyasını oluşturmak için kullanmayın. Kabul edilebilir kullanım kurallarının tamamı için kullanım koşullarına bakın.
Değişiklikler
API, yol içinde sürümlenir. Yanıtlara önceden duyurulmadan alan eklenebilir; mevcut alanlar v1 içinde yeniden adlandırılmaz veya kaldırılmaz. Sınırlarda, uç noktalarda veya davranışta yapılacak değişiklikler yürürlüğe girmeden önce bu sayfada duyurulur.