Watch-IP vs IPinfo
IPinfo와 Watch-IP는 모두 여러 개의 제공된 IP를 한 번의 호출로 해결하는 배치 엔드포인트를 제공하지만, 배치 제한, 응답 형식, 요금이 다릅니다. 아래 정보는 IPinfo 자체 사이트에서 직접 확인한 것이며, 어느 표도 전체적인 승자를 선언하지 않습니다.
이 페이지의 IPinfo 관련 정보는 2026년 9월 8일에 출처에 나열된 페이지에서 직접 확인한 것이며, 예고 없이 변경될 수 있습니다 — 특정 수치에 의존하기 전에 제공업체 자체 사이트를 다시 확인하세요. Watch-IP 관련 정보는 이 저장소의 코드와 현재 /pricing 페이지에서 가져온 것입니다. 오래된 것으로 보이는 내용은 /contact를 통해 알려주세요.
이 페이지가 비교하는 내용
이 페이지는 제공된 IP에 대한 서버 측 조회를 비교합니다 — IPinfo의 코어 API 및 배치 엔드포인트와 Watch-IP의 GET /v1/lookup/{ip} 및 POST /v1/lookup(시크릿 키, 서드파티 지오로케이션 데이터베이스)입니다. Watch-IP의 별도 제품인 브라우저 방문자 지오로케이션(GET /v1/geo, 공개 가능 키, 오리진 제한)은 비교하지 않으며, 이 비교에는 해당 제품이 없습니다.
기능 비교
| Watch-IP | IPinfo | |
|---|---|---|
| 인증 | Authorization: Bearer 헤더를 통한 시크릿 키. | ?token= 쿼리 매개변수를 통한 토큰.IPinfo 배치 보강 API 문서 · 2026-09-08 |
| 무료 요금제 | 조회용 무료 요금제는 없습니다. 요금제는 5,000건 조회에 월 19달러부터 시작합니다. (Watch-IP의 별도 제품인 방문자 지오로케이션에는 브라우저 용도의 자체 무료 요금제가 있지만, 임의 IP 조회용은 아닙니다.) | IPinfo Lite: 월 0달러. 무제한 요청이라고 설명되지만 국가 수준 지오로케이션만 제공하며, 웹 대시보드를 통한 조회는 50건까지입니다.IPinfo 요금 · 2026-09-08 |
| 최저 유료 요금제 | 월 19달러, 월 5,000건 조회, 분당 20요청. | IPinfo Core: 월 26달러, 월 150,000요청; 요금제별 속도 제한은 요금 페이지에 세부적으로 나와 있지 않습니다.IPinfo 요금 · 2026-09-08 |
| 호출당 배치 크기 | POST /v1/lookup 호출당 최대 100개의 IP. | POST /batch 호출당 최대 1,000개의 IP.IPinfo 배치 보강 API 문서 · 2026-09-08 |
| 배치 응답 형식 | 제출된 「ips」 배열과 같은 순서의 「results」 배열. | IP 주소를 키로 하는 JSON 객체; 응답 순서가 유지된다고 문서화되어 있지 않습니다.IPinfo 배치 보강 API 문서 · 2026-09-08 |
| 응답 필드(단일 조회) | ip, country, region(하위 구역 코드), city, postalCode(이 소스에서는 항상 null), latitude, longitude, continent, timezone(이 소스에서는 항상 null), found. | Core 요금제: city, region, region_code, country, country_code, continent, continent_code, latitude, longitude, timezone, postal_code; ASN/조직 필드는 상위 요금제에 대해 별도로 문서화되어 있습니다.IPinfo Core API 지오로케이션 데이터 · 2026-09-08 |
IPinfo에서 마이그레이션하기
아래 각 단계의 실행 가능한 버전은 Watch-IP GitHub 저장소의 examples/migrate-from-ipinfo.mjs에 있습니다 — 두 요청을 모두 실행하고 두 응답을 모두 출력하여 직접 비교할 수 있습니다.
1. 배치 요청 교체하기
토큰은 쿼리 매개변수에서 Authorization 헤더로 이동하며, 요청 본문은 단순 배열에서 「ips」 키를 가진 객체로 바뀝니다.
IPinfo
curl -X POST "https://api.ipinfo.io/batch?token=$IPINFO_TOKEN" \
-H "Content-Type: application/json" \
-d '["203.0.113.1", "2001:db8::1"]'Watch-IP
curl https://api.watch-ip.com/v1/lookup \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"ips": ["203.0.113.1", "2001:db8::1"]}'2. 코드가 IP 키 맵을 기대한다면 다시 구성하기
IPinfo의 배치 응답은 IP로 직접 인덱싱하는 객체입니다. Watch-IP는 대신 순서가 있는 배열을 반환합니다 — 요청의 「ips」 배열과 결합하면 기존 코드가 기대할 수 있는 것과 동일한 IP별 조회 형태를 얻을 수 있습니다.
IPinfo 응답 읽기
const city = data["203.0.113.1"].city;Watch-IP 응답 읽기
const map = Object.fromEntries(ips.map((ip, i) => [ip, results[i]]));
const city = map["203.0.113.1"].city;3. 더 큰 배치 나누기
IPinfo의 1,000개 제한에 가까운 작업은 Watch-IP의 100개 제한에 맞춰 여러 번의 순차 호출로 나누어야 합니다 — 동일한 총 처리량에 대해 약 10배 더 많은 요청을 예상하세요.
IPinfo 호출 1회
await fromIpinfoBatch(thousandIps);Watch-IP 호출 여러 번
for (let i = 0; i < ips.length; i += 100) {
await fromWatchIpBatch(ips.slice(i, i + 100));
}이 마이그레이션의 실행 가능한 버전은 GitHub의 Watch-IP 모노레포에 있는 examples/migrate-from-ipinfo.mjs를 참고하세요.
자주 묻는 질문
왜 Watch-IP의 배치 제한이 IPinfo보다 작은가요?
IPinfo는 배치 호출당 1,000개의 IP 제한을 문서화하고 있지만, Watch-IP는 100개입니다. 작업당 정기적으로 100개 이상의 IP를 배치 처리한다면, 하나의 큰 호출 대신 여러 번의 순차적인 POST /v1/lookup 호출을 계획하세요.
Watch-IP에도 IPinfo Lite와 같은 무료 요금제가 있나요?
2026년 9월 8일 기준으로는 없습니다. IPinfo Lite는 국가 수준의 무제한 요청을 무료로 제공하지만, Watch-IP의 IP 조회 제품에는 무료 요금제가 없습니다. Watch-IP의 별도 제품인 방문자 지오로케이션에는 브라우저 용도의 자체 무료 요금제가 있지만, 이는 임의 IP 조회와는 제품과 키 유형이 다릅니다.
배치 응답에서 결과 순서가 유지되나요?
Watch-IP의 POST /v1/lookup은 항상 제출된 「ips」 배열과 같은 순서로 「results」 배열을 반환합니다. IPinfo의 배치 응답은 순서가 있는 배열이 아니라 IP를 키로 하는 JSON 객체이므로, 둘 중 어느 응답을 읽는 코드든 서로 바꿔 쓸 수 있다고 가정하지 말고 실제 형식에 맞게 작성해야 합니다.
출처
- IPinfo — 요금 — accessed 2026-09-08
- IPinfo — 배치 보강 API — accessed 2026-09-08
- IPinfo — Core API 지오로케이션 데이터 — accessed 2026-09-08