Proxy JSON API

Для удобного доступа к спискам бесплатных прокси наш сервис предоставляет JSON API.

С помощью API пользователи с "Pro Статусом" могут получать актуальные списки проверенных бесплатных прокси с возможностью их фильтрации по многим параметрам, например таким, как время ответа, скорость, геолокация, стабильность.

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

Конечные точки API

Текущая версия API: 1.0

Основная конечная точка: https://proxy-tools.com/api/v1

Локализованные конечные точки:

  • CN: https://cn.proxy-tools.com/api/v1
  • DE: https://de.proxy-tools.com/api/v1
  • ES: https://es.proxy-tools.com/api/v1
  • FR: https://fr.proxy-tools.com/api/v1
  • JP: https://jp.proxy-tools.com/api/v1
  • PT: https://pt.proxy-tools.com/api/v1
  • RU: https://ru.proxy-tools.com/api/v1

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

Метод аутентификации: Bearer Token

Генерация API ключей (токенов) доступна в личном кабинете всем пользователям со "Pro Статусом" аккаунта.

Для аутентификации необходимо в каждом запросе передавать API ключ в заголовке запроса:

Authorization: Bearer <ВАШ_API_КЛЮЧ>

Методы

GET  /proxies  Получить актуальный список бесплатных прокси

Параметры (все параметры являются необязательными)

type (integer) - тип прокси:

  • 0 - все типы (по умолчанию)
  • 1 - SOCKS4 и SOCKS5
  • 2 - только SOCKS5
  • 3 - только HTTPS
  • 4 - HTTP и HTTPS

anonymity (integer) - анонимность прокси:

  • 0 - только прозрачные
  • 1 - только элитные
  • 2 - анонимные и элитные
  • 3 - искажающие

stability (integer) - минимальная стабильность прокси выраженная в процентах успешных запросов от 0 до 100

speed (integer) - минимальная скорость прокси:

  • 0 - любая
  • 1 - медленная
  • 2 - средняя
  • 3 - быстрая

response (numeric) - максимальное время отклика прокси в секундах от 0 до 5.00

geo (string) - геолокация прокси, код страны в формате ISO-3166

page (integer) - номер страницы с результатами запроса

limit (integer) - количество прокси на страницу в ответе на запрос, от 1 до 100 (по умолчанию 25)

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

Получить только SOCKS5 прокси со временем отклика не выше 1.5 секунды:

curl 'https://proxy-tools.com/api/v1/proxies?type=2&response=1.5' \
   -H 'Accept: application/json' \
   -H 'Authorization: Bearer <YOUR_API_KEY>'
<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://proxy-tools.com/api/v1/proxies?type=2&response=1.5');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Accept: application/json',
'Authorization: Bearer <YOUR_API_KEY>',
]);

$response = curl_exec($ch);

curl_close($ch);
import requests

headers = {
    'Accept': 'application/json',
    'Authorization': 'Bearer <YOUR_API_KEY>',
}

params = {
    'type': '2',
    'response': '1.5',
}

response = requests.get('https://proxy-tools.com/api/v1/proxies', params=params, headers=headers)
package main

import (
"fmt"
"io/ioutil"
"log"
"net/http"
)

func main() {
client := &http.Client{}
req, err := http.NewRequest("GET", "https://proxy-tools.com/api/v1/proxies?type=2&response=1.5", nil)
if err != nil {
log.Fatal(err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("Authorization", "<YOUR_API_KEY>")
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
bodyText, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", bodyText)
}

Получить 1 элитную прокси США:

curl 'https://proxy-tools.com/api/v1/proxies?anonymity=1&geo=us&limit=1' \
   -H 'Accept: application/json' \
   -H 'Authorization: Bearer <YOUR_API_KEY>'
<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://proxy-tools.com/api/v1/proxies?anonymity=1&geo=us&limit=1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Accept: application/json',
'Authorization: Bearer <YOUR_API_KEY>',
]);

$response = curl_exec($ch);

curl_close($ch);
import requests

headers = {
    'Accept': 'application/json',
    'Authorization': 'Bearer <YOUR_API_KEY>',
}

params = {
    'anonymity': '1',
    'geo': 'us',
    'limit': '1',
}

response = requests.get('https://proxy-tools.com/api/v1/proxies', params=params, headers=headers)
package main

import (
"fmt"
"io/ioutil"
"log"
"net/http"
)

func main() {
client := &http.Client{}
req, err := http.NewRequest("GET", "https://proxy-tools.com/api/v1/proxies?anonymity=1&geo=us&limit=1", nil)
if err != nil {
log.Fatal(err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("Authorization", "<YOUR_API_KEY>")
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
bodyText, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", bodyText)
}

Лимиты

Общий лимит на каждый аккаунт: максимум 60 запросов в минуту.