Download OpenAPI specification:
Official API for MobileProxy.Space — private mobile proxies on real GSM devices across 52 countries, 240 cities, and 223 carriers.
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.
Some endpoints support the Accept-Language header (en or ru) to return localized names for countries, cities, etc.
"Too many lonely requests. Timeout 5 second""Too many requests per second". Example: 10 proxies → 30 req/s, 100 proxies → 300 req/s.changeip.mobileproxy.space): no rate limit.Find out what IP address your proxy is currently issuing. Optionally check if the IP is in spam databases via IPGuardian.net.
| proxy_id required | string Example: proxy_id=12345 Proxy ID. For multiple proxies, separate with commas: |
| check_spam | string Value: "true" Set to |
{- "status": "ok",
- "proxy_id": {
- "12345": "95.153.42.174"
}, - "ipguardian.net": {
- "found": true,
- "sources": [
- "string"
]
}
}Get a list of your active purchased proxies with all details including connection credentials, expiration, GEO, and operator info.
| proxy_id | string Filter by specific proxy ID(s). Comma-separated for multiple: |
{- "status": "ok",
- "list": [
- {
- "proxy_id": 0,
- "proxy_exp": "string",
- "proxy_login": "string",
- "proxy_pass": "string",
- "proxy_hostname": "string",
- "proxy_host_ip": "string",
- "proxy_independent_http_hostname": "string",
- "proxy_independent_http_host_ip": "string",
- "proxy_independent_socks5_hostname": "string",
- "proxy_independent_socks5_host_ip": "string",
- "proxy_independent_port": 0,
- "proxy_http_port": 0,
- "proxy_socks5_port": 0,
- "proxy_operator": "string",
- "proxy_geo": "string",
- "proxy_auto_renewal": 0,
- "proxy_change_ip_url": "string",
- "proxy_reboot_time": 0,
- "proxy_ipauth": "string",
- "proxy_groups_name": "string",
- "proxy_auto_change_equipment": 0,
- "eid": 0,
- "geoid": 0,
- "id_country": 0,
- "proxy_self": "string",
- "proxy_testing": "string",
- "proxy_comment": "string"
}
]
}Change the login and password for one or more proxies. If not specified, credentials are auto-generated.
| proxy_id required | string Proxy ID (comma-separated for multiple: |
| 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. |
{- "status": "ok",
- "proxy_id": [
- 0
], - "proxy_login": "string",
- "proxy_pass": "string"
}Change settings for one or more existing proxies — IP rotation timer, IP-based auth, auto-renewal, auto equipment change, and comments.
| proxy_id required | string Proxy ID (comma-separated for multiple: |
| proxy_reboot_time | integer Example: proxy_reboot_time=15 IP change timer in minutes. Send |
| 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 |
| proxy_auto_renewal | integer Enum: 0 1 Auto-renewal: |
| proxy_auto_change_equipment | integer Enum: 0 1 2 3 4 Auto equipment change scope: |
| proxy_comment | string <= 255 characters Text comment (max 255 chars) |
{- "status": "ok",
- "proxy_id": [
- 0
], - "message": "string"
}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.
| 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: |
| 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) |
{- "status": "ok",
- "code": 200,
- "new_ip": "95.153.42.175",
- "rt": "string",
- "message": "string",
- "proxy_id": 0
}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.
| proxy_id required | string Proxy ID (comma-separated for multiple: |
| operator | string Operator name (from |
| geoid | integer GEO ID (from |
| id_country | integer Country ID (from |
| id_city | integer City ID (from |
| eid | integer Specific equipment ID |
| add_to_black_list | integer Enum: 0 1 Add current equipment to blacklist before switching. |
| check_after_change | string Value: "true" Set to |
| check_spam | string Value: "true" Set to |
{- "status": "ok",
- "message": {
- "property1": "string",
- "property2": "string"
}, - "error": {
- "property1": "string",
- "property2": "string"
}, - "checked": {
- "property1": "string",
- "property2": "string"
}, - "ipguardian.net": { }
}Get available equipment grouped by GEO and operator, with count of free ports.
| 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 |
{- "status": "ok",
- "geo_operator_list": [
- {
- "geoid": 0,
- "geo_caption": "string",
- "id_city": 0,
- "id_country": 0,
- "count_free": {
- "property1": 0,
- "property2": 0
}
}
]
}Get list of available GEOs with free port counts. Optionally filter by proxy for GEO-switching options.
| proxy_id | integer If specified, shows GEOs you can switch this proxy to |
| geoid | string GEO ID(s) to filter. Comma-separated for multiple: |
[- {
- "geoid": 0,
- "geo_caption": "string",
- "ISO": "string",
- "count_free": 0
}
]Get list of mobile operators, optionally filtered by GEO with free port counts.
| geoid | string GEO ID(s). Comma-separated for multiple: |
[- {
- "operator": "string",
- "id_country": 0,
- "count_free": 0
}
]Get list of all countries. Supports Accept-Language header (en or ru).
| only_avaliable | integer Value: 1 If set to |
| Accept-Language | string Default: ru Enum: "en" "ru" |
{- "status": "ok",
- "id_country": [
- {
- "id_country": 0,
- "name": "string",
- "iso": "string"
}
]
}Get list of all cities. Supports Accept-Language header (en or ru).
| Accept-Language | string Default: ru Enum: "en" "ru" |
{- "status": "ok",
- "id_city": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}Get the blacklist of equipment and operators for a proxy.
| proxy_id required | string Proxy ID (comma-separated for multiple: |
{- "status": "ok",
- "black_list_equipment": [
- {
- "black_list_id": 0,
- "eid": 0,
- "proxy_id": 0,
- "operator_id": 0,
- "geoid": 0
}
], - "black_list_operators": [
- {
- "operator_black_list_id": 0,
- "proxy_id": 0,
- "operator_id": 0,
- "operator_name": "string",
- "id_country": 0
}
]
}Unblock an operator. If no parameters specified, clears the entire operator blacklist.
| proxy_id | string Proxy ID (comma-separated for multiple) |
| operator_id | integer |
{- "status": "ok"
}Remove equipment from blacklist. If no parameters specified, clears the entire equipment blacklist.
| proxy_id | string Proxy ID (comma-separated for multiple) |
| black_list_id | integer Blacklist entry ID |
| eid | integer Equipment ID |
{- "status": "ok"
}Purchase a new proxy or extend an existing one. Use amount_only=true to get the price without actually buying.
| id_country required | integer Country ID (from |
| 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 |
| geoid | integer |
| id_city | integer |
| coupons_code | string Discount coupon code |
| auto_renewal | integer Default: 1 Enum: 0 1 Auto-renewal: |
| proxy_id | string Extend existing proxy ID(s). Comma-separated for multiple. |
| amount_only | string Value: "true" If |
{- "status": "ok",
- "proxy_id": [
- 0
], - "amount": 0.1,
- "message": "string",
- "proxy_data": [
- {
- "proxy_id": 0,
- "proxy_exp": "string",
- "proxy_login": "string",
- "proxy_pass": "string",
- "proxy_hostname": "string",
- "proxy_host_ip": "string",
- "proxy_independent_http_hostname": "string",
- "proxy_independent_http_host_ip": "string",
- "proxy_independent_socks5_hostname": "string",
- "proxy_independent_socks5_host_ip": "string",
- "proxy_independent_port": 0,
- "proxy_http_port": 0,
- "proxy_socks5_port": 0,
- "proxy_operator": "string",
- "proxy_geo": "string",
- "proxy_auto_renewal": 0,
- "proxy_change_ip_url": "string",
- "proxy_reboot_time": 0,
- "proxy_ipauth": "string",
- "proxy_groups_name": "string",
- "proxy_auto_change_equipment": 0,
- "eid": 0,
- "geoid": 0,
- "id_country": 0,
- "proxy_self": "string",
- "proxy_testing": "string",
- "proxy_comment": "string"
}
]
}Get proxy prices for specific countries. Supports Accept-Language header and currency parameter.
| id_country required | string Country ID(s). Comma-separated for multiple: |
| currency | string Default: "rub" Enum: "usd" "rub" Currency: |
| Accept-Language | string Enum: "en" "ru" |
{- "status": "ok",
- "price": [
- {
- "id_country": 0,
- "iso": "string",
- "amount": 0,
- "country_name": "string",
- "period": 0
}
]
}Get the history of balance transactions (payments, purchases, refunds).
| start | integer Default: 0 Offset for pagination. Default: 0 |
| length | integer Default: 50 Number of records to return. Default: 50 |
{- "status": "ok",
- "history": [
- { }
]
}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.
| url required | string URL to fetch |
| id_country | string Country ID(s), comma-separated. Omit for all countries. |
{- "status": "ok",
- "message": "string",
- "tasks_id": 0,
- "task_check_url": "string",
- "approximate_end_time": "string"
}Get the result of an async task. If tasks_id is omitted, returns all user tasks.
| tasks_id | integer Task ID (from |
{- "status": "ok",
- "tasks": [
- {
- "tasks_id": 0,
- "tasks_start_time": "string",
- "tasks_end_time": "string",
- "tasks_status": 0,
- "tasks_result": { }
}
]
}Check if specific equipment (modem) is occupied or available for rent.
| eid required | string Equipment ID(s). Comma-separated for multiple: |
{- "status": "ok",
- "eid": {
- "123": 1,
- "456": 0
}
}