Vituo vya maombi kwenye ukurasa huu
GET /v1/residential/subscriptions: Orodhesha usajili wa data (za makazi na za simu zenye anwani zinazobadilika kwa GB)GET /v1/residential/subscriptions/{subscriptionId}: Pata usajili wa proxy za makaziPATCH /v1/residential/subscriptions/{subscriptionId}: Badili jina au wezesha/zima kuongeza muda kiotomatikiPOST /v1/residential/subscriptions/{subscriptionId}/reset-password: Tengeneza nenosiri jipya la proxy kwa mtumiaji mkuuGET /v1/residential/subscriptions/{subscriptionId}/usage: Matumizi ya data ya kila sikuGET /v1/residential/subscriptions/{subscriptionId}/sub-users: Orodhesha watumiaji wadogo (vitambulisho tofauti vya proxy na kikomo chao cha data)POST /v1/residential/subscriptions/{subscriptionId}/sub-users: Unda mtumiaji mdogoPATCH /v1/residential/subscriptions/{subscriptionId}/sub-users/{subUserId}: Sasisha mtumiaji mdogo (jina, kikomo, kuwezesha/kuzima, nenosiri jipya)DELETE /v1/residential/subscriptions/{subscriptionId}/sub-users/{subUserId}: Futa mtumiaji mdogoGET /v1/catalog/countries: Nchi ambako bidhaa inapatikanaGET /v1/catalog/countries/{countryCode}/cities: Miji inayoweza kuchaguliwa katika nchiGET /v1/catalog/countries/{countryCode}/asns: Watoa huduma za intaneti (ASN) wanaoweza kuchaguliwa katika nchi — proxy za makazi tu
URL ya msingi https://africaproxies.com/api/v1. Uthibitishaji, hitilafu na vikomo: angalia muhtasari wa API.
Vipindi vya anwani ileile
Ongeza -session-{id}-ttl-{minutes} kwenye jina la mtumiaji la proxy ili kuweka IP ileile: {id} ni herufi au tarakimu 1–32 unazochagua, na ttl ni dakika 1–30. IP inaweza kubadilika mapema, kwa mfano kifaa kinachoitumia kikitoka mtandaoni.
Orodhesha usajili wa data (za makazi na za simu zenye anwani zinazobadilika kwa GB)
GET/v1/residential/subscriptions
Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
productId | query | residential · mobile-gb | Hapana | Bidhaa hii tu (ikiwa haipo: zote mbili). |
Jibu 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"
}
]
}Mifano ya kodi
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());Pata usajili wa proxy za makazi
GET/v1/residential/subscriptions/{subscriptionId}
Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
subscriptionId | path | string | Ndiyo | — |
Jibu 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"
}Mifano ya kodi
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());Badili jina au wezesha/zima kuongeza muda kiotomatiki
PATCH/v1/residential/subscriptions/{subscriptionId}
Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
subscriptionId | path | string | Ndiyo | — |
Mwili wa ombi
| Uwanja | Aina | Inahitajika | Maelezo |
|---|---|---|---|
label | string | Hapana | herufi zisizozidi 60 |
autoRenew | boolean | Hapana | — |
{
"label": "Price monitoring",
"autoRenew": true
}Jibu 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"
}Mifano ya kodi
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());Tengeneza nenosiri jipya la proxy kwa mtumiaji mkuu
POST/v1/residential/subscriptions/{subscriptionId}/reset-password
Nenosiri la zamani huacha kufanya kazi kwenye lango ndani ya sekunde 60.
Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
subscriptionId | path | string | Ndiyo | — |
Jibu 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"
}Mifano ya kodi
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());Matumizi ya data ya kila siku
GET/v1/residential/subscriptions/{subscriptionId}/usage
Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
subscriptionId | path | string | Ndiyo | — |
from | query | string (date) | Hapana | Siku ya kwanza (UTC), ikijumuishwa. Chaguo-msingi = siku 29 kabla ya to. |
to | query | string (date) | Hapana | Siku ya mwisho (UTC), ikijumuishwa. Chaguo-msingi = leo. Muda usiozidi siku 366. |
subUserId | query | string | Hapana | Zuia kwa mtumiaji mdogo mmoja. |
Jibu 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
}
]
}Mifano ya kodi
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());Orodhesha watumiaji wadogo (vitambulisho tofauti vya proxy na kikomo chao cha data)
GET/v1/residential/subscriptions/{subscriptionId}/sub-users
Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
subscriptionId | path | string | Ndiyo | — |
Jibu 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
}Mifano ya kodi
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());Unda mtumiaji mdogo
POST/v1/residential/subscriptions/{subscriptionId}/sub-users
Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
subscriptionId | path | string | Ndiyo | — |
Mwili wa ombi
| Uwanja | Aina | Inahitajika | Maelezo |
|---|---|---|---|
label | string | Ndiyo | herufi zisizozidi 60 |
password | string | Hapana | Inatengenezwa ikiwa haijatolewa. — herufi zisizozidi 64 |
trafficLimitBytes | integer (int64), nullable | Hapana | ≥ 0 |
{
"label": "Scraper EU",
"trafficLimitBytes": 5000000000
}Jibu 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"
}Mifano ya kodi
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());Sasisha mtumiaji mdogo (jina, kikomo, kuwezesha/kuzima, nenosiri jipya)
PATCH/v1/residential/subscriptions/{subscriptionId}/sub-users/{subUserId}
Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
subscriptionId | path | string | Ndiyo | — |
subUserId | path | string | Ndiyo | — |
Mwili wa ombi
| Uwanja | Aina | Inahitajika | Maelezo |
|---|---|---|---|
label | string | Hapana | herufi zisizozidi 60 |
trafficLimitBytes | integer (int64), nullable | Hapana | ≥ 0 |
enabled | boolean | Hapana | — |
regeneratePassword | boolean | Hapana | — |
{
"enabled": false
}Jibu 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"
}Mifano ya kodi
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());Futa mtumiaji mdogo
DELETE/v1/residential/subscriptions/{subscriptionId}/sub-users/{subUserId}
Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
subscriptionId | path | string | Ndiyo | — |
subUserId | path | string | Ndiyo | — |
Jibu 204 No Content
Hakuna mwili: nambari ya hali ndiyo jibu.
Mifano ya kodi
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: doneNchi ambako bidhaa inapatikana
GET/v1/catalog/countries
Umma: hakuna API inahitajika.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
product | query | string | Hapana | Zuia kwa maeneo ambako bidhaa hii inapatikana (residential, mobile, mobile-gb). |
Jibu 200 OK
{
"data": [
{
"code": "AE",
"name": "United Arab Emirates",
"region": "Asia",
"products": [
"residential",
"mobile",
"mobile-gb"
],
"cities": 6,
"asns": 2,
"carriers": 2
}
]
}Mifano ya kodi
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());Miji inayoweza kuchaguliwa katika nchi
GET/v1/catalog/countries/{countryCode}/cities
Kwa product=mobile au product=mobile-gb, ni miji yenye modemu za 4G/5G tu.
Umma: hakuna API inahitajika.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
countryCode | path | string | Ndiyo | ISO 3166-1 alpha-2, herufi kubwa. |
product | query | string | Hapana | Zuia kwa maeneo ambako bidhaa hii inapatikana (residential, mobile, mobile-gb). |
Jibu 200 OK
{
"data": [
{
"id": "dubai",
"name": "Dubai",
"state": null
}
]
}Mifano ya kodi
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());Watoa huduma za intaneti (ASN) wanaoweza kuchaguliwa katika nchi — proxy za makazi tu
GET/v1/catalog/countries/{countryCode}/asns
Umma: hakuna API inahitajika.
Parameta
| Jina | Katika | Aina | Inahitajika | Maelezo |
|---|---|---|---|---|
countryCode | path | string | Ndiyo | ISO 3166-1 alpha-2, herufi kubwa. |
Jibu 200 OK
{
"data": [
{
"asn": 7922,
"name": "Comcast Cable"
}
]
}Mifano ya kodi
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());