Wuraren kira a wannan shafin
GET /v1/residential/subscriptions: Jera biyan traffic (na gida da mobile mai sauyawa bisa GB)GET /v1/residential/subscriptions/{subscriptionId}: Duba biyan proxy na gidaPATCH /v1/residential/subscriptions/{subscriptionId}: Sauya suna ko kunna/kashe sabuntawa ta atomatikPOST /v1/residential/subscriptions/{subscriptionId}/reset-password: Ƙirƙiri sabon kalmar sirrin proxy ga babban mai amfaniGET /v1/residential/subscriptions/{subscriptionId}/usage: Amfani da traffic na ranaGET /v1/residential/subscriptions/{subscriptionId}/sub-users: Jera ƙananan masu amfani (bayanan shiga proxy dabam da iyakar traffic nasu)POST /v1/residential/subscriptions/{subscriptionId}/sub-users: Ƙirƙiri ƙaramin mai amfaniPATCH /v1/residential/subscriptions/{subscriptionId}/sub-users/{subUserId}: Sabunta ƙaramin mai amfani (lakabi, iyaka, kunna/kashe, sabon kalmar sirri)DELETE /v1/residential/subscriptions/{subscriptionId}/sub-users/{subUserId}: Goge ƙaramin mai amfaniGET /v1/catalog/countries: Ƙasashen da samfur yake samuwaGET /v1/catalog/countries/{countryCode}/cities: Biranen da za a iya zaɓa a ƙasaGET /v1/catalog/countries/{countryCode}/asns: Masu samar da intanet (ASN) da za a zaɓa a ƙasa — na gida kawai
URL na asali https://africaproxies.com/api/v1. Tabbatar da shiga, kurakurai da iyaka: duba bayanin API.
Zaman adireshi ɗaya
Ƙara -session-{id}-ttl-{minutes} a sunan mai amfani na proxy domin riƙe IP ɗaya: {id} haruffa ko lambobi 1–32 ne da ka zaɓa, ttl mintuna 1–30 ne. IP na iya sauyawa kafin lokacin, misali idan na'urar da ke bayansa ta fita daga layi.
Jera biyan traffic (na gida da mobile mai sauyawa bisa GB)
GET/v1/residential/subscriptions
Authentication: API madaidaiciya a cikin Authorization: Bearer API_KEY taken.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
productId | query | residential · mobile-gb | A'a | Wannan samfur kawai (idan babu: duka biyun). |
Amsa 200 OK
{
"data": [
{
"id": "res_9x2m4k",
"productId": "residential",
"label": "Residential #1",
"planId": "res-10",
"status": "active",
"trafficTotalBytes": 10000000000,
"trafficUsedBytes": 2350000000,
"trafficRemainingBytes": 7650000000,
"expiresAt": null,
"autoRenew": false,
"username": "u7k2m9",
"password": "PASSWORD",
"endpoint": {
"host": "gw.africaproxies.com",
"httpPort": 7777,
"socksPort": 7778
},
"subUserCount": 1,
"createdAt": "2026-10-05T14:03:11Z"
}
]
}Misalan lambobin kwamfuta
curl -s "https://africaproxies.com/api/v1/residential/subscriptions" \
-H "Authorization: Bearer $API_KEY"import os
import requests
API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}
r = requests.get(f"{API}/residential/subscriptions", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/residential/subscriptions`, {
headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());Duba biyan proxy na gida
GET/v1/residential/subscriptions/{subscriptionId}
Authentication: API madaidaiciya a cikin Authorization: Bearer API_KEY taken.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
subscriptionId | path | string | I | — |
Amsa 200 OK
{
"id": "res_9x2m4k",
"productId": "residential",
"label": "Residential #1",
"planId": "res-10",
"status": "active",
"trafficTotalBytes": 10000000000,
"trafficUsedBytes": 2350000000,
"trafficRemainingBytes": 7650000000,
"expiresAt": null,
"autoRenew": false,
"username": "u7k2m9",
"password": "PASSWORD",
"endpoint": {
"host": "gw.africaproxies.com",
"httpPort": 7777,
"socksPort": 7778
},
"subUserCount": 1,
"createdAt": "2026-10-05T14:03:11Z"
}Misalan lambobin kwamfuta
curl -s "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k" \
-H "Authorization: Bearer $API_KEY"import os
import requests
API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}
r = requests.get(f"{API}/residential/subscriptions/res_9x2m4k", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/residential/subscriptions/res_9x2m4k`, {
headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());Sauya suna ko kunna/kashe sabuntawa ta atomatik
PATCH/v1/residential/subscriptions/{subscriptionId}
Authentication: API madaidaiciya a cikin Authorization: Bearer API_KEY taken.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
subscriptionId | path | string | I | — |
Sashin buƙata
| Fasali | Nau'i | Abin bukata | Bayani |
|---|---|---|---|
label | string | A'a | iyakar haruffa 60 |
autoRenew | boolean | A'a | — |
{
"label": "Price monitoring",
"autoRenew": true
}Amsa 200 OK
{
"id": "res_9x2m4k",
"productId": "residential",
"label": "Residential #1",
"planId": "res-10",
"status": "active",
"trafficTotalBytes": 10000000000,
"trafficUsedBytes": 2350000000,
"trafficRemainingBytes": 7650000000,
"expiresAt": null,
"autoRenew": false,
"username": "u7k2m9",
"password": "PASSWORD",
"endpoint": {
"host": "gw.africaproxies.com",
"httpPort": 7777,
"socksPort": 7778
},
"subUserCount": 1,
"createdAt": "2026-10-05T14:03:11Z"
}Misalan lambobin kwamfuta
curl -s -X PATCH "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"label":"Price monitoring","autoRenew":true}'import os
import requests
API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}
r = requests.patch(f"{API}/residential/subscriptions/res_9x2m4k", headers=HEADERS, json={"label": "Price monitoring", "autoRenew": True}, timeout=30)
r.raise_for_status()
print(r.json())// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/residential/subscriptions/res_9x2m4k`, {
method: 'PATCH',
headers: { Authorization: `Bearer ${process.env.API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ label: 'Price monitoring', autoRenew: true }),
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());Ƙirƙiri sabon kalmar sirrin proxy ga babban mai amfani
POST/v1/residential/subscriptions/{subscriptionId}/reset-password
Tsohon kalmar sirri zai daina aiki a ƙofar haɗi cikin daƙiƙa 60.
Authentication: API madaidaiciya a cikin Authorization: Bearer API_KEY taken.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
subscriptionId | path | string | I | — |
Amsa 200 OK
{
"id": "res_9x2m4k",
"productId": "residential",
"label": "Residential #1",
"planId": "res-10",
"status": "active",
"trafficTotalBytes": 10000000000,
"trafficUsedBytes": 2350000000,
"trafficRemainingBytes": 7650000000,
"expiresAt": null,
"autoRenew": false,
"username": "u7k2m9",
"password": "PASSWORD",
"endpoint": {
"host": "gw.africaproxies.com",
"httpPort": 7777,
"socksPort": 7778
},
"subUserCount": 1,
"createdAt": "2026-10-05T14:03:11Z"
}Misalan lambobin kwamfuta
curl -s -X POST "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k/reset-password" \
-H "Authorization: Bearer $API_KEY"import os
import requests
API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}
r = requests.post(f"{API}/residential/subscriptions/res_9x2m4k/reset-password", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/residential/subscriptions/res_9x2m4k/reset-password`, {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());Amfani da traffic na rana
GET/v1/residential/subscriptions/{subscriptionId}/usage
Authentication: API madaidaiciya a cikin Authorization: Bearer API_KEY taken.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
subscriptionId | path | string | I | — |
from | query | string (date) | A'a | Ranar farko (UTC), har da ita. Tsohon saiti = kwanaki 29 kafin to. |
to | query | string (date) | A'a | Ranar ƙarshe (UTC), har da ita. Tsohon saiti = yau. Iyakar zangon kwanaki 366. |
subUserId | query | string | A'a | Keɓance ga ƙaramin mai amfani ɗaya. |
Amsa 200 OK
{
"from": "2026-10-04",
"to": "2026-10-05",
"totalBytes": 2350000000,
"totalRequests": 48210,
"points": [
{
"date": "2026-10-04",
"bytes": 1200000000,
"requests": 24800
},
{
"date": "2026-10-05",
"bytes": 1150000000,
"requests": 23410
}
],
"byCountry": [
{
"country": "AE",
"bytes": 2350000000
}
]
}Misalan lambobin kwamfuta
curl -s "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k/usage" \
-H "Authorization: Bearer $API_KEY"import os
import requests
API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}
r = requests.get(f"{API}/residential/subscriptions/res_9x2m4k/usage", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/residential/subscriptions/res_9x2m4k/usage`, {
headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());Jera ƙananan masu amfani (bayanan shiga proxy dabam da iyakar traffic nasu)
GET/v1/residential/subscriptions/{subscriptionId}/sub-users
Authentication: API madaidaiciya a cikin Authorization: Bearer API_KEY taken.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
subscriptionId | path | string | I | — |
Amsa 200 OK
{
"data": [
{
"id": "sub_3m9qk2",
"label": "Client A",
"username": "u7k2m9_scraper",
"password": "PASSWORD",
"trafficLimitBytes": 5000000000,
"trafficUsedBytes": 1200000000,
"enabled": true,
"createdAt": "2026-10-05T14:03:11Z"
}
],
"limit": 50
}Misalan lambobin kwamfuta
curl -s "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k/sub-users" \
-H "Authorization: Bearer $API_KEY"import os
import requests
API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}
r = requests.get(f"{API}/residential/subscriptions/res_9x2m4k/sub-users", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/residential/subscriptions/res_9x2m4k/sub-users`, {
headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());Ƙirƙiri ƙaramin mai amfani
POST/v1/residential/subscriptions/{subscriptionId}/sub-users
Authentication: API madaidaiciya a cikin Authorization: Bearer API_KEY taken.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
subscriptionId | path | string | I | — |
Sashin buƙata
| Fasali | Nau'i | Abin bukata | Bayani |
|---|---|---|---|
label | string | I | iyakar haruffa 60 |
password | string | A'a | Ana ƙirƙira idan ba a bayar ba. — iyakar haruffa 64 |
trafficLimitBytes | integer (int64), nullable | A'a | ≥ 0 |
{
"label": "Scraper EU",
"trafficLimitBytes": 5000000000
}Amsa 201 Created
{
"id": "sub_3m9qk2",
"label": "Client A",
"username": "u7k2m9_scraper",
"password": "PASSWORD",
"trafficLimitBytes": 5000000000,
"trafficUsedBytes": 1200000000,
"enabled": true,
"createdAt": "2026-10-05T14:03:11Z"
}Misalan lambobin kwamfuta
curl -s -X POST "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k/sub-users" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"label":"Scraper EU","trafficLimitBytes":5000000000}'import os
import requests
API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}
r = requests.post(f"{API}/residential/subscriptions/res_9x2m4k/sub-users", headers=HEADERS, json={"label": "Scraper EU", "trafficLimitBytes": 5000000000}, timeout=30)
r.raise_for_status()
print(r.json())// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/residential/subscriptions/res_9x2m4k/sub-users`, {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ label: 'Scraper EU', trafficLimitBytes: 5000000000 }),
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());Sabunta ƙaramin mai amfani (lakabi, iyaka, kunna/kashe, sabon kalmar sirri)
PATCH/v1/residential/subscriptions/{subscriptionId}/sub-users/{subUserId}
Authentication: API madaidaiciya a cikin Authorization: Bearer API_KEY taken.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
subscriptionId | path | string | I | — |
subUserId | path | string | I | — |
Sashin buƙata
| Fasali | Nau'i | Abin bukata | Bayani |
|---|---|---|---|
label | string | A'a | iyakar haruffa 60 |
trafficLimitBytes | integer (int64), nullable | A'a | ≥ 0 |
enabled | boolean | A'a | — |
regeneratePassword | boolean | A'a | — |
{
"enabled": false
}Amsa 200 OK
{
"id": "sub_3m9qk2",
"label": "Client A",
"username": "u7k2m9_scraper",
"password": "PASSWORD",
"trafficLimitBytes": 5000000000,
"trafficUsedBytes": 1200000000,
"enabled": true,
"createdAt": "2026-10-05T14:03:11Z"
}Misalan lambobin kwamfuta
curl -s -X PATCH "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k/sub-users/sub_3m9qk2" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"enabled":false}'import os
import requests
API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}
r = requests.patch(f"{API}/residential/subscriptions/res_9x2m4k/sub-users/sub_3m9qk2", headers=HEADERS, json={"enabled": False}, timeout=30)
r.raise_for_status()
print(r.json())// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/residential/subscriptions/res_9x2m4k/sub-users/sub_3m9qk2`, {
method: 'PATCH',
headers: { Authorization: `Bearer ${process.env.API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ enabled: false }),
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());Goge ƙaramin mai amfani
DELETE/v1/residential/subscriptions/{subscriptionId}/sub-users/{subUserId}
Authentication: API madaidaiciya a cikin Authorization: Bearer API_KEY taken.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
subscriptionId | path | string | I | — |
subUserId | path | string | I | — |
Amsa 204 No Content
Babu jiki: lambar yanayi ita ce amsa.
Misalan lambobin kwamfuta
curl -s -X DELETE "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k/sub-users/sub_3m9qk2" \
-H "Authorization: Bearer $API_KEY"import os
import requests
API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}
r = requests.delete(f"{API}/residential/subscriptions/res_9x2m4k/sub-users/sub_3m9qk2", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.status_code) # 204: done// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/residential/subscriptions/res_9x2m4k/sub-users/sub_3m9qk2`, {
method: 'DELETE',
headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(res.status); // 204: doneƘasashen da samfur yake samuwa
GET/v1/catalog/countries
Baiwa: ba a buƙatar mabuɗin API.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
product | query | string | A'a | Keɓance ga wuraren da wannan samfur yake samuwa (residential, mobile, mobile-gb). |
Amsa 200 OK
{
"data": [
{
"code": "AE",
"name": "United Arab Emirates",
"region": "Asia",
"products": [
"residential",
"mobile",
"mobile-gb"
],
"cities": 6,
"asns": 2,
"carriers": 2
}
]
}Misalan lambobin kwamfuta
curl -s "https://africaproxies.com/api/v1/catalog/countries"import os
import requests
API = "https://africaproxies.com/api/v1"
r = requests.get(f"{API}/catalog/countries", timeout=30)
r.raise_for_status()
print(r.json())// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/catalog/countries`);
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());Biranen da za a iya zaɓa a ƙasa
GET/v1/catalog/countries/{countryCode}/cities
Da product=mobile ko product=mobile-gb, biranen da modem 4G/5G yake kawai.
Baiwa: ba a buƙatar mabuɗin API.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
countryCode | path | string | I | ISO 3166-1 alpha-2, manyan haruffa. |
product | query | string | A'a | Keɓance ga wuraren da wannan samfur yake samuwa (residential, mobile, mobile-gb). |
Amsa 200 OK
{
"data": [
{
"id": "dubai",
"name": "Dubai",
"state": null
}
]
}Misalan lambobin kwamfuta
curl -s "https://africaproxies.com/api/v1/catalog/countries/AE/cities"import os
import requests
API = "https://africaproxies.com/api/v1"
r = requests.get(f"{API}/catalog/countries/AE/cities", timeout=30)
r.raise_for_status()
print(r.json())// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/catalog/countries/AE/cities`);
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());Masu samar da intanet (ASN) da za a zaɓa a ƙasa — na gida kawai
GET/v1/catalog/countries/{countryCode}/asns
Baiwa: ba a buƙatar mabuɗin API.
Ma'aunin aiki
| Suna | A cikin | Nau'i | Abin bukata | Bayani |
|---|---|---|---|---|
countryCode | path | string | I | ISO 3166-1 alpha-2, manyan haruffa. |
Amsa 200 OK
{
"data": [
{
"asn": 7922,
"name": "Comcast Cable"
}
]
}Misalan lambobin kwamfuta
curl -s "https://africaproxies.com/api/v1/catalog/countries/AE/asns"import os
import requests
API = "https://africaproxies.com/api/v1"
r = requests.get(f"{API}/catalog/countries/AE/asns", timeout=30)
r.raise_for_status()
print(r.json())// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';
const res = await fetch(`${API}/catalog/countries/AE/asns`);
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());