API दस्तावेज़
तीन चरणों में सर्वर से सार्वजनिक IPv4 या IPv6 पता खोजें। शुरुआत करें · API कुंजी बनाएँ
OpenAPI विनिर्देश डाउनलोड करें
आपका पहला API अनुरोध
curl --get 'https://www.geoipy.com/api/IPsInfo' \
--data-urlencode 'ip=8.8.8.8' \
--header 'X-API-Key: YOUR_API_KEY'
HTTPS और X-API-Key इस्तेमाल करें। URL की कुंजियाँ लॉग में आ सकती हैं। हेडर और URL की अलग कुंजियाँ HTTP 400 देती हैं।
डैशबोर्ड में कुंजी बनाएँ। पूरी कुंजी एक बार दिखती है। निजी सर्वर सेटिंग में रखें, ब्राउज़र कोड या सार्वजनिक रिपॉज़िटरी में नहीं। बदलने पर पुरानी कुंजी तुरंत अमान्य होती है। निरस्तीकरण या समाप्ति नए अनुरोध रोकते हैं; स्वीकृत अनुरोध पूरे हो सकते हैं।
जवाब और डेटा की ताज़गी
HTTP 200 JSON देता है। यह छोटा उदाहरण है; फ़ील्ड प्रदाता डेटा पर निर्भर हैं।
{
"ip": "8.8.8.8",
"type": "ipv4",
"country_code": "US"
}
कैश ताज़गी डिफ़ॉल्ट 12 घंटे है। X-Data-Fetched-At UTC प्राप्ति समय बताता है। अपडेट विफल हो तो पुराना कैश नहीं दिया जाता; प्राप्ति समय डेटा की उम्र नहीं है।
X-Request-ID सहायता के लिए अनुरोध पहचानता है। जियोलोकेशन नेटवर्क का अनुमानित स्थान है, व्यक्ति का सटीक स्थान नहीं।
उपयोग और पुनः प्रयास
सफल अनुरोध, कैश सहित, सीमा में गिने जाते हैं। चालू अनुरोध क्षमता आरक्षित करते हैं; विफलता पर छोड़ते हैं। हर महीने की पहली तारीख 00:00 UTC पर रीसेट होता है। प्लान या कुंजी बदलने से नहीं।
HTTP 429 या अस्थायी 503/504 पर Retry-After मानें और बढ़ते अंतराल से सीमित पुनः प्रयास करें। पहले गलत इनपुट या क्रेडेंशियल ठीक करें।
त्रुटियाँ
त्रुटियाँ HTTP त्रुटि स्थिति के साथ application/json देती हैं। API पहचान और उदाहरण दस्तावेज़ वाले रूप में रहते हैं।
{
"success": false,
"error": {
"code": 104,
"type": "usage_limit_reached",
"info": "The monthly API allowance has been reached."
}
}
| कोड | प्रकार | अर्थ |
|---|---|---|
| 101 | invalid_access_key | कुंजी गायब, समाप्त, निरस्त या अमान्य (HTTP 401)। |
| 104 | usage_limit_reached | लंबित अनुरोध सहित मासिक सीमा पूरी (HTTP 429)। |
| 105 | rate_limit_reached | अल्पकालिक सीमा पूरी; Retry-After मानें (HTTP 429)। |
| 106 | invalid_ip_address | सार्वजनिक IPv4 या IPv6 पता दें (HTTP 400)। |
| 202 | upstream_failure | प्रदाता विफल या डेटा अमान्य (HTTP 502)। |
| 503 | lookup_unavailable | सेवा, सीमा स्टोर या अपडेट अस्थायी रूप से अनुपलब्ध (HTTP 503)। |
| 504 | upstream_timeout | प्रदाता का समय समाप्त (HTTP 504)। |
सर्वर-साइड उदाहरण
JavaScript · सर्वर
const url = new URL('https://www.geoipy.com/api/IPsInfo');
url.searchParams.set('ip', '8.8.8.8');
const response = await fetch(url, {
headers: { 'X-API-Key': process.env.GEOIPY_API_KEY }
});
const data = await response.json();
if (!response.ok) throw new Error(data.error.info);
console.log(data);
C#
using (var client = new System.Net.Http.HttpClient())
{
client.DefaultRequestHeaders.Add("X-API-Key",
System.Environment.GetEnvironmentVariable("GEOIPY_API_KEY"));
var response = await client.GetAsync(
"https://www.geoipy.com/api/IPsInfo?ip=8.8.8.8");
var json = await response.Content.ReadAsStringAsync();
// Inspect response.StatusCode and parse json before retrying.
}
Python
import os, requests
response = requests.get(
'https://www.geoipy.com/api/IPsInfo',
params={'ip': '8.8.8.8'},
headers={'X-API-Key': os.environ['GEOIPY_API_KEY']},
timeout=15)
data = response.json()
response.raise_for_status()
PHP
$url = 'https://www.geoipy.com/api/IPsInfo?' . http_build_query(['ip' => '8.8.8.8']);
$ch = curl_init($url);
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 15,
CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('GEOIPY_API_KEY')]]);
$json = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($json === false) { throw new RuntimeException('The request failed.'); }
curl_close($ch);
$data = json_decode($json, true);
// Inspect $status and $data['error'] when the status is not 200.
सहायता के लिए अनुरोध ID और अनुमानित UTC समय ईमेल करें। कुंजी निजी रखें। support-geoipy@rumex.bh