Aller au contenu

Guide API HiProxy

Ce que vous faites dans le tableau de bord, vous pouvez aussi le faire depuis votre code. Consultez votre solde et vos accès, vérifiez les prix, commandez avec votre solde et construisez des identifiants proxy avec options, le tout via une API REST.

Comment commencer ?

  1. 1Inscrivez-vous avec un nom d'utilisateur et connectez-vous au tableau de bord.
  2. 2Générez une clé API dans l'onglet Connexion. La clé complète n'apparaît qu'une seule fois : enregistrez-la tout de suite en lieu sûr.
  3. 3Mettez la clé dans l'en-tête Authorization de chaque requête qui en a besoin.
  4. 4Appelez d'abord /account pour vérifier que la clé fonctionne, puis commandez avec /orders.

Comment fonctionne l'authentification ?

Les requêtes qui concernent votre propre compte (account, orders, proxy-user) demandent une clé API. Envoyez-la dans l'en-tête sous la forme Authorization: Bearer hpk_... Les prix, les pays et les devis sont accessibles à tous, sans clé.

HiProxy enregistre uniquement un hash de votre clé, jamais la clé elle-même. Si vous la perdez, générez-en une nouvelle dans le tableau de bord : l'ancienne clé est bloquée à ce moment-là. Gardez la clé uniquement dans du code côté serveur, jamais dans du code exécuté dans un navigateur ni dans un dépôt public.

HTTP header
Authorization: Bearer hpk_your_api_key

URL de base et format des données

URL de base
https://hiproxy.shop/api/v1
Corps de requête et de réponse
application/json
Montants
USD sous forme de nombre, ex. 1036.60
Horodatages
ISO 8601 (UTC)

Y a-t-il des limites de requêtes ?

Chaque clé API peut faire jusqu'à 60 appels par minute. Les endpoints publics appelés sans clé acceptent 60 appels par minute et par IP. Au-delà de la limite, vous recevez HTTP 429. Attendez une minute, puis renvoyez la requête.

À quoi ressemble une réponse d'erreur ?

Vous recevez un code de statut HTTP et un corps JSON avec un code d'erreur court et un message.

Exemple
{
  "error": {
    "code": "insufficient_balance",
    "message": "Your balance is too low for this order. Top up in the dashboard."
  }
}
code
bad_requestHTTP 400Une valeur obligatoire manque, ou ce produit n'accepte pas cette valeur.
unauthorizedHTTP 401Aucune clé API n'a été envoyée, ou la clé est incorrecte.
insufficient_balanceHTTP 402Votre solde est inférieur au total de la commande. Votre solde n'a pas été modifié.
not_foundHTTP 404Votre compte n'a aucune commande avec cet id.
rate_limitedHTTP 429Vous avez dépassé la limite de requêtes par minute.
server_errorHTTP 500Le serveur n'a pas pu terminer la requête. Votre solde n'a pas été modifié.

Endpoints

Consulter votre compte

GET/api/v1/accountClé API requise

Affiche votre solde, l'hôte et les ports du proxy, l'identifiant et le mot de passe proxy, et la liste des IP autorisées.

Requête
curl https://hiproxy.shop/api/v1/account \
  -H "Authorization: Bearer hpk_your_api_key"
Réponse
{
  "username": "hi_user01",
  "balance_usd": 1300,
  "proxy": {
    "host": "gate.hiproxy.shop",
    "http_port": 6100,
    "socks5_port": 6200,
    "username": "hpexample1",
    "password": "your_password"
  },
  "allowed_ips": [
    "203.0.113.10"
  ]
}

Consulter les produits et les prix

GET/api/v1/productsSans clé

Affiche les limites de commande de chaque produit, le prix par palier et les remises sur la durée. Utilise la même grille de prix que la page des tarifs.

Requête
curl https://hiproxy.shop/api/v1/products
Réponse
{
  "currency": "USD",
  "prices_as_of": "2026-10-31",
  "products": [
    {
      "id": "unlimited",
      "unit": "day",
      "quantity": {
        "meaning": "days",
        "min": 1,
        "max": 365
      },
      "...": "..."
    },
    {
      "id": "residential",
      "unit": "gb",
      "...": "..."
    }
  ]
}

Lister les pays et les villes

GET/api/v1/countriesSans clé

Affiche les pays pris en charge par chaque produit et les valeurs de ville à utiliser dans l'option -city- de l'identifiant.

ChampSignification
productFacultatifUne valeur parmi unlimited, residential, isp, datacenter. Vide signifie residential.
Requête
curl "https://hiproxy.shop/api/v1/countries?product=datacenter"
Réponse
{
  "product": "datacenter",
  "countries": [
    {
      "code": "us",
      "name": "United States",
      "region": "americas",
      "datacenter": true,
      "cities": [
        {
          "name": "New York",
          "value": "new_york"
        },
        {
          "name": "Los Angeles",
          "value": "los_angeles"
        }
      ]
    }
  ]
}

Obtenir un devis

POST/api/v1/quoteSans clé

Calcule le total de la commande sans toucher à votre solde. Envoyez le même corps que pour passer la commande.

ChampSignification
productObligatoireL'une des valeurs unlimited, residential, isp, datacenter.
quantityObligatoireJours pour unlimited (1~365), GB pour residential (5~5,000), nombre d'IP pour isp (1~1,000) ou datacenter (5~5,000).
concurrencyFacultatifUnlimited uniquement. Choisissez 200, 500, 1000 ou 2000.
bandwidthFacultatifUnlimited uniquement, en Mbps. Choisissez 100, 200, 500 ou 1000.
monthsFacultatifisp et datacenter uniquement. Choisissez 1, 3, 6 ou 12.
countryFacultatifisp et datacenter uniquement. Un code pays de deux lettres comme jp. Les valeurs valides sont listées dans /countries.
Requête
curl -X POST https://hiproxy.shop/api/v1/quote \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Réponse
{
  "product": "unlimited",
  "quantity": 30,
  "unit_price_usd": 8.78,
  "unit": "day",
  "total_usd": 263.4
}

Passer une commande

POST/api/v1/ordersClé API requise

Débite le total de votre solde et crée la commande. Elle commence en pending (en activation) et passe en active une fois prête. Une commande qui ne peut pas être activée passe en refunded, et tout ce que vous avez payé revient sur votre solde. Si votre solde est insuffisant, vous recevez 402.

ChampSignification
productObligatoireL'une des valeurs unlimited, residential, isp, datacenter.
quantityObligatoireJours pour unlimited (1~365), GB pour residential (5~5,000), nombre d'IP pour isp (1~1,000) ou datacenter (5~5,000).
concurrencyFacultatifUnlimited uniquement. Choisissez 200, 500, 1000 ou 2000.
bandwidthFacultatifUnlimited uniquement, en Mbps. Choisissez 100, 200, 500 ou 1000.
monthsFacultatifisp et datacenter uniquement. Choisissez 1, 3, 6 ou 12.
countryFacultatifisp et datacenter uniquement. Un code pays de deux lettres comme jp. Les valeurs valides sont listées dans /countries.
Requête
curl -X POST https://hiproxy.shop/api/v1/orders \
  -H "Authorization: Bearer hpk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Réponse
{
  "order": {
    "id": "HP-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.78,
    "total_usd": 263.4,
    "status": "pending",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:12:44.120Z"
  },
  "balance_usd": 1036.6
}

Lister les commandes

GET/api/v1/ordersClé API requise

Affiche jusqu'à 100 de vos commandes, les plus récentes en premier.

ChampSignification
statusFacultatifUne valeur parmi pending, active, refunded. Vide renvoie les commandes de tous les statuts.
Requête
curl "https://hiproxy.shop/api/v1/orders?status=pending" \
  -H "Authorization: Bearer hpk_your_api_key"
Réponse
{
  "orders": [
    {
      "id": "HP-7KQ2M-X4HTD",
      "product": "unlimited",
      "quantity": 30,
      "months": null,
      "concurrency": 1000,
      "bandwidth_mbps": 200,
      "country": null,
      "unit_price_usd": 8.78,
      "total_usd": 263.4,
      "status": "pending",
      "created_at": "2026-10-31T09:12:44.120Z",
      "updated_at": "2026-10-31T09:12:44.120Z"
    }
  ]
}

Consulter une commande

GET/api/v1/orders/{id}Clé API requise

Affiche une seule commande par son id. Pratique pour vérifier si l'activation est terminée.

ChampSignification
idObligatoireL'id de la commande, comme HP-7KQ2M-X4HTD.
Requête
curl https://hiproxy.shop/api/v1/orders/HP-7KQ2M-X4HTD \
  -H "Authorization: Bearer hpk_your_api_key"
Réponse
{
  "order": {
    "id": "HP-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.78,
    "total_usd": 263.4,
    "status": "active",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:40:02.511Z"
  }
}

Générer un identifiant proxy

GET/api/v1/proxy-userClé API requise

Vous donne un identifiant proxy contenant vos options, ainsi que des URL HTTP et SOCKS5 à coller directement. Sans session, l'IP change à chaque requête.

ChampSignification
productFacultatifUne valeur parmi unlimited, residential, isp, datacenter. Vide signifie unlimited.
countryFacultatifUn code pays à deux lettres, par exemple jp.
cityFacultatifUne valeur de ville issue de /countries, comme tokyo. Fonctionne uniquement avec country.
sessionFacultatif1~32 lettres ou chiffres. Les requêtes avec la même session utilisent la même IP.
ttlFacultatifNombre de minutes pendant lesquelles garder l'IP de session, 1~60. Vide signifie 30.
Requête
curl "https://hiproxy.shop/api/v1/proxy-user?product=residential&country=jp&city=tokyo&session=job42&ttl=30" \
  -H "Authorization: Bearer hpk_your_api_key"
Réponse
{
  "username": "hpexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30",
  "password": "your_password",
  "http": "http://hpexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.hiproxy.shop:6100",
  "socks5": "socks5h://hpexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.hiproxy.shop:6200"
}

Exemple étape par étape

Un script qui vérifie le prix, commande avec votre solde et se connecte via une IP japonaise.

Python (requests)
import requests

API = "https://hiproxy.shop/api/v1"
HEAD = {"Authorization": "Bearer hpk_your_api_key"}

# 1) Check the price first
plan = {"product": "residential", "quantity": 100}
print(requests.post(f"{API}/quote", json=plan).json())

# 2) Order from your balance
r = requests.post(f"{API}/orders", json=plan, headers=HEAD)
order = r.json()["order"]
print(order["id"], order["status"])

# 3) Get a username for Japanese IPs
u = requests.get(f"{API}/proxy-user", headers=HEAD,
                 params={"product": "residential", "country": "jp"}).json()
proxies = {"http": u["http"], "https": u["http"]}
print(requests.get("https://ipinfo.io/json", proxies=proxies, timeout=30).json())
Node.js 18+
const API = "https://hiproxy.shop/api/v1";
const HEAD = { Authorization: "Bearer hpk_your_api_key", "Content-Type": "application/json" };

// Check the balance
const acc = await fetch(`${API}/account`, { headers: HEAD }).then((r) => r.json());
console.log(acc.balance_usd);

// Order 7 days of unlimited
const res = await fetch(`${API}/orders`, {
  method: "POST",
  headers: HEAD,
  body: JSON.stringify({ product: "unlimited", quantity: 7, concurrency: 500, bandwidth: 100 }),
});
if (res.status === 402) console.log("Top up first");
else console.log((await res.json()).order.id);

Les commandes passées via l'API sont traitées comme celles du tableau de bord et apparaissent dans l'onglet Historique. Remplacez hpk_your_api_key dans les exemples par votre propre clé API.

Appelez HiProxy depuis votre code

Inscrivez-vous avec un nom d'utilisateur, générez une clé API dans le tableau de bord et c'est prêt.