Документация API для получения прокси

Описание

API даёт доступ к списку прокси с гибкими фильтрами. Нужен действующий ключ — он проверяется на подлинность и лимиты. Ответ зависит от параметра get: текст, JSON или файл для скачивания. Адрес API: https://api.good-proxies.ru/api.

Основные параметры запроса

Параметр Описание Обязательный Пример значения
key Ключ доступа, необходимый для аутентификации запроса. Да abc123
type Тип прокси-серверов (http, https, socks4, socks5). Можно указать несколько типов через запятую. Нет http,https
anon Уровень анонимности прокси (transparent, anonymous, elite). Нет elite
ping Максимально допустимое время отклика прокси в миллисекундах. Нет 500
time Максимальное время (в секундах) с момента последней проверки прокси. По умолчанию: 600 (последние 10 минут). Нет 600
works Количество успешных тестов прокси из общего числа попыток в процентах. Доступные значения: от 0 до 100. Пример использования: works=50 - это значит, что будут выданы прокси, у которых не менее 50% успешных проверок из общего числа тестов на работоспособность. Выводится значение, если выбран формат json. Нет 50
country Код страны прокси (ISO Alpha-2). Можно указать несколько кодов через запятую. Нет us,ca
cm / country_mode Режим применения фильтра по странам. Значение include (по умолчанию) - возвращать только указанные страны. Значение except - исключать указанные страны из результата. Для удобства поддерживается короткий параметр cm (например, cm=except), совместимый с устаревшим country_mode. Нет cm=except & country=us,ca
city Название города прокси. Можно указать несколько городов через запятую. Названия могут быть на русском или английском языке. Нет Париж,Москва
service Фильтр по совместимости с сервисами. Допустимые значения: smtp, google, telegram, avito, mail. Можно указать несколько значений через запятую. smtp — открыт порт 25 (SMTP). google — без капчи в Google. telegram — работает с Telegram API. avito — работает с Avito API. mail — HTTPS-доступ к проектам Mail.ru. Нет google,smtp
count Количество запрашиваемых прокси. Нет 10
lang Язык для названий городов в ответе и при фильтрации по городу. ru (по умолчанию) - русские названия городов. en - английские названия. При lang=en параметр city принимает английские названия городов. Нет ru, en
get Формат вывода данных. По умолчанию используется значение txt, что означает вывод в виде текста в браузере. Для вывода в формате JSON используйте get=json. Для скачивания файла используйте get=txt.file или get=json.file. Нет txt, json, txt.file, json.file
timecheck Время последней успешной проверки на работоспособность прокси. Выводится только если выбран формат json. Время указывается в часовом поясе GMT+2. Нет Нельзя указать
ip_out Исходящий результатирующий IP-адрес прокси. Может отличаться от основного IP-адреса прокси. Этот параметр выводится только в формате JSON. Нет Нельзя указать

Параметры TXT-формата

Следующий параметр управляет форматом строки при get=txt и get=txt.file.

Параметр Описание Обязательный Пример значения
type_prefix Добавляет протокол в начало каждой строки TXT-вывода: type://ip:port. Значение 1 включает режим. Пример строки: http://127.0.0.1:3128. Нет 1

Параметры JSON-формата

Следующие параметры управляют структурой ответа при get=json и get=json.file. На TXT-вывод не влияют.

Параметр Описание Обязательный Пример значения
ip Адрес прокси-сервера в формате ip:port (например, 192.168.1.1:8080). Для разделения на отдельные поля ip и port используйте параметр split_ip=1. Нет 192.168.1.1:8080
fields Список полей через запятую для включения в JSON-ответ. Допустимо: ip, port, ip_out, type, anon, ping, timecheck, country, city, works, smtp, telegram, avito, google, mail. По умолчанию возвращаются все поля. Поле port появляется только при split_ip=1. Нет ip,type,country
split_ip Разделяет поле ip формата ip:port на два отдельных поля: ip и port. Значение 1 включает разделение. Нет 1
format Структура JSON-ответа. array (по умолчанию) - массив объектов-прокси. object - объект, где ключи - адреса прокси (ip:port), значения - объекты с полями. Нет array, object
wrap Оборачивает ответ в конверт с метаданными: {status, count, timestamp, filters, data}. Значение 1 включает оборачивание. Нет 1
pretty Форматирование JSON-ответа. 1 (по умолчанию) - читаемый формат с отступами. 0 - компактный JSON без отступов (меньше трафика). Нет 0, 1

Примеры запросов

Пример 1: 5 прокси с типом HTTP и анонимностью "elite" в формате JSON

GET https://api.good-proxies.ru/api?key=abc123&type=http&anon=elite&count=5&get=json

Пример 2: 10 прокси с типом HTTPS и максимальным пингом 500 мс в формате TXT-файла для скачивания

GET https://api.good-proxies.ru/api?key=abc123&type=https&ping=500&count=10&get=txt.file

Пример 3: 2 прокси из США и Канады в формате списка (выводится как текст в браузере)

GET https://api.good-proxies.ru/api?key=abc123&country=us,ca&count=2

Пример 4: TXT с префиксом протокола type://ip:port

GET https://api.good-proxies.ru/api?key=abc123&type=http&count=5&type_prefix=1

Вывод:

http://192.168.1.1:8080
http://192.168.1.2:3128
http://192.168.1.3:8118

Пример 5: JSON - только нужные поля, IP и порт раздельно

GET https://api.good-proxies.ru/api?key=abc123&type=socks5&count=2&get=json&fields=ip,port,type,country&split_ip=1

Вывод:

[
    {
        "ip": "192.168.1.1",
        "port": "1080",
        "type": "socks5",
        "country": "US"
    },
    {
        "ip": "192.168.1.2",
        "port": "1080",
        "type": "socks5",
        "country": "DE"
    }
]

Пример 6: JSON с конвертом метаданных (wrap=1)

GET https://api.good-proxies.ru/api?key=abc123&type=http&count=2&get=json&wrap=1

Вывод:

{
    "status": "ok",
    "count": 2,
    "timestamp": "2026-03-01T12:00:00+00:00",
    "filters": {
        "type": "http",
        "time": 600
    },
    "data": [
        {
            "ip": "192.168.1.1:8080",
            "type": "http",
            ...
        }
    ]
}

Пример 7: Фильтр по городу на английском языке

GET https://api.good-proxies.ru/api?key=abc123&city=Paris,London&count=5&get=json&lang=en

Параметр lang=en позволяет указывать города на английском языке и получать английские названия городов в ответе.

Пример 8: Компактный JSON без отступов (для автоматической обработки)

GET https://api.good-proxies.ru/api?key=abc123&type=http&count=10&get=json&pretty=0

Формат ответа

Успешный ответ в формате JSON

При успешном запросе с параметром get=json, API возвращает список прокси-серверов в структурированном формате JSON. Включает параметр timecheck, который показывает время последней успешной проверки в часовом поясе GMT+2. Параметр ip_out указывает результатирующий IP-адрес прокси, который может отличаться от основного.

[
    {
        "ip": "15.162.126.1:919",
        "ip_out": "15.162.126.1",
        "type": "http",
        "anon": "transparent",
        "ping": 5.07786,
        "timecheck": "2024-11-25 20:09:25",
        "country": "CO",
        "city": "Медельин",
        "works": "66"
    }
]

Успешный ответ в формате TXT

Если get=txt (по умолчанию), ответ — простой текст в браузере:

192.168.1.1:8080
192.168.1.2:8080
192.168.1.3:8080

Успешный ответ в формате TXT для скачивания

Если get=txt.file, ответ скачивается как текстовый файл:

192.168.1.1:8080
192.168.1.2:8080
192.168.1.3:8080

Успешный ответ в формате JSON для скачивания

Если get=json.file, ответ скачивается как JSON-файл:

[
    {
        "ip": "112.63.11.8:180",
        "ip_out": "122.63.41.1",
        "type": "http",
        "anon": "elite",
        "ping": 3.83659,
        "timecheck": "2024-11-25 20:09:26",
        "country": "SN",
        "city": "",
        "works": "100"
    }
]

Ошибки

Если запрос не удался, API возвращает текстовое сообщение с описанием ошибки.

Ошибка: Ключ доступа не предоставлен

Лимиты

  • Частота запросов: не более двух запросов каждые 5 секунд.
  • Лимит запросов в день: до 34,560 запросов. При превышении лимита API возвращает сообщение об ошибке.
  • Ограничение по подсетям: не более 10 подсетей IP формата "a.b.0.0/16". Лимит сбрасывается каждые 24 часа. Если лимит превышен, API возвращает ошибку.

Примечания

  • Все параметры, кроме key, являются необязательными.
  • Если параметр count не указан, API возвращает максимальное количество доступных прокси.
  • Если параметр time не указан, по умолчанию используется значение 600 (прокси, проверенные в течение последних 10 минут).
  • При get=txt.file или get=json.file ответ скачивается как файл.
  • Время в поле timecheck, возвращаемое в формате JSON, указывается в часовом поясе GMT+2.
  • Параметры JSON (fields, split_ip, format, wrap, pretty) влияют только на JSON-ответ и игнорируются при TXT-выводе.
  • Параметр type_prefix влияет только на TXT-вывод (get=txt и get=txt.file) и игнорируется при JSON-выводе.
  • Параметр lang=en позволяет указывать названия городов в фильтре city на английском языке и возвращать их в английском написании в JSON-ответе.

Пример использования в PHP

$key = 'abc123';
$type = 'http';
$anon = 'elite';
$count = 5;
$get = 'json';

$url = "https://api.good-proxies.ru/api?key=$key&type=$type&anon=$anon&count=$count&get=$get";

$response = file_get_contents($url);

if ($response) {
    $proxies = json_decode($response, true);
    print_r($proxies);
} else {
    echo "Ошибка при получении прокси.";
}

Заключение

API даёт удобный способ получать прокси с гибкими фильтрами. Проверьте, что ключ действует, и соблюдайте лимиты — тогда работа пойдёт без сбоев.