К содержимому

Документация API

Управляйте прокси по HTTP: смена IP, перезапуск линии, чтение SMS, выбор отпечатка ОС. Маршруты, ответы, лимиты и примеры.

update Обновлено

Быстрый старт

API работает с одним прокси за раз: с тем, чьи логин и пароль вы передаёте.

  • Базовый адрес: https://frproxy.com
  • Аутентификация: Basic Auth, с логином и паролем прокси, а не вашего аккаунта. Они указаны в разделе Мои прокси.
  • Ответы: JSON.

Первый запрос, который меняет IP прокси:

curl -X POST -u "USER:PASS" https://frproxy.com/api/v1/rotate

Замените USER и PASS на учётные данные вашего прокси.

Маршруты

Метод Маршрут Назначение
GET или POST /api/v1/rotate Сменить IP прокси
GET или POST /apix/<port>/<token> Сменить IP по короткой ссылке, без учётных данных
POST /api/v1/reboot Перезапустить линию
GET /api/v1/sms Прочитать полученные SMS
POST /api/v1/spoof Выбрать отпечаток ОС
GET или POST /api/v1/wg-rotate Сменить IP туннеля WireGuard

Аутентификация

Каждый запрос передаёт логин и пароль прокси через Basic Auth. В curl для этого служит опция -u, в Python-библиотеке requests параметр auth.

curl -u "USER:PASS" https://frproxy.com/api/v1/sms
  • Смена пароля прокси в разделе Мои прокси сразу меняет и пароль API.
  • Истёкшим прокси управлять нельзя: API отвечает 403.
  • Учётные данные можно указать и в адресе: https://USER:PASS@frproxy.com/api/v1/rotate. Некоторые браузеры и инструменты не принимают такую форму; короткой ссылке, описанной ниже, она не нужна.

Смена IP

GET или POST /api/v1/rotate

Мобильная линия прокси переподключается к сети и получает от оператора новый IP. Ответ приходит сразу, а ротация продолжается в фоне: обычно около десяти секунд. В это время прокси не отвечает, а открытые соединения разрываются.

curl -X POST -u "USER:PASS" https://frproxy.com/api/v1/rotate

Ответ:

{
  "success": true,
  "status": "rotation started — 轮换已启动 — ротация запущена",
  "wait_sec": 30,
  "retry_after": 30
}
Поле Значение
success true: ротация запущена.
status Информационное сообщение на английском, китайском и русском. Не опирайтесь на него в скрипте.
wait_sec Сколько секунд подождать, прежде чем пользоваться новым IP.
retry_after Сколько секунд подождать, прежде чем запрашивать новую ротацию.

GET принимается, чтобы хватало простой ссылки: ротацию может запустить браузер, закладка или инструмент. Нового IP в ответе нет; чтобы его узнать, см. ниже «Проверка нового IP».

Прокси тарифа «Базовый»

Прокси тарифа «Базовый» делит линию с другими прокси. Тот же маршрут выдаёт новый IP только этому прокси, не затрагивая ни линию, ни соседей. Ответ ждёт, пока IP будет готов, и сообщает его:

{
  "success": true,
  "status": "new ip assigned — 已分配新 IP — назначен новый IP",
  "ip": "203.0.113.42",
  "wait_sec": 0,
  "retry_after": 86400
}
  • Один новый IP на прокси раз в 24 ч. До этого срока API отвечает 429 и сообщает оставшееся время.
  • Если выдача занимает больше 55 с, ответ будет 202 со status «new ip in progress»: IP появится чуть позже.
  • У прокси тарифа «Базовый» нет короткой ссылки в разделе Мои прокси: используйте этот маршрут.

Короткая ссылка

GET или POST /apix/<port>/<token>

Та же смена IP, но без логина и пароля в адресе. Ссылку можно вставить как есть в браузер, закладку или инструмент.

curl https://frproxy.com/apix/15002/a1b2c3d4e5f6
  • Ссылка каждого прокси находится в разделе Мои прокси, за меткой «СМЕНА IP», а также на странице API вашего аккаунта.
  • Тот же ответ и те же лимиты, что у /api/v1/rotate.
  • Токен позволяет только сменить IP этого прокси: он не даёт доступа ни к самому прокси, ни к вашему аккаунту. И всё же храните его при себе: его владелец может сменить ваш IP в любой момент.
  • Он не меняется, когда вы меняете пароль прокси.

Проверка нового IP

Ротация не возвращает полученный IP, кроме прокси тарифа «Базовый». Чтобы его узнать, обратитесь к сервису определения IP через сам прокси:

curl -x http://USER:PASS@frproxy.com:15002 https://api64.ipify.org

Замените 15002 на HTTP-порт вашего прокси. Команда выводит адрес, который видят сайты, в IPv4 или IPv6 в зависимости от линии. Другие способы описаны в статье Проверка прокси.

Перезапуск линии

POST /api/v1/reboot

Перезапускает устройство, на котором работает линия прокси: модем или телефон. Это средство на случай, когда прокси перестал отвечать. Чтобы сменить IP, достаточно ротации, и связь прерывается на меньшее время.

curl -X POST -u "USER:PASS" https://frproxy.com/api/v1/reboot

Ответ, когда устройство получило команду:

{
  "status": "ok"
}

Если команда проходит дольше 40 с, API отвечает 202, не дожидаясь конца, а перезапуск завершается сам:

{
  "status": "pending",
  "message": "The restart is under way and continues on the device (up to 2 minutes for a phone)."
}
  • Линия возвращается обычно через одну-две минуты. Если она не вернулась, подождите 10 мин, прежде чем повторять: перезапуски подряд не ускоряют её возвращение.
  • Недоступно для прокси тарифа «Базовый» (403): линия общая, и её перезапуск отключил бы остальные прокси.
  • Интервалы между перезапусками и ротациями описаны ниже, в разделе «Лимиты».

Чтение SMS

GET /api/v1/sms

Возвращает SMS, полученные на SIM-карту прокси с момента, когда прокси был закреплён за вами. Сообщения, пришедшие раньше, не возвращаются.

curl -u "USER:PASS" https://frproxy.com/api/v1/sms

Ответ:

[
  {
    "Index": "3",
    "Phone": "+33612345678",
    "Content": "Your verification code is 481920",
    "Date": "2026-10-27 14:05:12"
  }
]
Поле Значение
Index Номер сообщения на SIM-карте.
Phone Отправитель: номер или короткое имя, например «Orange».
Content Текст сообщения.
Date Дата получения в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС, по парижскому времени.
  • Названия полей начинаются с заглавной буквы.
  • Если опция SMS на вашем прокси не включена, список пуст: [].

Выбор отпечатка ОС

POST /api/v1/spoof?os=<value>

Приближает TCP/IP-отпечаток соединений (TTL, окно и опции TCP) к отпечатку системы, которую объявляет ваш браузер. HTTP-заголовки не изменяются. Принцип описан в статье TCP-подмена ОС.

curl -X POST -u "USER:PASS" "https://frproxy.com/api/v1/spoof?os=windows"

Ответ:

{
  "status": "ok",
  "os": "windows"
}
Значение os Отпечаток
windows Windows
macos macOS
linux Linux
android Android
ios iOS
пусто (os=) Нет: исходный отпечаток устройства
  • os можно передать и в теле запроса, как поле формы. Заглавные буквы допускаются.
  • Настройка действует на всю линию: если её делят несколько прокси, для всех применяется последняя настройка.
  • Доступно, если опция входит в ваш тариф; иначе API отвечает 403.

Туннель WireGuard

GET или POST /api/v1/wg-rotate

У каждого туннеля WireGuard своя ссылка ротации, на его карточке в разделе Мои прокси. Логин состоит из wg и номера туннеля, паролем служит токен туннеля:

curl -u "wg12:TOKEN" https://frproxy.com/api/v1/wg-rotate
  • Тот же ответ и те же лимиты, что у ротации прокси.
  • Туннель, проданный вместе с прокси, выходит через ту же линию: смена IP одного меняет IP и другого.
  • Если прокси, на котором работает туннель, истёк, API отвечает 403.

Лимиты

Действие Лимит
Смена IP 1 раз в 30 с на прокси, панель, API и короткая ссылка вместе
Новый IP прокси тарифа «Базовый» 1 раз в 24 ч на прокси
Перезапуск линии 1 раз в 5 мин
Чтение SMS 100 в минуту
Выбор отпечатка ОС 10 в минуту

Ещё два правила защищают линию, какой бы прокси ни отправил запрос:

  • нельзя перезапускать линию во время ротации и в течение 2 мин после неё;
  • нельзя запускать ротацию в течение 5 мин после перезапуска, а также пока линия не вернулась (не больше 10 мин).

Ротации и перезапуски подряд держат линию отключённой дольше, чем каждое действие по отдельности.

При отказе API отвечает 429 с заголовком Retry-After: это число секунд, которое нужно подождать перед повтором. Отказ ничего не расходует.

Коды ответа

Код Значение Что делать
200 Успех. Ничего.
202 Принято: действие продолжается в фоне. Подождать, затем проверить.
400 Неверный параметр, например неизвестное значение os. Исправить запрос.
401 Учётные данные отсутствуют или неверны, либо короткая ссылка неизвестна. Проверить учётные данные прокси или заново скопировать ссылку.
403 Прокси истёк, опция не входит в тариф, либо действие недоступно для этого прокси. Продлить прокси или выбрать другое действие.
404 Короткая ссылка искажена. Заново скопировать ссылку из раздела Мои прокси.
405 HTTP-метод не принимается. Использовать GET или POST, как указано.
409 Для этого прокси тарифа «Базовый» новый IP уже выдаётся. Подождать несколько секунд.
422 Новый IP для этого прокси тарифа «Базовый» пока недоступен. Повторить позже.
429 Слишком рано: действует лимит или защитное правило. Подождать время, указанное в Retry-After.
502 Линия или сервер не отвечает. Повторить через минуту; если не проходит, написать в поддержку.

Ошибка приходит в таком виде:

{
  "error": "…"
}

Сообщение предназначено для человека, его язык и формулировка могут меняться: ваш код должен опираться на HTTP-код ответа.

Полный пример

Этот скрипт на Python меняет IP прокси, ждёт, пока новый IP будет готов, и выводит старый и новый адреса. Если запрос пришёл слишком рано (429), скрипт ждёт указанное время и пробует ещё раз.

import time

import requests

API = "https://frproxy.com"
AUTH = ("USER", "PASS")
PROXY = "http://USER:PASS@frproxy.com:15002"


def current_ip():
    r = requests.get("https://api64.ipify.org",
                     proxies={"http": PROXY, "https": PROXY}, timeout=30)
    r.raise_for_status()
    return r.text


def rotate():
    r = requests.post(API + "/api/v1/rotate", auth=AUTH, timeout=90)
    if r.status_code == 429:
        time.sleep(int(r.headers["Retry-After"]))
        r = requests.post(API + "/api/v1/rotate", auth=AUTH, timeout=90)
    r.raise_for_status()
    time.sleep(r.json()["wait_sec"])


before = current_ip()
rotate()
print(before, "->", current_ip())

См. также

Нужен французский мобильный прокси? Настоящая французская линия 4G/5G, порт HTTP и порт SOCKS5, смена IP по запросу.

Посмотреть тарифыarrow_forward
grid_viewВики