KYC 없이 — 신분증, 셀카, 서류가 필요하지 않습니다. 암호화폐로 결제하세요.
언어: 한국어
1 GB 선택

API 레퍼런스

모바일 포트 및 IP 로테이션

전용 4G/5G 포트: 지금 또는 예약한 시간에 IP를 변경하고, 로테이션 링크를 사용해 일일 트래픽을 확인하세요.

7 분 읽기

이 페이지의 엔드포인트

  • GET /v1/mobile: 모바일 포트 목록
  • GET /v1/mobile/{portId}: 모바일 포트 조회
  • PATCH /v1/mobile/{portId}: 이름 변경, 자동 갱신 설정 또는 자동 로테이션 구성
  • POST /v1/mobile/{portId}/rotate: 지금 IP 변경
  • GET /v1/mobile/{portId}/rotate: 로테이션 링크 (쿼리 문자열에 API 키를 포함한 GET 요청)
  • POST /v1/mobile/{portId}/reset-password: 포트의 새 프록시 비밀번호 생성
  • GET /v1/mobile/{portId}/usage: 포트를 통한 일일 트래픽 (참고: 데이터 무제한, 공정 사용 정책 적용)
  • GET /v1/catalog/countries/{countryCode}/carriers: 국가별 4G/5G 포트 이용 가능 모바일 통신사

기본 URL https://localserpproxy.com/api/v1. 인증, 오류 및 제한 사항은 API 개요를 참조하세요.

모바일 포트 목록

GET/v1/mobile

인증: Authorization: Bearer API_KEY 헤더에 API 키를 입력합니다.

응답 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"
    }
  ]
}

코드 예시

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());

모바일 포트 받기

GET/v1/mobile/{portId}

인증: Authorization: Bearer API_KEY 헤더에 API 키를 입력합니다.

매개변수

이름위치유형필수설명
portIdpathstring예—

응답 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"
}

코드 예시

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());

이름 변경, 자동 갱신 켜기/끄기 또는 자동 IP 변경 설정

PATCH/v1/mobile/{portId}

포트 이름을 변경하고, 자동 갱신을 켜거나 끄거나, 2분마다부터 24시간마다까지 자동 IP 변경 간격을 설정하세요: "rotation": { "mode": "interval", "intervalMinutes": 10 } (2~1440분). "mode": "manual"은 기능을 끕니다. 설정하지 않으면 IP를 직접 변경할 때까지 포트가 현재 IP를 유지하지만, 통신사가 때때로 자체적으로 IP를 변경할 수 있습니다.

인증: Authorization: Bearer API_KEY 헤더에 API 키를 입력합니다.

매개변수

이름위치유형필수설명
portIdpathstring예—

요청 본문

필드유형필수설명
labelstring아니요최대 60자
autoRenewboolean아니요—
rotationobject아니요자동 IP 변경 간격: { "mode": "interval", "intervalMinutes": 2–1440 } (2분마다부터 24시간마다까지), 또는 필요할 때만 IP를 변경하려면 { "mode": "manual", "intervalMinutes": null }.
예시: 자동 IP 변경
{
  "rotation": {
    "mode": "interval",
    "intervalMinutes": 10
  }
}
예시: 수동
{
  "rotation": {
    "mode": "manual",
    "intervalMinutes": null
  }
}

응답 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"
}

코드 예시

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());

지금 IP 변경

POST/v1/mobile/{portId}/rotate

IP를 변경할 때마다 포트가 통신사에 다시 연결되어 새 IP를 받으며, 보통 5~15초가 걸립니다. 통신사가 가끔 같은 IP를 다시 할당할 수 있습니다. 이 경우 다시 IP를 변경하세요. 포트별로 30초에 최대 1회까지 가능합니다(minRotationIntervalSeconds). 너무 빨리 요청하면 429 rotation_too_soon이 반환되며, Retry-After초 기다려야 합니다.

인증: Authorization: Bearer API_KEY 헤더에 API 키를 입력합니다.

매개변수

이름위치유형필수설명
portIdpathstring예—

응답 200 OK

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

코드 예시

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

POST과 동일하며, 스크립트와 북마크에서 사용할 수 있습니다: GET https://localserpproxy.com/api/v1/mobile/{portId}/rotate?key=API_KEY. 키에 proxies 범위가 필요합니다. format=text은 새 IP를 text/plain로 반환합니다.

인증: key 쿼리 매개변수(범위 proxies)에 API 키를 입력합니다. 따라서 북마크에서 링크를 열 수 있습니다.

매개변수

이름위치유형필수설명
keyquerystring예API 키 (범위 proxies).
portIdpathstring예—
formatqueryjson · text아니요기본 json

응답 200 OK

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

코드 예시

포트의 새 프록시 비밀번호 생성

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

인증: Authorization: Bearer API_KEY 헤더에 API 키를 입력합니다.

매개변수

이름위치유형필수설명
portIdpathstring예—

응답 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"
}

코드 예시

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());

포트를 통한 일일 트래픽(참고: 공정 사용 정책에 따라 데이터 무제한)

GET/v1/mobile/{portId}/usage

참고용입니다. 전용 포트에서 공정 사용 정책에 따라 데이터를 무제한으로 사용할 수 있습니다. 사용량이 매우 많으면 통신사가 속도를 낮추거나 일시 중지할 수 있습니다.

인증: Authorization: Bearer API_KEY 헤더에 API 키를 입력합니다.

매개변수

이름위치유형필수설명
portIdpathstring예—
fromquerystring (date)아니요첫째 날(UTC), 해당 날짜 포함. 기본값 = to보다 29일 전.
toquerystring (date)아니요마지막 날(UTC), 해당 날짜 포함. 기본값 = 오늘. 최대 기간 366일.

응답 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
    }
  ]
}

코드 예시

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());

국가별 4G/5G 포트 사용 가능 모바일 통신사

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

공개: API 키가 필요하지 않습니다.

매개변수

이름위치유형필수설명
countryCodepathstring예ISO 3166-1 alpha-2, 대문자.

응답 200 OK

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

코드 예시

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 · KYC 없이

요금 보기