로그인

API DOCUMENTATION

몇 분 안에 연결하는 IP API

대시보드에서 토큰을 만든 뒤 Authorization 헤더에 Bearer 토큰을 전달하세요.

토큰 기반 인증

원본 토큰은 생성 직후 한 번만 표시하며 서버에는 SHA-256 해시만 저장합니다.

명확한 제한

Free는 일일 1,000회, Premium은 일일 100,000회 요청을 제공합니다.

일관된 응답

모든 JSON 응답은 success, data, message 구조를 따릅니다.

IP 또는 AS번호 직접 조회

경로 끝에 조회 대상을 넣으면 접속자의 IP가 아닌 지정한 공인 IP 또는 AS번호를 조회할 수 있습니다. 이 엔드포인트도 Bearer 토큰이 반드시 필요합니다.

  • IPv4 예시: /api/ip/8.8.8.8
  • IPv6 예시: /api/ip/2001:4860:4860::8888
  • AS번호 예시: /api/ip/AS13335 또는 /api/ip/13335

IP

curl -i "https://ip.mlkc.kr/api/ip/8.8.8.8" \
  -H "Authorization: Bearer mlkc_live_YOUR_TOKEN"

ASN

curl -i "https://ip.mlkc.kr/api/ip/AS13335" \
  -H "Authorization: Bearer mlkc_live_YOUR_TOKEN"
{
  "success": true,
  "data": {
    "query": "AS13335",
    "type": "asn",
    "asn": "AS13335",
    "number": 13335,
    "organization": "Cloudflare, Inc.",
    "active": true,
    "rir": "ARIN",
    "prefixes": {
      "ipv4": ["1.0.0.0/24"],
      "ipv6": ["2606:4700::/32"]
    }
  }
}

언어별 사용 예제

환경 변수 MLKC_API_TOKEN에 발급받은 토큰을 저장한 뒤, 실행 인수로 IP 또는 AS번호를 전달하세요. 인수를 생략하면 예제는 8.8.8.8을 조회합니다.

Python

Python 3.9+ · requests

lookup.py
import os
import sys
from urllib.parse import quote

import requests

token = os.environ["MLKC_API_TOKEN"]
target = sys.argv[1] if len(sys.argv) > 1 else "8.8.8.8"
url = f"https://ip.mlkc.kr/api/ip/{quote(target, safe='')}"

response = requests.get(
    url,
    headers={"Authorization": f"Bearer {token}"},
    timeout=10,
)
response.raise_for_status()
print(response.json()["data"])

빠른 시작

사용 중인 운영체제의 명령을 위에서부터 순서대로 실행하면 curl 설치, 서버 연결, 토큰 인증을 빠르게 확인할 수 있습니다.

인증 요청 전 대시보드에서 API 토큰을 생성하고, 명령의 mlkc_live_YOUR_TOKEN을 발급받은 토큰으로 바꾸세요.

Windows

PowerShell 또는 명령 프롬프트

curl

Windows 10/11에는 보통 curl이 포함되어 있습니다. PowerShell에서는 curl 대신 curl.exe를 사용하세요.

  1. 1. curl 설치 확인

    curl.exe --version
  2. 2. 서버 연결 확인

    curl.exe -i "https://ip.mlkc.kr/api/health"
  3. 3. 토큰 인증 요청

    curl.exe -i "https://ip.mlkc.kr/api/ip" -H "Authorization: Bearer mlkc_live_YOUR_TOKEN"

정상 작동 확인

두 요청 모두 HTTP 200을 반환하고, /api/health의 status가 ok이면 서버 연결이 정상입니다. 이어서 /api/ip의 success가 true이면 토큰 인증까지 완료된 것입니다.

{
  "success": true,
  "data": {
    "ip": "203.0.113.7",
    "version": "IPv4",
    "country": "Republic of Korea",
    "city": "Seoul",
    "isp": "Example ISP",
    "asn": "AS64500",
    "reverseDns": ["example.ptr.invalid"]
  }
}

Premium 보안 분석 응답

Premium 토큰은 응답 필드에서 VPN, 호스팅, 프라이버시, 악성 활동을 각각 선택할 수 있습니다. 선택한 항목만 /api/ip의 security 객체에 포함됩니다. Free 플랜에서는 해당 필드를 선택할 수 없으며, /api/ip/security 호출도 HTTP 403을 반환합니다.

{
  "success": true,
  "data": {
    "ip": "203.0.113.7",
    "security": {
      "available": true,
      "vpn": { "detected": false, "service": null },
      "hosting": { "detected": false, "provider": null, "network": null },
      "privacy": { "detected": false, "proxy": false, "tor": false },
      "abusive": false
    }
  }
}

빠른 문제 해결

  • Windows PowerShell에서 curl 동작이 다르면 curl.exe로 실행하세요.
  • 401 응답이면 YOUR_TOKEN을 실제 발급 토큰으로 바꿨는지 확인하세요.
  • 403 응답이면 토큰에 설정한 허용 IP/CIDR 또는 도메인 제한을 확인하세요.
  • 502 등 5xx 응답이면 curl 문제가 아니라 서버 또는 프록시 상태를 확인하세요.

엔드포인트

GET/api/health서비스 상태 확인용 JSON 반환, 토큰 불필요
GET/api/ipIP, 위치, 네트워크, 역방향 DNS, User-Agent 정보. 토큰별로 반환 필드 선택 가능
GET/api/ip/{IP 또는 AS번호}지정한 공인 IP 또는 AS번호의 정보 조회. Bearer 토큰 필수
GET/api/ip/rawIP 주소만 text/plain으로 반환
GET/api/ip/json구조화된 IP 정보를 JSON으로 반환하며 토큰별 필드 선택 지원
GET/api/geo국가, 지역, 도시, ISP, ASN, 역방향 DNS 정보
GET/api/ip/securityVPN, 호스팅, 프록시, Tor, 프라이버시 정보. Premium 전용
GET/api/user-agent브라우저, OS, 기기 분석 정보

토큰 접근 제한

토큰 생성 시 반환할 API 응답 필드와 허용 도메인, IP/CIDR을 지정할 수 있습니다. Premium 플랜은 VPN, 호스팅, 프라이버시, 악성 활동 필드도 개별 선택할 수 있으며 Free 플랜에서는 선택할 수 없습니다. 도메인 제한이 있으면 Origin 또는 Referer 호스트가 일치해야 하며, IP 제한이 있으면 실제 클라이언트 IP가 허용 목록 또는 CIDR 범위에 포함되어야 합니다. 두 항목을 모두 지정하면 두 조건을 모두 충족해야 합니다.

Origin: https://app.example.com
Authorization: Bearer mlkc_live_YOUR_TOKEN

오류 응답

HTTP/1.1 401 Unauthorized

{
  "success": false,
  "message": "API authentication token is required."
}