مستندات API آی‌پی (GeoIP) و شبکه IPMYP

با API آی‌پی و شبکه ipmyp می‌توانید دریافت IP عمومی، GeoIP، بررسی DNS، WHOIS، SSL، پینگ، تریس‌روت، MTR، بررسی پورت و سایر ابزارهای عیب‌یابی شبکه را داخل وب‌سایت، نرم‌افزار، پنل مدیریت، سرویس SaaS، سیستم مانیتورینگ یا فرآیندهای DevOps خود استفاده کنید.

در ipmyp دو نوع API با کاربرد متفاوت وجود دارد: API عمومی IP و GeoIP که بدون ثبت‌نام و بدون API Key قابل استفاده است و API احراز‌شده ابزارهای شبکه که برای استفاده از DNS، WHOIS، SSL، Ping، Traceroute، MTR، Port Check و سایر بررسی‌های پیشرفته به حساب کاربری و کلید API نیاز دارد.

تفاوت API عمومی و API احراز‌شده ipmyp

قابلیت API عمومی IP API احراز‌شده ابزارهای شبکه
آدرس اصلیapi.ipmyp.iripmyp.ir/wp-json/ipmyp/v1/
نیاز به ثبت‌نامخیربله
نیاز به API Keyخیربله
دریافت IP عمومیبلهاز طریق ابزارهای IP
GeoIPبلهبله
DNS / WHOIS / SSLخیربله
Ping / Traceroute / MTRخیربسته به پلن و دسترسی
بررسی پورتخیربله، مطابق سیاست امنیتی
سهمیه حسابندارددارد
Rate Limitدارددارد
کاربرد اصلیدریافت IP و GeoIP سبکمانیتورینگ، SaaS، اتوماسیون و عیب‌یابی شبکه

API عمومی IP و GeoIP؛ بدون ثبت‌نام و API Key

API عمومی ipmyp ساده‌ترین روش برای دریافت IP عمومی اتصال شما و اطلاعات GeoIP و شبکه است. برای استفاده از این بخش نیازی به ساخت حساب کاربری، ثبت‌نام یا دریافت API Key ندارید.

Endpointهای عمومی برای حفظ پایداری سرویس دارای Rate Limit و کنترل‌های جلوگیری از سوءاستفاده هستند. سطح عمومی بدون احراز هویت عمداً به مسیرهای مرتبط با IP و GeoIP محدود شده است.

دریافت IP عمومی با API

GET https://api.ipmyp.ir/

نمونه پیشنهادی با cURL:

curl https://api.ipmyp.ir

برای استفاده سریع در ترمینال، مسیر عمومی بدون نوشتن https:// نیز پشتیبانی می‌شود:

curl api.ipmyp.ir

خروجی به‌صورت متن ساده و شامل IP عمومی مشاهده‌شده توسط ipmyp است:

1.2.3.4

این Endpoint برای اسکریپت‌های Shell، تشخیص IP خروجی سرور، بررسی VPN و Proxy، تنظیم Allowlist، فایروال، CI/CD، کانتینرها، سرورها و سایر فرآیندهای DevOps که فقط به IP عمومی نیاز دارند مناسب است.

دریافت اطلاعات IP به‌صورت JSON

GET https://api.ipmyp.ir/json
curl https://api.ipmyp.ir/json

خروجی JSON می‌تواند شامل اطلاعات موجود درباره کشور، استان یا منطقه، شهر، مختصات، منطقه زمانی، ISP، سازمان، ASN، Reverse DNS، شبکه موبایل، Proxy، Hosting و IP بررسی‌شده باشد.

{
  "status": "success",
  "continent": "Asia",
  "continentCode": "AS",
  "country": "Iran",
  "countryCode": "IR",
  "region": "07",
  "regionName": "Tehran",
  "city": "Tehran",
  "lat": 35.6944,
  "lon": 51.4215,
  "timezone": "Asia/Tehran",
  "isp": "Example ISP",
  "org": "Example ISP",
  "as": "AS12345 Example ISP",
  "mobile": false,
  "proxy": false,
  "hosting": false,
  "query": "1.2.3.4"
}

مقادیر بالا فقط نمونه ساختار پاسخ هستند. اطلاعات واقعی بسته به IP و داده‌های موجود برای آن آدرس متفاوت است.

استعلام یک IP یا دامنه دیگر

برای بررسی IP مشخص، آن را بعد از /json/ قرار دهید:

curl https://api.ipmyp.ir/json/8.8.8.8

نسخه کوتاه مخصوص CLI نیز قابل استفاده است:

curl api.ipmyp.ir/json/8.8.8.8

در صورت پشتیبانی، می‌توانید نام دامنه را نیز ارسال کنید:

curl https://api.ipmyp.ir/json/example.com

دریافت فقط فیلدهای موردنیاز

برای کاهش حجم پاسخ می‌توانید با پارامتر fields فقط اطلاعاتی را که واقعاً نیاز دارید درخواست کنید:

curl "https://api.ipmyp.ir/json/8.8.8.8?fields=status,country,countryCode,isp,as,query"

خلاصه Endpointهای عمومی

متدمسیرکاربرداحراز هویت
GET/دریافت IP عمومی کاربر به‌صورت متن سادهنیاز ندارد
GET/jsonدریافت IP کاربر و اطلاعات GeoIP/شبکهنیاز ندارد
GET/json/{query}استعلام IP عمومی یا دامنه پشتیبانی‌شدهنیاز ندارد

HTTP و HTTPS؛ آیا بدون https هم کار می‌کند؟

بله. مسیرهای عمومی / و /json از HTTP و HTTPS پشتیبانی می‌کنند؛ بنابراین در محیط خط فرمان دستورهایی مانند curl api.ipmyp.ir نیز قابل استفاده هستند.

برای کدهای Production، نرم‌افزارها و Integrationهای واقعی توصیه می‌شود همیشه HTTPS را به‌صورت صریح وارد کنید. استفاده از HTTPS ارتباط را رمزنگاری می‌کند و رفتار کلاینت، Proxy و زیرساخت‌های مختلف را قابل پیش‌بینی‌تر نگه می‌دارد.

curl https://api.ipmyp.ir
curl https://api.ipmyp.ir/json
curl https://api.ipmyp.ir/json/8.8.8.8

Rate Limit در API عمومی

API عمومی برای جلوگیری از سوءاستفاده و حفظ کیفیت سرویس دارای Rate Limit است. در صورتی که تعداد درخواست‌ها از حد مجاز عبور کند، ممکن است پاسخ HTTP 429 Too Many Requests دریافت کنید.

در برنامه‌های خود برای پاسخ 429 از Retry کنترل‌شده و Backoff استفاده کنید و از ارسال حلقه‌ای درخواست بدون وقفه خودداری کنید.

چه زمانی از API عمومی استفاده کنیم؟

API عمومی برای نمایش «آی‌پی من»، تشخیص IP خروجی سرور، بررسی IP VPN یا Proxy، دریافت GeoIP، مشاهده ISP و ASN، ثبت اطلاعات شبکه در لاگ‌ها، تنظیم Dynamic Allowlist، اسکریپت‌های DevOps و سایر کاربردهایی مناسب است که فقط به IP یا اطلاعات سبک GeoIP نیاز دارند و استفاده از API Key ضروری نیست.

API احراز‌شده ابزارهای شبکه

برای استفاده از ابزارهای پیشرفته‌تر مانند DNS Lookup، WHOIS، SSL، Ping، Traceroute، MTR، Port Check، DNSSEC، DNS Propagation، Email Security و گزارش‌های شبکه، از API احراز‌شده ipmyp استفاده کنید.

این API برای توسعه‌دهندگان، مدیران سیستم، تیم‌های DevOps و SRE، شرکت‌های هاستینگ، سرویس‌های SaaS، سیستم‌های مانیتورینگ و پشتیبانی فنی طراحی شده است و نیاز به حساب کاربری و API Key دارد.

شروع سریع API احراز‌شده

  1. وارد حساب کاربری ipmyp شوید یا حساب جدید بسازید.
  2. در پنل کاربری وارد بخش API Keys شوید.
  3. یک کلید API با دسترسی‌های موردنیاز برنامه ایجاد کنید.
  4. کلید کامل را بلافاصله در محل امن ذخیره کنید.
  5. کلید را در هدر Authorization: Bearer ارسال کنید.
  6. شناسه دقیق ابزار را در فیلد tool قرار دهید.
  7. دامنه، IP یا مقصد موردنظر را در فیلد target ارسال کنید.
  8. پاسخ ساختاریافته و وضعیت سهمیه را پردازش کنید.

Endpoint اصلی API ابزارهای شبکه

POST https://ipmyp.ir/wp-json/ipmyp/v1/tools/run

این Endpoint قبل از اجرای ابزار، API Key، وضعیت کلید، دسترسی‌ها، ابزار انتخاب‌شده، مقصد، محدودیت‌های امنیتی، سهمیه حساب و محدودیت استفاده را بررسی می‌کند.

احراز هویت با API Key

Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx
Content-Type: application/json

کلید API یک Credential امنیتی است. آن را فقط در Backend، Environment Variable، Secret Manager یا محیط امن سمت سرور نگهداری کنید.

کلید API را در JavaScript سمت مرورگر، سورس عمومی، GitHub، اسکرین‌شات، فایل قابل دانلود یا اپلیکیشن Client-side قرار ندهید.

ساختار درخواست

فیلدالزامیتوضیحنمونه
toolبلهشناسه دقیق ابزار APIdns_a
targetبلهدامنه، Hostname، IP یا مقصد پشتیبانی‌شدهexample.com
{
  "tool": "dns_a",
  "target": "example.com"
}

نمونه کامل cURL:

curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
  -H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"tool":"dns_a","target":"example.com"}'

شناسه ابزارهای API

مقدار tool باید دقیقاً مطابق شناسه API باشد. فعال بودن هر ابزار می‌تواند به پلن، مجوز API Key، تنظیمات مدیر و سیاست‌های امنیتی بستگی داشته باشد.

شناسه APIکاربردنمونه مقصد
multiگزارش ترکیبی DNS و شبکهexample.com
dns_aبررسی رکورد A و IPv4example.com
dns_aaaaبررسی رکورد AAAA و IPv6example.com
dns_mxبررسی Mail Exchangerexample.com
dns_nsبررسی Name Serverexample.com
dns_txtTXT / SPF / DKIM / DMARCexample.com
dns_cnameبررسی CNAMEwww.example.com
dns_soaبررسی SOAexample.com
dns_caaبررسی CAAexample.com
dnssec_checkبررسی DNSSECexample.com
email_securityبررسی امنیت ایمیل و DNSexample.com
delegation_checkتحلیل DNS Delegationexample.com
dns_propagationبررسی DNS Propagationexample.com
reverse_dnsReverse DNS / PTR8.8.8.8
ip_geoGeoIP و مشخصات شبکه8.8.8.8
whoisاطلاعات ثبت دامنهexample.com
ssl_infoاطلاعات SSL/TLS و HTTPSexample.com
port_checkبررسی دسترسی TCP Port مجازexample.com:443
pingبررسی دسترسی و Latencyexample.com
trace_routeبررسی مسیر شبکهexample.com
mtrبررسی مسیر، Latency و Packet Lossexample.com

اگر قصد استفاده دستی از این ابزارها را دارید، وارد صفحه مجموعه ابزار DNS Lookup، WHOIS و شبکه ipmyp شوید.

نمونه DNS Lookup API

curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
  -H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"tool":"dns_a","target":"example.com"}'

برای بررسی دستی می‌توانید از ابزار بررسی رکورد A دامنه استفاده کنید.

نمونه WHOIS API

curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
  -H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"tool":"whois","target":"example.com"}'

نسخه تحت وب در ابزار WHOIS دامنه در دسترس است.

نمونه SSL API

curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
  -H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"tool":"ssl_info","target":"example.com"}'

برای تست دستی از ابزار بررسی SSL و HTTPS استفاده کنید.

نمونه Traceroute API

شناسه صحیح API برای Traceroute برابر trace_route است.

curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
  -H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"tool":"trace_route","target":"example.com"}'

نسخه آنلاین در صفحه Traceroute آنلاین در دسترس است.

نمونه Port Check API

شناسه صحیح API برای بررسی پورت port_check است. بررسی‌های Active Network تابع سیاست‌های امنیتی و اعتبارسنجی مقصد ipmyp هستند.

curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
  -H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"tool":"port_check","target":"example.com:443"}'

برای بررسی دستی می‌توانید از پورت اسکن و بررسی پورت آنلاین استفاده کنید.

خطاها، سهمیه و محدودیت API

وضعیتمعنیاقدام پیشنهادی
API Key نامعتبرکلید وجود ندارد، نامعتبر است یا لغو شده است.Bearer Token را بررسی یا Rotate کنید.
عدم دسترسیAPI Key مجوز ابزار موردنظر را ندارد.Permission کلید را بررسی کنید.
اتمام سهمیهمحدودیت کلید یا پلن به پایان رسیده است.تا Reset منتظر بمانید یا پلن را بررسی کنید.
HTTP 429Rate Limit فعلی رد شده است.با Backoff بعداً دوباره تلاش کنید.
Invalid Targetدامنه، IP یا مقصد معتبر نیست.ورودی را اصلاح کنید.
Blocked Targetمقصد توسط سیاست امنیتی رد شده است.مقاصد ممنوع یا خصوصی را مجدداً ارسال نکنید.
خطای موقت 5xxاختلال موقت سرویس یا Upstream رخ داده است.با Exponential Backoff و Jitter مجدداً تلاش کنید.

Best Practice برای استفاده Production

در محیط Production همیشه از URL صریح HTTPS استفاده کنید، API Key را فقط در Backend نگه دارید، برای Production و Staging کلیدهای جداگانه بسازید، اصل Least Privilege را رعایت کنید، Timeout مناسب برای اتصال و Request داشته باشید، مقصد را قبل از ارسال Validate کنید و مصرف API را مانیتور کنید.

برای خطاهای موقت شبکه، برخی پاسخ‌های 5xx و خطای 429 از Retry محدود با Exponential Backoff و Jitter استفاده کنید. خطاهای Authentication، Permission و Validation را بدون اصلاح Request به‌صورت خودکار Retry نکنید.

در Lookupهایی که نیاز به داده کاملاً لحظه‌ای ندارند می‌توانید از Cache کنترل‌شده استفاده کنید. هیچ‌گاه API Secret کامل را داخل Log ذخیره نکنید؛ برای عیب‌یابی از Request ID، HTTP Status، Error Code، Tool ID و اطلاعات غیرحساس استفاده کنید.

نمونه استفاده در PHP

<?php

$apiKey = getenv('IPMYP_API_KEY');

$ch = curl_init('https://ipmyp.ir/wp-json/ipmyp/v1/tools/run');

curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 5,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'tool' => 'dns_a',
        'target' => 'example.com',
    ]),
]);

$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);

if ($status >= 400) {
    throw new RuntimeException('IPMYP API request failed.');
}

print_r(json_decode($response, true));

نمونه استفاده در Python

import os
import requests

response = requests.post(
    "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run",
    headers={
        "Authorization": f"Bearer {os.environ['IPMYP_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={
        "tool": "dns_a",
        "target": "example.com",
    },
    timeout=30,
)

response.raise_for_status()
print(response.json())

کاربردهای API ipmyp

APIهای ipmyp برای نمایش آی‌پی من، تشخیص IP خروجی سرور، GeoIP، بررسی VPN و Proxy، پنل‌های هاستینگ، سرویس‌های SaaS، اعتبارسنجی DNS، بررسی SSL، WHOIS، مانیتورینگ، DevOps، عیب‌یابی شبکه، پشتیبانی فنی، مهاجرت سرور و CDN، بررسی امنیت ایمیل و صحت پیکربندی زیرساخت قابل استفاده هستند.

سوالات متداول API ipmyp

آیا ipmyp API عمومی بدون ثبت‌نام دارد؟

بله. برای استفاده از https://api.ipmyp.ir و Endpointهای عمومی /json نیازی به حساب کاربری یا API Key ندارید. Rate Limit و کنترل‌های جلوگیری از سوءاستفاده همچنان اعمال می‌شوند.

آیا curl api.ipmyp.ir بدون https کار می‌کند؟

بله. مسیرهای عمومی IP و JSON از HTTP نیز پشتیبانی می‌کنند و دستور curl api.ipmyp.ir قابل استفاده است. با این حال در کد Production بهتر است همیشه https:// را صریحاً وارد کنید.

چطور IP عمومی خودم را با API دریافت کنم؟

curl https://api.ipmyp.ir

چطور اطلاعات IP را به‌صورت JSON دریافت کنم؟

curl https://api.ipmyp.ir/json

آیا می‌توان IP دیگری را استعلام کرد؟

curl https://api.ipmyp.ir/json/8.8.8.8

برای DNS، WHOIS، SSL و Traceroute به API Key نیاز است؟

بله. ابزارهای پیشرفته شبکه از API احراز‌شده ipmyp استفاده می‌کنند و نیازمند حساب کاربری و API Key دارای مجوز مناسب هستند.

شناسه API تریس‌روت چیست؟

شناسه صحیح Traceroute برابر trace_route است.

شناسه API بررسی پورت چیست؟

شناسه صحیح Port Check برابر port_check است.

شروع استفاده از API ipmyp

اگر فقط به دریافت IP عمومی یا GeoIP نیاز دارید، مستقیماً از api.ipmyp.ir استفاده کنید؛ ثبت‌نام و API Key لازم نیست.

اگر به DNS، WHOIS، SSL، Ping، Traceroute، MTR، Port Check، ابزارهای پیشرفته شبکه، اتوماسیون، سهمیه کاربری و مدیریت دسترسی نیاز دارید، حساب ipmyp ایجاد کرده و API Key اختصاصی بسازید.