Documentație API

Accesează date de geolocalizare IP și ASN programatic cu API-ul nostru gratuit.

Autentificare necesară

Toate cererile API necesită o cheie API validă. O poți transmite ca Bearer token sau parametru de interogare.

Prin header Authorization (recomandat)

Authorization: Bearer YOUR_API_KEY

Prin parametru de interogare

https://ipmeu.ro/api/lookup?key=YOUR_API_KEY&ip=8.8.8.8

Creează un cont gratuit pentru a obține cheia API: Creează cont

URL de bază

https://ipmeu.ro/api

Toate endpoint-urile sunt relative la acest URL de bază. HTTPS este obligatoriu.

GET /api/lookup

Caută informații de geolocalizare și rețea pentru orice adresa IP.

Parametri

Parametru Tip Obligatoriu Descriere
key string Obligatoriu Cheia ta API. Obține una prin crearea unui cont gratuit.
ip string Opțional Adresa IP de căutat. Dacă lipsește, se folosește IP-ul celui care face cererea.

Exemplu cerere

curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://ipmeu.ro/api/lookup?ip=8.8.8.8"

Exemplu răspuns

{
  "status": "success",
  "data": {
    "ip":       "8.8.8.8",
    "version":  4,
    "hostname": "dns.google",

    "geo": {
      "country":        "United States",
      "country_code":   "US",
      "region":         "California",
      "region_code":    "CA",
      "city":           "Mountain View",
      "postal_code":    "94043",
      "latitude":       37.386,
      "longitude":      -122.0838,
      "timezone":       "America/Los_Angeles",
      "continent":      "North America",
      "continent_code": "NA"
    },

    "asn": {
      "number":       15169,
      "name":         "Google LLC",
      "description":  "Google LLC - AS15169",
      "country":      "United States",
      "country_code": "US",
      "registry":     "ARIN",
      "allocated":    "2000-03-30",
      "total_ips":    16777216
    },

    "whois": {
      "net_range":    "8.8.8.0/24",
      "net_name":     "GOGL",
      "org_name":     "Google LLC",
      "org_id":       "GOGL",
      "country":      "US",
      "abuse_email":  "network-abuse@google.com",
      "registered":   "2000-03-30",
      "updated":      "2014-12-01"
    },

    "security": {
      "vpn":           false,
      "proxy":         false,
      "tor":           false,
      "threat_score":  0
    }
  }
}

Câmpuri Răspuns

Toate câmpurile și tipurile lor returnate de API.

ip string Adresa IP interogată (IPv4 sau IPv6).
version integer Versiunea IP: 4 pentru IPv4, 6 pentru IPv6.
hostname string Hostname DNS invers. Șir gol dacă nu există înregistrare PTR.

geo object

country string Numele complet al țării.
country_code string Cod de țară ISO 3166-1 alpha-2 (ex. "RO", "US").
region string Numele regiunii sau județului.
region_code string Cod de regiune ISO.
city string Numele orașului.
postal_code string Cod poștal.
latitude float Coordonata latitudine (aproximativă).
longitude float Coordonata longitudine (aproximativă).
timezone string Identificator fus orar IANA (ex. "Europe/Bucharest").
continent string Numele continentului.
continent_code string Cod continent cu două litere.

asn object

number integer Numărul Sistemului Autonom (întreg).
name string Numele organizației ASN.
description string Descriere completă ASN.
country string|null Țara unde este înregistrat ASN-ul. null dacă necunoscut.
country_code string|null Codul de țară ISO al ASN-ului. null dacă necunoscut.
registry string|null Registrul Regional de Internet: ARIN, RIPE NCC, APNIC, LACNIC sau AFRINIC. null dacă necunoscut.
allocated string|null Data primei alocări a blocului de rețea (AAAA-LL-ZZ). Derivat din WHOIS când disponibil. null dacă necunoscut.
total_ips integer|null Numărul total de adrese IP din blocul de rețea. null dacă necunoscut.

whois object

net_range string|null Interval de rețea sau bloc CIDR.
net_name string|null Numele scurt al rețelei înregistrat în baza de date RIR.
org_name string|null Numele complet al organizației proprietare.
org_id string|null ID-ul organizației în baza de date RIR.
country string|null Codul de țară ISO din înregistrarea WHOIS.
abuse_email string|null Adresa de email pentru raportarea abuzurilor.
registered string|null Data înregistrării rețelei (format ISO 8601).
updated string|null Data ultimei actualizări a înregistrării WHOIS.

security object

vpn boolean true dacă IP-ul este asociat cu un furnizor VPN sau rețea de hosting.
proxy boolean true dacă IP-ul este detectat ca proxy deschis.
tor boolean true dacă IP-ul este un nod de ieșire Tor cunoscut (doar IPv4).
threat_score integer Scor de amenințare de la 0 (curat) la 100 (risc ridicat).

Coduri HTTP

200 OK Cerere reușită. Datele sunt în corpul răspunsului.
400 Bad Request Format de adresă IP invalid.
401 Unauthorized Cheia API este obligatorie. Obține una la /cont.
403 Forbidden Cheie API invalidă sau inactivă.
404 Not Found Adresa IP nu a putut fi rezolvată.
429 Too Many Requests Limita zilnică de cereri atinsă. Încearcă mâine.
500 Internal Server Error Eroare internă a serverului. Încercați din nou mai târziu.

Format răspuns eroare

{
  "status": "error",
  "error":  "API key is required."
}

Limite de rată

API-ul gratuit are limită de cereri pentru utilizare echitabilă.

30
cereri / minut
1,000
cereri / zi
Nivel gratuit
Înregistrați-vă pentru un API key gratuit

Limitele se resetează la miezul nopții UTC. Depășirea limitei returnează HTTP 429.

Exemple de Cod

$ cURL

curl -s -H "Authorization: Bearer YOUR_API_KEY" \
     "https://ipmeu.ro/api/lookup?ip=8.8.8.8" | python3 -m json.tool

P PHP

$response = file_get_contents('https://ipmeu.ro/api/lookup?ip=8.8.8.8&key=YOUR_API_KEY');
$data     = json_decode($response, true);

echo $data['data']['geo']['country'];   // "United States"
echo $data['data']['asn']['name'];      // "Google LLC"
echo $data['data']['security']['vpn'];   // false

Py Python

import requests

resp = requests.get(
    "https://ipmeu.ro/api/lookup",
    params={"ip": "8.8.8.8"},
    headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = resp.json()["data"]

print(data["geo"]["country"])     # United States
print(data["asn"]["registry"])   # ARIN
print(data["whois"]["abuse_email"]) # network-abuse@google.com

JS JavaScript (fetch)

const res  = await fetch(
  "https://ipmeu.ro/api/lookup?ip=8.8.8.8",
  { headers: { "Authorization": "Bearer YOUR_API_KEY" } }
);
const { data } = await res.json();

console.log(data.geo.country);          // "United States"
console.log(data.asn.registry);         // "ARIN"
console.log(data.whois.abuse_email);    // "network-abuse@google.com"
console.log(data.security.threat_score); // 0