Для аутентифікаційних заголовків, API-ключів та загального формату помилок див. API General.
Кількість Проксі
Публічні кінцеві точки — аутентифікація не потрібна.
Отримати Кількість Проксі
GET /geo/counts
Повертає доступну кількість проксі IP для кожної країни. Структура: counts[proxyTypeId][pool][service][countryCode] = count.
Параметри Запиту
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
type | string | фільтр за типом проксі (наприклад, residential-giga) | Ні |
pool | string | фільтр за назвою пулу (наприклад, default) | Ні |
noservice | boolean | згорнути шар сервісу, повернути кількість з ключами безпосередньо по країні | Ні |
Відповідь
За замовчуванням (з шаром сервісу):
{
"counts": {
"residential-giga": {
"default": {
"provider-api": {
"US": 1200000,
"GB": 350000
}
}
}
}
}З ?noservice=true:
{
"counts": {
"residential-giga": {
"default": { "US": 1200000, "GB": 350000 }
}
}
}Отримати Доступні Країни
GET /geo/countries
Повертає коди країн, в яких доступні проксі для заданого типу проксі.
Параметри Запиту
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
type | string | ID типу проксі | Так |
pool | string | назва пулу (за замовчуванням: default) | Ні |
Відповідь
{
"countries": ["AE", "AU", "BR", "DE", "GB", "US"]
}Список Постачальників Даних IP
GET /geo/providers
Показує всіх підтримуваних постачальників даних IP з їх статусом завантаження. Аутентифікація не потрібна.
Відповідь
{
"providers": [
{
"id": "maxmind",
"name": "MaxMind GeoLite2",
"type": "mmdb",
"description": "ASN, місто, регіон, країна, широта/довгота, часовий пояс з бази даних MaxMind GeoLite2.",
"ready": true
},
...
]
}Пошук IP
Пошук IP — Всі Постачальники 10 req / 30m
GET /geo/ip/:ip
Запити всі включені бази даних IP паралельно та поверне нормалізований зведений результат плюс необроблені дані по кожному постачальнику. Аутентифікація є опціональною — аутентифіковані запити отримують вищий ліміт.
Ліміти запитів: неаутентифіковано — 10 запитів / 30 хв (ключується з IP клієнта). Аутентифіковано (JWT або API ключ) — 30 запитів / 1 хв. Див. API General для варіантів аутентифікації та API Keys для управління ключами.
Bogon / приватні IP: якщо запитуваний IP є приватною, петльовою, локальною або іншою зарезервованою адресою, API негайно поверне
{ "ip": "...", "bogon": true }— жодні геодані не запитуються або повертаються.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
ip | string | IPv4 або IPv6 адреса для пошуку | Так |
Параметри Запиту
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
with_sources | boolean | включити сирі дані sources у відповідь | Ні |
Відповідь
{
"ip": "8.8.8.8",
"normalized": {
"countryCode": "US",
"country": "United States",
"continent": "North America",
"region": "California",
"city": "Mountain View",
"latitude": 37.386,
"longitude": -122.0838,
"timezone": "America/Los_Angeles",
"postalCode": "94043",
"asn": 15169,
"asnOrg": "GOOGLE",
"isp": "Google LLC",
"company": "Google LLC",
"asDomain": "google.com",
"prefix": "8.8.8.0/24",
"isProxy": false,
"proxyType": null,
"rir": "arin",
"rirSource": "delegation-stats"
},
"errors": {}
}Відповідь на bogon / приватний IP — коли IP є зарезервованою адресою (наприклад, 192.168.1.1, 127.0.0.1, ::1):
{
"ip": "192.168.1.1",
"bogon": true
}З ?with_sources=1 відповідь включатиме ключ sources з сирими даними постачальників:
{
"ip": "8.8.8.8",
"sources": {
"maxmind": {
"asn": { "autonomousSystemNumber": 15169, "autonomousSystemOrganization": "GOOGLE", "network": "8.8.8.0/24" },
"city": { "countryCode": "US", "region": "California", "city": "Mountain View", "latitude": 37.386, "longitude": -122.0838, "timezone": "America/Los_Angeles" },
"country": { "countryCode": "US", "inEu": false }
},
"ip2location": {
"db11": { "countryCode": "US", "region": "California", "city": "Mountain View", "latitude": 37.3861, "longitude": -122.0839 },
"asn": { "asn": "AS15169", "isp": "Google LLC" },
"proxy": { "isProxy": false, "proxyType": "-", "usageType": "DCH", "proxyScore": 0 }
},
"rir": { "rir": "arin", "countryCode": "US", "source": "delegation-stats" }
},
"normalized": { "...": "..." },
"errors": {}
}Пріоритет полів normalized
| Поле | Пріоритет джерела |
|---|---|
countryCode | більшість голосів серед усіх постачальників |
country | maxmind-city → ip2location-db11 → ipinfo → dbip → iplocate |
region, city, lat/lng, timezone, postalCode | maxmind-city → ip2location-db11 |
asn, asnOrg | maxmind-asn → iplocate-asn → ipinfo |
isp | ip2location-asn.isp → ip2location-proxy.isp → ipinfo.org |
company | ipinfo.asnOrg |
asDomain | ipinfo.asDomain |
prefix | iplocate-asn.prefix → maxmind-asn.network |
isProxy | ip2location-proxy.isProxy (завжди boolean, за замовчуванням false) |
proxyType | ip2location-proxy.proxyType у нижньому регістрі, null коли не є проксі |
rir, rirSource | провайдер RIR |
errors— це картаproviderName → errorMessageдля будь-якого постачальника, який не вдалося запитати.
Пошук IP — Один Постачальник Auth required
GET /geo/ip/:ip/:provider
Запити тільки один постачальник. Потрібен JWT або API ключ. Див. API General для аутентифікації.
Bogon / приватні IP: така ж поведінка, як у кінцевої точки для всіх постачальників — повертає
{ "ip": "...", "bogon": true }без виконання запиту постачальника.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
ip | string | IPv4 або IPv6 адреса для пошуку | Так |
provider | string | ID постачальника — один з maxmind, ip2location, iplocate, dbip, ipinfo, rir | Так |
Параметри Запиту
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
with_sources | boolean | включити сирий об'єкт sources у відповідь | Ні |
Відповідь
{
"ip": "8.8.8.8",
"normalized": { "countryCode": "US", "...": "..." },
"errors": {}
}