# Documentation de l’API AfricaProxies

> API REST AfricaProxies sur africaproxies.com/api: clés API, erreurs, limites, solde, recharges crypto, commandes, proxies et rotation IP mobile.

- URL: https://africaproxies.com/fr/docs/api/
- Dernière mise à jour: 2026-10-15
- Éditeur: AfricaProxies (https://africaproxies.com)

Pilotez votre compte par script : consulter le solde, recharger en crypto, acheter un forfait, créer les identifiants des proxies et changer une IP mobile. JSON sur HTTPS, une clé API et des exemples curl, Python et Node.js.

**Réponse rapide — Comment utiliser l’API AfricaProxies ?**

Envoyez des requêtes HTTPS à `https://africaproxies.com/api/v1` avec votre clé API dans l’en-tête `Authorization: Bearer API_KEY`. Créez la clé sur la [page développeur](/app/developer?lang=fr) de votre compte ou avec `POST /v1/api-keys`. N’accordez que les autorisations nécessaires. Requêtes et réponses utilisent JSON ; les erreurs ont toujours la forme `{ "error": { "code", "message" } }`.

## En un coup d'œil

| Attribut | Valeur |
| --- | --- |
| URL de base | `https://africaproxies.com/api/v1` |
| Format | JSON sur HTTPS, UTF-8 |
| Authentification | Clé API : `Authorization: Bearer API_KEY` |
| Autorisations de la clé API | `read`, `proxies`, `billing` |
| Montants | USD sous forme de chaîne avec 2 décimales (`"29.00"`) |
| Montants en crypto | Chaînes décimales, jamais de flottants (`"0.00045210"`) |
| Trafic | Octets (1 GB = 1,000,000,000 octets) |
| Dates | ISO 8601 en UTC (`2026-10-05T14:03:11Z`) |
| Version | `/v1` dans chaque chemin |

## Authentification

Toute requête, hors catalogue public, utilise une clé API : `Authorization: Bearer API_KEY`. La clé n’est affichée intégralement qu’**une fois**, à sa création : conservez-la comme un mot de passe. Vous pouvez révoquer une clé à tout moment ; les requêtes qui l’utilisent renvoient alors `401 unauthorized`.

### Autorisations

N’accordez à chaque clé que les autorisations nécessaires au script. Une clé dépourvue de l’autorisation requise reçoit `403 forbidden`.

| Autorisation | Ce qu'elle permet |
| --- | --- |
| `read` | consulter toutes les données : compte, solde, services et consommation. |
| `proxies` | modifier les paramètres et identifiants des proxies (libellés, renouvellement automatique, nouveaux mots de passe), gérer les sous-utilisateurs et la liste d’IP autorisées, et lancer la rotation des ports mobiles, y compris par lien. |
| `billing` | créer des commandes et des recharges, payer à partir du solde. |

Seul le **lien de rotation mobile** fait exception : il peut être appelé depuis un favori du navigateur ou un simple `curl`, avec `GET https://africaproxies.com/api/v1/mobile/PORT_ID/rotate?key=API_KEY` et une clé ayant l’autorisation `proxies`. Voir [Ports mobiles et rotation IP](/fr/docs/api/mobile/).

*Vérifier votre solde*

```bash
curl -s "https://africaproxies.com/api/v1/balance" \
  -H "Authorization: Bearer $API_KEY"
```

## Requêtes et réponses

- **JSON en entrée, JSON en sortie** : envoyez `Content-Type: application/json` avec un corps de requête.
- Les **listes** susceptibles de grandir utilisent la pagination avec `page` (à partir de 1) et `perPage` (1–100, valeur par défaut 20), et renvoient `{ "data": [...], "pagination": { "page", "perPage", "total", "totalPages" } }`. Les listes courtes renvoient `{ "data": [...] }`.
- Les **IDs** sont des chaînes opaques précédées d’un préfixe de type : `ord_` (commande), `top_` (rechargement), `txn_` (mouvement du solde), `res_` (abonnement de trafic), `mob_` (port mobile), `key_` (clé API) et `ipw_` (entrée de la liste d’IP autorisées).
- **Nouvelles tentatives sans doublon** : `POST /v1/orders` et `POST /v1/topups` acceptent un en-tête `Idempotency-Key`, une chaîne unique conservée 24 h. Réutiliser cette clé renvoie la première réponse, sans nouvel achat ni second rechargement.
- Les **exemples** montrent la structure des réponses. Leurs IDs, adresses, montants et dates sont illustratifs ; les identifiants et prix des forfaits sont réels.

## Erreurs

Chaque erreur possède le même corps. `code` est stable et destiné à votre code ; `message` est une phrase en anglais qui peut changer. Les erreurs de validation listent chaque champ invalide dans `fields`. De nouveaux codes peuvent être ajoutés : traitez les codes inconnus comme une erreur générique.

*422 validation_failed*

```json
{
  "error": {
    "code": "validation_failed",
    "message": "Some fields are invalid.",
    "fields": [
      {
        "field": "amountUsd",
        "code": "too_small",
        "message": "The minimum top-up is 25.00 USD."
      }
    ],
    "requestId": "req_2b7c0f"
  }
}
```

### Codes d'état

| Statut | Signification |
| --- | --- |
| `422` | `validation_failed` : un ou plusieurs champs sont invalides. |
| `401` | `unauthorized` : jeton manquant, invalide ou expiré. |
| `402` | `insufficient_balance` : le solde ne couvre pas la commande. `details` = `InsufficientBalanceDetails`. |
| `403` | `forbidden` : la clé API n’a pas l’autorisation requise, ou le compte est suspendu. |
| `404` | `not_found` : la ressource n'existe pas ou appartient à un autre compte. |
| `409` | `conflict` (ou un code plus spécifique) : l'action n'est pas possible dans l'état actuel. |
| `429` | `rate_limited` ou `rotation_too_soon`. |

## Limites de débit

Chaque réponse comporte `RateLimit-Limit`, `RateLimit-Remaining` et `RateLimit-Reset`. Au-dessus de la limite, l'API répond `429 rate_limited` avec un en-tête `Retry-After` (secondes) : attendez cette durée, puis réessayez. L'IP d'un port mobile peut être modifiée au plus une fois toutes les 30 secondes (`429 rotation_too_soon`, avec `Retry-After`).

## Référence API

- **[Compte et solde](/fr/docs/api/account/)** — Consultez les paramètres du compte, le solde prépayé en USD et tous ses mouvements : rechargements, achats et remboursements.
- **[Recharges en crypto](/fr/docs/api/top-ups/)** — Rechargez le solde en crypto : obtenez l’adresse et le montant exact, envoyez exactement ce montant, puis signalez le paiement envoyé. L’ID de transaction est facultatif. Suivez le rechargement jusqu’au crédit du solde, qui permet d’acheter n’importe lequel de nos forfaits.
- **[Commandes](/fr/docs/api/orders/)** — Consultez les forfaits et leurs prix, achetez sur le solde (nouveau service, trafic supplémentaire ou prolongation d’un port) et retrouvez vos commandes.
- **[Proxies résidentiels et identifiants](/fr/docs/api/residential/)** — Gérez les abonnements de trafic résidentiel et mobile à rotation 4G/5G par GB : identifiants des proxies, sous-utilisateurs avec leurs propres identifiants et plafonds, consommation quotidienne et lieux sélectionnables dans le nom d’utilisateur du proxy.
- **[Ports mobiles et rotation IP](/fr/docs/api/mobile/)** — Ports dédiés 4G/5G : changez l’IP immédiatement ou selon un minuteur, utilisez le lien de rotation et consultez le trafic quotidien.
- **[Clés API et liste d’IP autorisées](/fr/docs/api/api-keys/)** — Créez et révoquez des clés API aux autorisations limitées. Gérez la liste d’IP autorisées : jusqu’à 10 adresses sources peuvent utiliser les proxies sans nom d’utilisateur ni mot de passe.

> **Paiement via un script** Les forfaits se paient toujours avec le solde prépayé en USD. Rechargez-le en crypto, au minimum 25 $US, avec POST /v1/topups, puis achetez avec POST /v1/orders. Un seul appel peut combiner les deux : un rechargement peut contenir la commande dans purchase ; le forfait est acheté dès que ce rechargement est crédité.

---

AfricaProxies: AfricaProxies est un fournisseur de proxies résidentiels pour l’Afrique subsaharienne, avec paiement en crypto et sans transmettre de pièce d’identité.
