MobileProxy.Space API (1.0.0)

Download OpenAPI specification:

MobileProxy.Space Support: support@mobirox.co.uk URL: https://mobileproxy.space/en/contacts.html License: MIT

Official API for MobileProxy.Space — private mobile proxies on real GSM devices across 52 countries, 240 cities, and 223 carriers.

Authentication

All API requests (except IP rotation) require a Bearer token in the Authorization header:

Authorization: Bearer YOUR_API_TOKEN

Get your token from the Dashboard.

Localization

Some endpoints support the Accept-Language header (en or ru) to return localized names for countries, cities, etc.

Rate Limits

  • Identical requests: no more than once every 5 seconds. Error: "Too many lonely requests. Timeout 5 second"
  • All API methods: max 3 × (number of active proxies) requests per second. Error: "Too many requests per second". Example: 10 proxies → 30 req/s, 100 proxies → 300 req/s.
  • IP rotation (changeip.mobileproxy.space): no rate limit.

SDKs

  • PHP: composer require mobirox/mobileproxy-sdkGitHub | Packagist
  • Node.js: npm install @mobileproxy/sdkGitHub | npm
  • Python: pip install mobileproxy-sdkGitHub | PyPI

Proxy Information

Get current IP, list active proxies, IP statistics

Get proxy IP address

Find out what IP address your proxy is currently issuing. Optionally check if the IP is in spam databases via IPGuardian.net.

Authorizations:
BearerAuth
query Parameters
proxy_id
required
string
Example: proxy_id=12345

Proxy ID. For multiple proxies, separate with commas: 1,2,3,4

check_spam
string
Value: "true"

Set to true to check IP against spam databases (IPGuardian.net)

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "proxy_id": {
    },
  • "ipguardian.net": {
    }
}

Get active proxies

Get a list of your active purchased proxies with all details including connection credentials, expiration, GEO, and operator info.

Authorizations:
BearerAuth
query Parameters
proxy_id
string

Filter by specific proxy ID(s). Comma-separated for multiple: 1,2,3,4. Omit for all.

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "list": [
    ]
}

IP statistics by GEO

Get statistics of mobile proxy IP addresses grouped by GEO.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "ipstat": [
    ]
}

Proxy Management

Change credentials, reboot, edit settings

Change proxy login/password

Change the login and password for one or more proxies. If not specified, credentials are auto-generated.

Authorizations:
BearerAuth
query Parameters
proxy_id
required
string

Proxy ID (comma-separated for multiple: 1,2,3,4)

proxy_login
string

New login (only numbers and Latin letters). Auto-generated if omitted.

proxy_pass
string

New password (only numbers and Latin letters). Auto-generated if omitted.

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "proxy_id": [
    ],
  • "proxy_login": "string",
  • "proxy_pass": "string"
}

Restart proxy

Reboot the modem/equipment assigned to this proxy.

Authorizations:
BearerAuth
query Parameters
proxy_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "message": "string"
}

Edit proxy settings

Change settings for one or more existing proxies — IP rotation timer, IP-based auth, auto-renewal, auto equipment change, and comments.

Authorizations:
BearerAuth
query Parameters
proxy_id
required
string

Proxy ID (comma-separated for multiple: 1,2,3,4)

proxy_reboot_time
integer
Example: proxy_reboot_time=15

IP change timer in minutes. Send 0 to disable.

proxy_ipauth
string
Example: proxy_ipauth=192.168.1.56,168.192.54.1

IP addresses for auth without login/password (comma-separated IPv4). Supports subnets. Send -1 to disable. Example: 192.168.34.76,123.123.212.0/24

proxy_auto_renewal
integer
Enum: 0 1

Auto-renewal: 1 = enabled (default), 0 = disabled

proxy_auto_change_equipment
integer
Enum: 0 1 2 3 4

Auto equipment change scope: 0 = off, 1 = unrestricted, 2 = same country, 3 = same region, 4 = same city

proxy_comment
string <= 255 characters

Text comment (max 255 chars)

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "proxy_id": [
    ],
  • "message": "string"
}

IP Rotation

Change proxy IP address (separate endpoint, no rate limit)

Change proxy IP address

Rotate the proxy IP address. No rate limit on this endpoint.

Does not require Authorization header — only the proxy key and a valid User-Agent.

The proxy key is found in your dashboard: My Proxies → Change IP column.

query Parameters
proxy_key
required
string <= 32 characters
Example: proxy_key=abcdegghijklmnopqrstuvwxyz123456

Proxy key (varchar(32)), found in the Change IP link under My Proxies

format
string
Default: "json"
Enum: "json" "0"

Response format: json for JSON, 0 for plain text

header Parameters
User-Agent
required
string
Example: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36

Must be a real browser User-Agent (not a bot)

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "code": 200,
  • "new_ip": "95.153.42.175",
  • "rt": "string",
  • "message": "string",
  • "proxy_id": 0
}

Equipment & GEO

Change equipment, list GEOs, operators, countries, cities

Change equipment

Switch the modem/SIM card assigned to a proxy. Optionally filter by operator, GEO, country, city, or specific equipment ID. Can add current equipment to blacklist.

Authorizations:
BearerAuth
query Parameters
proxy_id
required
string

Proxy ID (comma-separated for multiple: 1,2,3,4)

operator
string

Operator name (from get_operators_list)

geoid
integer

GEO ID (from get_geo_list)

id_country
integer

Country ID (from get_id_country)

id_city
integer

City ID (from get_id_city)

eid
integer

Specific equipment ID

add_to_black_list
integer
Enum: 0 1

Add current equipment to blacklist before switching. 1 = yes, 0 = no

check_after_change
string
Value: "true"

Set to true to get the new IP address in the response

check_spam
string
Value: "true"

Set to true to check new IP against spam databases (IPGuardian.net)

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "message": {
    },
  • "error": {
    },
  • "checked": {
    },
  • "ipguardian.net": { }
}

Get available equipment by GEO

Get available equipment grouped by GEO and operator, with count of free ports.

Authorizations:
BearerAuth
query Parameters
proxy_id
integer

If specified, shows servers you can switch this proxy's GEO to

equipments_back_list
integer

If present, excludes equipment from the blacklist

operators_back_list
integer

If present, excludes operators from the blacklist

show_count_null
integer
Enum: 0 1

Show items with 0 available count. Default: false

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "geo_operator_list": [
    ]
}

Get available GEOs

Get list of available GEOs with free port counts. Optionally filter by proxy for GEO-switching options.

Authorizations:
BearerAuth
query Parameters
proxy_id
integer

If specified, shows GEOs you can switch this proxy to

geoid
string

GEO ID(s) to filter. Comma-separated for multiple: 1,2,3,4

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get operators

Get list of mobile operators, optionally filtered by GEO with free port counts.

Authorizations:
BearerAuth
query Parameters
geoid
string

GEO ID(s). Comma-separated for multiple: 1,2,3,4

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get countries

Get list of all countries. Supports Accept-Language header (en or ru).

Authorizations:
BearerAuth
query Parameters
only_avaliable
integer
Value: 1

If set to 1, returns only countries with available equipment and their counts

header Parameters
Accept-Language
string
Default: ru
Enum: "en" "ru"

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "id_country": [
    ]
}

Get cities

Get list of all cities. Supports Accept-Language header (en or ru).

Authorizations:
BearerAuth
header Parameters
Accept-Language
string
Default: ru
Enum: "en" "ru"

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "id_city": {
    }
}

Blacklist

Manage equipment and operator blacklists

Get blacklist

Get the blacklist of equipment and operators for a proxy.

Authorizations:
BearerAuth
query Parameters
proxy_id
required
string

Proxy ID (comma-separated for multiple: 1,2,3,4)

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "black_list_equipment": [
    ],
  • "black_list_operators": [
    ]
}

Add operator to blacklist

Block a specific operator for a proxy.

Authorizations:
BearerAuth
query Parameters
proxy_id
required
integer
operator_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "status": "ok"
}

Remove operator from blacklist

Unblock an operator. If no parameters specified, clears the entire operator blacklist.

Authorizations:
BearerAuth
query Parameters
proxy_id
string

Proxy ID (comma-separated for multiple)

operator_id
integer

Responses

Response samples

Content type
application/json
{
  • "status": "ok"
}

Remove equipment from blacklist

Remove equipment from blacklist. If no parameters specified, clears the entire equipment blacklist.

Authorizations:
BearerAuth
query Parameters
proxy_id
string

Proxy ID (comma-separated for multiple)

black_list_id
integer

Blacklist entry ID

eid
integer

Equipment ID

Responses

Response samples

Content type
application/json
{
  • "status": "ok"
}

Purchasing & Billing

Buy proxies, refunds, balance, prices, test proxies, transaction history

Purchase or extend proxy

Purchase a new proxy or extend an existing one. Use amount_only=true to get the price without actually buying.

Authorizations:
BearerAuth
query Parameters
id_country
required
integer

Country ID (from get_id_country)

period
integer
Default: 30
Enum: 1 7 30 90 365

Rental period in days. Default: 30

num
integer
Default: 1

Number of proxies to purchase. Default: 1

operator
string

Preferred operator (from get_operators_list)

geoid
integer
id_city
integer
coupons_code
string

Discount coupon code

auto_renewal
integer
Default: 1
Enum: 0 1

Auto-renewal: 1 = on (default), 0 = off

proxy_id
string

Extend existing proxy ID(s). Comma-separated for multiple.

amount_only
string
Value: "true"

If true, returns the price without purchasing

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "proxy_id": [
    ],
  • "amount": 0.1,
  • "message": "string",
  • "proxy_data": [
    ]
}

Refund proxy

Request a refund for a proxy.

Authorizations:
BearerAuth
query Parameters
proxy_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "status": "ok"
}

Get account balance

Get your current account balance.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "balance": 1500.5
}

Get prices

Get proxy prices for specific countries. Supports Accept-Language header and currency parameter.

Authorizations:
BearerAuth
query Parameters
id_country
required
string

Country ID(s). Comma-separated for multiple: 1,2,3,4

currency
string
Default: "rub"
Enum: "usd" "rub"

Currency: usd or rub (default: rub)

header Parameters
Accept-Language
string
Enum: "en" "ru"

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "price": [
    ]
}

Get free test proxy

Get a free 2-hour trial proxy for testing.

Authorizations:
BearerAuth
query Parameters
geoid
required
integer
operator
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "ok"
}

Get transaction history

Get the history of balance transactions (payments, purchases, refunds).

Authorizations:
BearerAuth
query Parameters
start
integer
Default: 0

Offset for pagination. Default: 0

length
integer
Default: 50

Number of records to return. Default: 50

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "history": [
    ]
}

Utilities

Anti-cloaking, equipment check, async tasks

View URL from different IPs

Anti-cloaking tool — fetch a URL's content using IP addresses from different countries. Creates an async task. Use getTaskResult to retrieve the results after approximate_end_time. If id_country is omitted, the page is fetched from all available countries.

Authorizations:
BearerAuth
Request Body schema: application/x-www-form-urlencoded
required
url
required
string

URL to fetch

id_country
string

Country ID(s), comma-separated. Omit for all countries.

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "message": "string",
  • "tasks_id": 0,
  • "task_check_url": "string",
  • "approximate_end_time": "string"
}

Get task result

Get the result of an async task. If tasks_id is omitted, returns all user tasks.

Authorizations:
BearerAuth
query Parameters
tasks_id
integer

Task ID (from see_the_url_from_different_IPs). Omit to get all tasks.

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "tasks": [
    ]
}

Check equipment availability

Check if specific equipment (modem) is occupied or available for rent.

Authorizations:
BearerAuth
query Parameters
eid
required
string

Equipment ID(s). Comma-separated for multiple: 1,2,3,4

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "eid": {
    }
}