3 endpoints
Account and balance
Read your account settings, your prepaid USD balance and every movement of that balance (top-ups, purchases, refunds).
Developers
Everything you do in your account can be scripted: check the balance, top up in crypto, buy a plan, create proxy credentials, rotate a mobile IP. JSON over HTTPS, one API key, examples in curl, Python and Node.js.
Quick answer
How do I use the MENA Proxies API?
Send HTTPS requests to https://menaproxies.com/api/v1 with your API key in the header Authorization: Bearer API_KEY. Create the key on the developer page of your account (or with POST /v1/api-keys) and give it only the scopes it needs. Requests and responses are JSON; errors always come back as { "error": { "code", "message" } }.
| Base URL | https://menaproxies.com/api/v1 |
|---|---|
| Format | JSON over HTTPS, UTF-8 |
| Authentication | API key: Authorization: Bearer API_KEY |
| API key scopes | read, proxies, billing |
| Money | USD as a string with 2 decimals ("29.00") |
| Crypto amounts | Decimal strings, never floats ("0.00045210") |
| Traffic | Bytes (1 GB = 1,000,000,000 bytes) |
| Dates | ISO 8601 in UTC (2026-10-05T14:03:11Z) |
| Version | /v1 in every path |
Every request except the public catalogue carries an API key: Authorization: Bearer API_KEY. A key is shown in full once, when you create it: store it like a password. Revoke a key at any time; requests made with it then return 401 unauthorized.
Give each key only what your script needs. A key without the required scope gets 403 forbidden.
| Scope | What it allows |
|---|---|
read | read everything (account, balance, services, usage). |
proxies | change proxy settings and credentials (labels, auto-renew, new passwords), manage sub-users, manage the IP allowlist and rotate mobile ports (includes the rotation link). |
billing | create orders and top-ups, pay from the balance. |
The only exception is the mobile rotation link, made to be called from a browser bookmark or a plain curl: GET https://menaproxies.com/api/v1/mobile/PORT_ID/rotate?key=API_KEY (key with the proxies scope). See Mobile ports and IP rotation.
curl -s "https://menaproxies.com/api/v1/balance" \
-H "Authorization: Bearer $API_KEY"Content-Type: application/json with a body.page (from 1) and perPage (1–100, default 20) and return { "data": [...], "pagination": { "page", "perPage", "total", "totalPages" } }. Short lists return { "data": [...] }.ord_ (order), top_ (top-up), txn_ (balance movement), res_ (traffic subscription), mob_ (mobile port), key_ (API key) and ipw_ (IP allowlist entry).POST /v1/orders and POST /v1/topups accept an Idempotency-Key header (any unique string, kept 24 h). Replaying the same key returns the first response instead of buying or topping up twice.Every error has the same body. code is stable and meant for your code; message is an English sentence that may change. Validation errors list each invalid field in fields. New codes may be added: handle unknown codes as a generic failure.
{
"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"
}
}| Status | Meaning |
|---|---|
422 | validation_failed: one or more fields are invalid. |
401 | unauthorized: missing, invalid or expired token. |
402 | insufficient_balance: the balance does not cover the order. details = InsufficientBalanceDetails. |
403 | forbidden: the API key lacks the required scope, or the account is suspended. |
404 | not_found: the resource does not exist or belongs to another account. |
409 | conflict (or a more specific code): the action is not possible in the current state. |
429 | rate_limited or rotation_too_soon. |
Every response carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset. Above the limit the API answers 429 rate_limited with a Retry-After header (seconds): wait that long, then retry. The IP of a mobile port can be changed at most once every 30 seconds (429 rotation_too_soon, with Retry-After).
3 endpoints
Read your account settings, your prepaid USD balance and every movement of that balance (top-ups, purchases, refunds).
5 endpoints
Top up the balance in crypto: get the deposit address and the exact amount, send exactly that amount, report the payment as sent (the transaction ID is optional), then follow the top-up until the balance is credited. The balance pays for any of our plans.
4 endpoints
List the plans and their prices, buy a plan from the balance (new service, more traffic or a port extension) and read your past orders.
12 endpoints
Manage traffic subscriptions (residential and rotating 4G/5G per GB): proxy credentials, sub-users with their own credentials and traffic cap, daily usage and the locations you can target in the proxy username.
8 endpoints
Dedicated 4G/5G ports: change the IP now or on a timer, use the rotation link and read the daily traffic.
6 endpoints
Create and revoke API keys with limited scopes, and manage the IP allowlist: up to 10 source IPs allowed to use the proxies without a username and password.
1 GB $1.88 · no KYC
Get started