Babu KYC — babu katin shaida, selfie ko takardu
Harshe: Hausa
Zaɓi 1 GB

Bayanin API

Proxy na gida da bayanan shiga

Sarrafa biyan traffic (na gida da 4G/5G mai sauyawa bisa GB): bayanan shiga proxy, ƙananan masu amfani masu bayanan shiga da iyakar traffic nasu, amfani na rana da wuraren da za ka zaɓa a sunan mai amfani na proxy.

An sabunta ƙarshe: · 11 mintuna na karatu

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 gida
  • PATCH /v1/residential/subscriptions/{subscriptionId}: Sauya suna ko kunna/kashe sabuntawa ta atomatik
  • POST /v1/residential/subscriptions/{subscriptionId}/reset-password: Ƙirƙiri sabon kalmar sirrin proxy ga babban mai amfani
  • GET /v1/residential/subscriptions/{subscriptionId}/usage: Amfani da traffic na rana
  • GET /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 amfani
  • PATCH /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 amfani
  • GET /v1/catalog/countries: Ƙasashen da samfur yake samuwa
  • GET /v1/catalog/countries/{countryCode}/cities: Biranen da za a iya zaɓa a ƙasa
  • GET /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

SunaA cikinNau'iAbin bukataBayani
productIdqueryresidential · mobile-gbA'aWannan 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
curl -s "https://africaproxies.com/api/v1/residential/subscriptions" \
  -H "Authorization: Bearer $API_KEY"
Python
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
// 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

SunaA cikinNau'iAbin bukataBayani
subscriptionIdpathstringI—

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
curl -s "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k" \
  -H "Authorization: Bearer $API_KEY"
Python
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
// 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

SunaA cikinNau'iAbin bukataBayani
subscriptionIdpathstringI—

Sashin buƙata

FasaliNau'iAbin bukataBayani
labelstringA'aiyakar haruffa 60
autoRenewbooleanA'a—
Misali
{
  "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
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}'
Python
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
// 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

SunaA cikinNau'iAbin bukataBayani
subscriptionIdpathstringI—

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
curl -s -X POST "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k/reset-password" \
  -H "Authorization: Bearer $API_KEY"
Python
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
// 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

SunaA cikinNau'iAbin bukataBayani
subscriptionIdpathstringI—
fromquerystring (date)A'aRanar farko (UTC), har da ita. Tsohon saiti = kwanaki 29 kafin to.
toquerystring (date)A'aRanar ƙarshe (UTC), har da ita. Tsohon saiti = yau. Iyakar zangon kwanaki 366.
subUserIdquerystringA'aKeɓ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
curl -s "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k/usage" \
  -H "Authorization: Bearer $API_KEY"
Python
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
// 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

SunaA cikinNau'iAbin bukataBayani
subscriptionIdpathstringI—

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
curl -s "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k/sub-users" \
  -H "Authorization: Bearer $API_KEY"
Python
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
// 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

SunaA cikinNau'iAbin bukataBayani
subscriptionIdpathstringI—

Sashin buƙata

FasaliNau'iAbin bukataBayani
labelstringIiyakar haruffa 60
passwordstringA'aAna ƙirƙira idan ba a bayar ba. — iyakar haruffa 64
trafficLimitBytesinteger (int64), nullableA'a≥ 0
Misali
{
  "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
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}'
Python
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
// 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

SunaA cikinNau'iAbin bukataBayani
subscriptionIdpathstringI—
subUserIdpathstringI—

Sashin buƙata

FasaliNau'iAbin bukataBayani
labelstringA'aiyakar haruffa 60
trafficLimitBytesinteger (int64), nullableA'a≥ 0
enabledbooleanA'a—
regeneratePasswordbooleanA'a—
Misali
{
  "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
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}'
Python
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
// 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

SunaA cikinNau'iAbin bukataBayani
subscriptionIdpathstringI—
subUserIdpathstringI—

Amsa 204 No Content

Babu jiki: lambar yanayi ita ce amsa.

Misalan lambobin kwamfuta

curl
curl -s -X DELETE "https://africaproxies.com/api/v1/residential/subscriptions/res_9x2m4k/sub-users/sub_3m9qk2" \
  -H "Authorization: Bearer $API_KEY"
Python
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
// 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

SunaA cikinNau'iAbin bukataBayani
productquerystringA'aKeɓ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
curl -s "https://africaproxies.com/api/v1/catalog/countries"
Python
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
// 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

SunaA cikinNau'iAbin bukataBayani
countryCodepathstringIISO 3166-1 alpha-2, manyan haruffa.
productquerystringA'aKeɓ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
curl -s "https://africaproxies.com/api/v1/catalog/countries/AE/cities"
Python
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
// 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

SunaA cikinNau'iAbin bukataBayani
countryCodepathstringIISO 3166-1 alpha-2, manyan haruffa.

Amsa 200 OK

{
  "data": [
    {
      "asn": 7922,
      "name": "Comcast Cable"
    }
  ]
}

Misalan lambobin kwamfuta

curl
curl -s "https://africaproxies.com/api/v1/catalog/countries/AE/asns"
Python
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
// 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());

1 GB $ 1.23 · Saka kuɗi a asusu daga $ 25

Zaɓi 1 GB