Sem KYC — sem documento de identidade, selfie ou documentos. Pagar com cripto.
Idioma: Português
Escolha 1 GB

Referência da API

Portas móveis e rotação de IP

Portas dedicadas 4G/5G: altere o IP agora ou programe a troca, use o link de rotação e consulte o tráfego diário.

8 min de leitura

Endpoints nesta página

  • GET /v1/mobile: Listar portas móveis
  • GET /v1/mobile/{portId}: Consultar uma porta móvel
  • PATCH /v1/mobile/{portId}: Renomear, ativar ou desativar a renovação automática ou configurar a rotação automática
  • POST /v1/mobile/{portId}/rotate: Alterar o IP agora
  • GET /v1/mobile/{portId}/rotate: Link de rotação (GET com a chave da API na string de consulta)
  • POST /v1/mobile/{portId}/reset-password: Gerar uma nova senha de proxy para a porta
  • GET /v1/mobile/{portId}/usage: Tráfego diário pela porta (informativo: dados ilimitados, sujeito ao uso justo)
  • GET /v1/catalog/countries/{countryCode}/carriers: Operadoras móveis com portas 4G/5G disponíveis em um país

URL base https://localserpproxy.com/api/v1. Autenticação, erros e limites: consulte a visão geral da API.

Listar portas móveis

GET/v1/mobile

Autenticação: chave da API no cabeçalho Authorization: Bearer API_KEY.

Resposta 200 OK

{
  "data": [
    {
      "id": "mob_2v8k1q",
      "label": "US Verizon #1",
      "status": "active",
      "country": "US",
      "city": null,
      "carrier": "verizon",
      "carrierName": "Verizon",
      "networkType": "4G",
      "currentIp": "203.0.113.201",
      "ipChangedAt": "2026-10-05T14:03:11Z",
      "endpoint": {
        "host": "gw.localserpproxy.com",
        "httpPort": 7777,
        "socksPort": 7778
      },
      "username": "USERNAME",
      "password": "PASSWORD",
      "rotation": {
        "mode": "interval",
        "intervalMinutes": 10
      },
      "minRotationIntervalSeconds": 30,
      "rotationLink": "https://localserpproxy.com/api/v1/mobile/mob_2v8k1q/rotate?key=API_KEY",
      "planId": "mob-us-30d",
      "autoRenew": false,
      "createdAt": "2026-10-05T14:03:11Z",
      "expiresAt": "2026-11-04T14:03:11Z"
    }
  ]
}

Exemplos de código

curl
curl -s "https://localserpproxy.com/api/v1/mobile" \
  -H "Authorization: Bearer $API_KEY"
Python
import os
import requests

API = "https://localserpproxy.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.get(f"{API}/mobile", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())
Node.js
// Node.js 18+ (built-in fetch), ES module
const API = 'https://localserpproxy.com/api/v1';

const res = await fetch(`${API}/mobile`, {
  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());

Obter uma porta móvel

GET/v1/mobile/{portId}

Autenticação: chave da API no cabeçalho Authorization: Bearer API_KEY.

Parâmetros

NomeEmTipoObrigatórioDescrição
portIdpathstringSim—

Resposta 200 OK

{
  "id": "mob_2v8k1q",
  "label": "US Verizon #1",
  "status": "active",
  "country": "US",
  "city": null,
  "carrier": "verizon",
  "carrierName": "Verizon",
  "networkType": "4G",
  "currentIp": "203.0.113.201",
  "ipChangedAt": "2026-10-05T14:03:11Z",
  "endpoint": {
    "host": "gw.localserpproxy.com",
    "httpPort": 7777,
    "socksPort": 7778
  },
  "username": "USERNAME",
  "password": "PASSWORD",
  "rotation": {
    "mode": "interval",
    "intervalMinutes": 10
  },
  "minRotationIntervalSeconds": 30,
  "rotationLink": "https://localserpproxy.com/api/v1/mobile/mob_2v8k1q/rotate?key=API_KEY",
  "planId": "mob-us-30d",
  "autoRenew": false,
  "createdAt": "2026-10-05T14:03:11Z",
  "expiresAt": "2026-11-04T14:03:11Z"
}

Exemplos de código

curl
curl -s "https://localserpproxy.com/api/v1/mobile/mob_2v8k1q" \
  -H "Authorization: Bearer $API_KEY"
Python
import os
import requests

API = "https://localserpproxy.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.get(f"{API}/mobile/mob_2v8k1q", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())
Node.js
// Node.js 18+ (built-in fetch), ES module
const API = 'https://localserpproxy.com/api/v1';

const res = await fetch(`${API}/mobile/mob_2v8k1q`, {
  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());

Renomear, ativar ou desativar a renovação automática ou configurar a rotação automática

PATCH/v1/mobile/{portId}

Renomeie a porta, ative ou desative a renovação automática ou defina um intervalo de rotação automática, de 2 minutos a 24 horas: "rotation": { "mode": "interval", "intervalMinutes": 10 } (2–1440 minutos); "mode": "manual" desativa a rotação automática. Caso contrário, sua porta mantém o IP até você fazer a rotação, embora a operadora possa alterá-lo por conta própria de vez em quando.

Autenticação: chave da API no cabeçalho Authorization: Bearer API_KEY.

Parâmetros

NomeEmTipoObrigatórioDescrição
portIdpathstringSim—

Corpo da solicitação

CampoTipoObrigatórioDescrição
labelstringNãomáx. 60 caracteres
autoRenewbooleanNão—
rotationobjectNãoIntervalo de rotação automática: { "mode": "interval", "intervalMinutes": 2–1440 } (de 2 minutos a 24 horas) ou { "mode": "manual", "intervalMinutes": null } para fazer a rotação somente quando solicitado.
Exemplo: Rotação automática
{
  "rotation": {
    "mode": "interval",
    "intervalMinutes": 10
  }
}
Exemplo: Manual
{
  "rotation": {
    "mode": "manual",
    "intervalMinutes": null
  }
}

Resposta 200 OK

{
  "id": "mob_2v8k1q",
  "label": "US Verizon #1",
  "status": "active",
  "country": "US",
  "city": null,
  "carrier": "verizon",
  "carrierName": "Verizon",
  "networkType": "4G",
  "currentIp": "203.0.113.201",
  "ipChangedAt": "2026-10-05T14:03:11Z",
  "endpoint": {
    "host": "gw.localserpproxy.com",
    "httpPort": 7777,
    "socksPort": 7778
  },
  "username": "USERNAME",
  "password": "PASSWORD",
  "rotation": {
    "mode": "interval",
    "intervalMinutes": 10
  },
  "minRotationIntervalSeconds": 30,
  "rotationLink": "https://localserpproxy.com/api/v1/mobile/mob_2v8k1q/rotate?key=API_KEY",
  "planId": "mob-us-30d",
  "autoRenew": false,
  "createdAt": "2026-10-05T14:03:11Z",
  "expiresAt": "2026-11-04T14:03:11Z"
}

Exemplos de código

curl
curl -s -X PATCH "https://localserpproxy.com/api/v1/mobile/mob_2v8k1q" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"rotation":{"mode":"interval","intervalMinutes":10}}'
Python
import os
import requests

API = "https://localserpproxy.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.patch(f"{API}/mobile/mob_2v8k1q", headers=HEADERS, json={"rotation": {"mode": "interval", "intervalMinutes": 10}}, timeout=30)
r.raise_for_status()
print(r.json())
Node.js
// Node.js 18+ (built-in fetch), ES module
const API = 'https://localserpproxy.com/api/v1';

const res = await fetch(`${API}/mobile/mob_2v8k1q`, {
  method: 'PATCH',
  headers: { Authorization: `Bearer ${process.env.API_KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({ rotation: { mode: 'interval', intervalMinutes: 10 } }),
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());

Alterar o IP agora

POST/v1/mobile/{portId}/rotate

Cada rotação reconecta sua porta à operadora para obter um novo IP e geralmente leva de 5 a 15 segundos; ocasionalmente, a operadora pode atribuir o mesmo IP novamente: basta fazer a rotação outra vez. No máximo uma vez a cada 30 segundos por porta (minRotationIntervalSeconds): se a rotação for solicitada antes desse intervalo, será retornado 429 rotation_too_soon com Retry-After (segundos restantes para aguardar).

Autenticação: chave da API no cabeçalho Authorization: Bearer API_KEY.

Parâmetros

NomeEmTipoObrigatórioDescrição
portIdpathstringSim—

Resposta 200 OK

{
  "ip": "203.0.113.201",
  "previousIp": "203.0.113.77",
  "rotatedAt": "2026-10-05T14:03:11Z",
  "nextRotationAvailableAt": "2026-10-05T14:03:41Z"
}

Exemplos de código

curl
curl -s -X POST "https://localserpproxy.com/api/v1/mobile/mob_2v8k1q/rotate" \
  -H "Authorization: Bearer $API_KEY"
Python
import os
import requests

API = "https://localserpproxy.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.post(f"{API}/mobile/mob_2v8k1q/rotate", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())
Node.js
// Node.js 18+ (built-in fetch), ES module
const API = 'https://localserpproxy.com/api/v1';

const res = await fetch(`${API}/mobile/mob_2v8k1q/rotate`, {
  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());

GET/v1/mobile/{portId}/rotate

Igual a POST, para scripts e favoritos: GET https://localserpproxy.com/api/v1/mobile/{portId}/rotate?key=API_KEY. A chave precisa ter o escopo proxies. format=text retorna o novo IP como text/plain.

Autenticação: chave da API no parâmetro de consulta key (escopo proxies), para que o link funcione a partir de um favorito.

Parâmetros

NomeEmTipoObrigatórioDescrição
keyquerystringSimSua chave da API (escopo proxies).
portIdpathstringSim—
formatqueryjson · textNãopadrão json

Resposta 200 OK

{
  "ip": "203.0.113.201",
  "previousIp": "203.0.113.77",
  "rotatedAt": "2026-10-05T14:03:11Z",
  "nextRotationAvailableAt": "2026-10-05T14:03:41Z"
}

Exemplos de código

Gerar uma nova senha de proxy para a porta

POST/v1/mobile/{portId}/reset-password

Autenticação: chave da API no cabeçalho Authorization: Bearer API_KEY.

Parâmetros

NomeEmTipoObrigatórioDescrição
portIdpathstringSim—

Resposta 200 OK

{
  "id": "mob_2v8k1q",
  "label": "US Verizon #1",
  "status": "active",
  "country": "US",
  "city": null,
  "carrier": "verizon",
  "carrierName": "Verizon",
  "networkType": "4G",
  "currentIp": "203.0.113.201",
  "ipChangedAt": "2026-10-05T14:03:11Z",
  "endpoint": {
    "host": "gw.localserpproxy.com",
    "httpPort": 7777,
    "socksPort": 7778
  },
  "username": "USERNAME",
  "password": "PASSWORD",
  "rotation": {
    "mode": "interval",
    "intervalMinutes": 10
  },
  "minRotationIntervalSeconds": 30,
  "rotationLink": "https://localserpproxy.com/api/v1/mobile/mob_2v8k1q/rotate?key=API_KEY",
  "planId": "mob-us-30d",
  "autoRenew": false,
  "createdAt": "2026-10-05T14:03:11Z",
  "expiresAt": "2026-11-04T14:03:11Z"
}

Exemplos de código

curl
curl -s -X POST "https://localserpproxy.com/api/v1/mobile/mob_2v8k1q/reset-password" \
  -H "Authorization: Bearer $API_KEY"
Python
import os
import requests

API = "https://localserpproxy.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.post(f"{API}/mobile/mob_2v8k1q/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://localserpproxy.com/api/v1';

const res = await fetch(`${API}/mobile/mob_2v8k1q/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());

Tráfego diário pela porta (apenas para informação: dados ilimitados, sujeito ao uso justo)

GET/v1/mobile/{portId}/usage

Apenas para informação. Dados ilimitados na sua porta dedicada, sujeito ao uso justo: a operadora pode reduzir a velocidade ou pausar o serviço em caso de uso muito intenso.

Autenticação: chave da API no cabeçalho Authorization: Bearer API_KEY.

Parâmetros

NomeEmTipoObrigatórioDescrição
portIdpathstringSim—
fromquerystring (date)NãoPrimeiro dia (UTC), inclusive. Padrão = 29 dias antes de to.
toquerystring (date)NãoÚltimo dia (UTC), inclusive. Padrão = hoje. Intervalo máximo de 366 dias.

Resposta 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": "US",
      "bytes": 2350000000
    }
  ]
}

Exemplos de código

curl
curl -s "https://localserpproxy.com/api/v1/mobile/mob_2v8k1q/usage" \
  -H "Authorization: Bearer $API_KEY"
Python
import os
import requests

API = "https://localserpproxy.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.get(f"{API}/mobile/mob_2v8k1q/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://localserpproxy.com/api/v1';

const res = await fetch(`${API}/mobile/mob_2v8k1q/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());

Operadoras móveis com portas 4G/5G disponíveis em um país

GET/v1/catalog/countries/{countryCode}/carriers

Público: não é necessária uma chave da API.

Parâmetros

NomeEmTipoObrigatórioDescrição
countryCodepathstringSimISO 3166-1 alpha-2, em letras maiúsculas.

Resposta 200 OK

{
  "data": [
    {
      "id": "verizon",
      "name": "Verizon",
      "networkTypes": [
        "4G",
        "5G"
      ],
      "available": true,
      "cities": []
    }
  ]
}

Exemplos de código

curl
curl -s "https://localserpproxy.com/api/v1/catalog/countries/US/carriers"
Python
import os
import requests

API = "https://localserpproxy.com/api/v1"

r = requests.get(f"{API}/catalog/countries/US/carriers", timeout=30)
r.raise_for_status()
print(r.json())
Node.js
// Node.js 18+ (built-in fetch), ES module
const API = 'https://localserpproxy.com/api/v1';

const res = await fetch(`${API}/catalog/countries/US/carriers`);
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());

1 GB US$ 1,50 · sem KYC

Ver preços