GOW Data API · v1
우주 데이터 API 계약 고객 전용
GOW(gow.kr)가 매일 축적하는 위성·발사·재진입·우주기상·소행성·천체 데이터를 API 키 하나로 조회합니다. 응답은 JSON 또는 CSV, 모든 데이터셋에 기간·조건 필터와 페이지 처리가 공통으로 적용됩니다.
📩 서비스 신청·문의 /v1/catalog — 축적 현황 보기
소개
기본 주소는 https://api.gow.kr/v1/ 이며, 모든 요청은 HTTPS·GET 입니다. 데이터는 GOW 서버가 공개·공식 출처(NASA/JPL, NOAA, CelesTrak, Space-Track, Launch Library 등)에서 수집해 표준화·시계열화한 것으로, 원본을 그대로 중계하지 않고 GOW가 일별로 누적한 기록을 제공합니다. 축적량과 기간은 /v1/catalog에서 실시간으로 확인할 수 있습니다.
인증
계약 후 발급된 API 키를 HTTP 헤더로 보냅니다. 보안을 위해 쿼리스트링(?api_key=)은 받지 않습니다. 키는 발급 시 한 번만 표시되며 서버에는 해시만 저장되므로, 분실하면 재발급해야 합니다.
Authorization: Bearer gow_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# 또는
X-API-Key: gow_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
키 정보와 오늘 사용량은 GET /v1/me 로 확인합니다. 키별로 허용 IP를 지정할 수 있고(서버 간 통신 권장), 키는 브라우저 코드에 넣지 마세요.
플랜과 한도
금액은 계약 범위(데이터군·기간·호출량)에 따라 견적으로 안내합니다. 모든 플랜은 세금계산서 발행이 가능하며, 자회사·제휴사는 별도 조건이 적용됩니다.
Trial 14일 무료
- 일 500회 · 분당 30회
- 요청당 최대 1,000행
- 최근 30일 데이터
- 전체 데이터군
Basic
- 일 5,000회 · 분당 60회
- 요청당 최대 5,000행
- 최근 1년 데이터
- 데이터군 선택
Pro
- 일 50,000회 · 분당 300회
- 요청당 최대 20,000행
- 전체 기간
- 전체 데이터군 · CSV 대량 추출
Enterprise
- 호출 무제한 (분당 1,000회)
- 요청당 최대 50,000행
- 전체 기간 · 맞춤 데이터셋
- SLA·전용 지원·계약 조건 협의
한도 초과 시 429가 반환되고 응답 헤더 X-RateLimit-Remaining, X-Quota-Remaining으로 남은 횟수를 알 수 있습니다. 일일 한도는 매일 00:00 UTC(09:00 KST)에 초기화됩니다.
공통 파라미터 · 응답 형식
| 파라미터 | 설명 | 기본 |
|---|---|---|
from, to | 기간 (YYYY-MM-DD, 양끝 포함). 데이터셋마다 기준 컬럼이 다릅니다 (아래 표 참조) | 전체 (플랜 제한 내) |
limit, offset | 페이지 처리. limit 은 플랜의 요청당 최대 행수로 제한 | 1000, 0 |
order | 기준 날짜 정렬 asc | desc | desc |
format | json | csv (CSV는 UTF-8 BOM 포함, 엑셀에서 바로 열림) | json |
{
"dataset": "neo/sentry", "title": "충돌 위험 소행성 일별 스냅샷",
"count": 2, "limit": 1000, "offset": 0, "order": "desc", "from": "2026-09-01", "to": null,
"source": "NASA/JPL CNEOS Sentry 기반 GOW 일별 누적",
"license": "GOW 데이터 이용약관에 따름 — 계약 범위 내 이용, 제3자 재판매 금지",
"generated": "2026-09-09T12:00:00.000Z",
"rows": [ { "des": "2024 YR4", "day": "2026-09-09", "ip": 0.0, "ts_max": 0, ... } ]
}
데이터셋
모든 경로는 /v1/ 뒤에 붙입니다. "기준 컬럼"은 from/to 와 order 가 적용되는 날짜입니다. 데이터군은 키에 부여된 범위(products)에 따라 접근이 제한될 수 있습니다.
🛰️ 위성 · 발사 · 재진입 satellites tle
| 경로 | 내용 | 기준 컬럼 | 필터 |
|---|---|---|---|
| satellites/snapshots | 국가·운영사·고도대별 활성 위성 수 일별 시계열 | day | kind=summary|country|operator|shell, bucket |
| satellites/reentries | 대기권 재진입 예측·확정 물체 대장 | first_seen | norad, reentered=0|1, country |
| satellites/launches | 궤도 발사 이력 (발사사·상태) | net | provider, status |
| satellites/tle-history | 관심 물체 TLE 이력 (기동 탐지용) — 데이터군 tle | epoch | norad (필수) |
☀️ 우주기상 spaceweather
| 경로 | 내용 | 기준 컬럼 | 필터 |
|---|---|---|---|
| spaceweather/log | NOAA R/S/G 척도·Kp·태양풍·Bt/Bz·F10.7 — 20분 간격 | ts | step=raw|hourly|daily (집계: 평균·최대) |
| spaceweather/anomalies | 지자기 폭풍·고속 태양풍·전파장애·행성 충/합·신규 국가/운영사 등 특이점 | ts | body, kind, severity=info|warn|severe |
☄️ 소행성 neo
| 경로 | 내용 | 기준 컬럼 | 필터 |
|---|---|---|---|
| neo/sentry | JPL Sentry 감시 대상의 누적 충돌 확률·팔레르모·토리노 척도 일별 기록 (확률 변화 추적) | day | des, min_ip, min_ts, latest=1 |
| neo/fireballs | 대기권 진입 화구: 시각·위치·고도·속도·에너지(kt) | event_time | min_kt |
| neo/discoveries | 신규 발견 근지구 소행성 (크기·MOID·PHA 여부) | first_obs | pha=0|1, orbit_class |
| neo/close-approaches | 근지구 소행성 접근 이력 (거리·속도·크기) | cad_time | designation, max_ld |
🔭 천체 astro
| 경로 | 내용 | 기준 컬럼 | 필터 |
|---|---|---|---|
| astro/daily | 행성·달·해의 적경/적위·거리·등급·이각·조명율 일별 | day | body |
| astro/events | 식·유성우·충·근접 등 천문 이벤트 이력 | event_time | kind |
| astro/planets | 태양 활동·화성 날씨·행성 거리/이각 일별 지표 | day | body, metric |
예제 코드
curl
# 최근 2주 소행성 충돌 위험 스냅샷 중 토리노 1 이상
curl -H "Authorization: Bearer $GOW_KEY" \
"https://api.gow.kr/v1/neo/sentry?from=2026-08-26&min_ts=1"
# 우주기상 일별 집계를 CSV 로 저장
curl -H "X-API-Key: $GOW_KEY" -o spaceweather.csv \
"https://api.gow.kr/v1/spaceweather/log?from=2026-01-01&step=daily&format=csv"
Python
import os, requests
H = {"Authorization": f"Bearer {os.environ['GOW_KEY']}"}
r = requests.get("https://api.gow.kr/v1/satellites/snapshots",
params={"kind": "country", "bucket": "KR", "from": "2026-01-01", "order": "asc"}, headers=H, timeout=30)
r.raise_for_status()
for row in r.json()["rows"]:
print(row["day"], row["count"])
Node.js
const res = await fetch('https://api.gow.kr/v1/neo/fireballs?min_kt=1&limit=100', {
headers: { Authorization: `Bearer ${process.env.GOW_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error.message);
const { rows } = await res.json();
전체 기간을 내려받을 때는 limit=플랜 최대치, offset을 늘려가며 반복하세요. count가 limit보다 작으면 마지막 페이지입니다.
오류 코드
| HTTP | code | 의미 |
|---|---|---|
| 400 | bad_request | 파라미터 형식 오류 (메시지에 원인) |
| 401 | unauthorized | 키 없음·잘못된 키 |
| 403 | key_expired · key_revoked · customer_suspended · ip_not_allowed · product_not_allowed | 계약 범위 밖 (연장·범위 변경 문의) |
| 404 | not_found | 없는 데이터셋 — /v1/catalog 참조 |
| 429 | rate_limited · quota_exceeded | 분당/일일 한도 초과 (Retry-After 참조) |
| 503 | no_db | 일시 장애 — 잠시 후 재시도 |
오류 본문은 항상 { "error": { "code", "message" } } 형식입니다.
출처 · 이용 조건
제공 데이터는 계약 범위 내에서 이용할 수 있으며 제3자 재판매·재배포는 금지됩니다(Enterprise 재판매 조건은 별도 협의). 외부 공개 시 "출처: GOW(gow.kr)" 표기를 부탁드립니다. 원 출처는 각 응답의 source 필드와 X-Data-Source 헤더에 표시됩니다: NASA/JPL CNEOS(Sentry·Fireball·CAD·SBDB), NOAA SWPC, CelesTrak, Space-Track, Launch Library 2, GOW 자체 계산(astronomy-engine). 밤하늘·은하 지도의 별·천체 카탈로그(HYG, Stellarium)는 오픈 라이선스 조건상 API 판매 대상에서 제외됩니다.
신청 · 문의
서비스 신청은 gow.kr 데이터 서비스 페이지의 문의하기로 접수됩니다(이메일 인증). 상담 후 계약이 확정되면 API 키를 발급해 드리고, 고객 콘솔(api.gow.kr/console)에서 키와 사용량을 확인할 수 있습니다. 이메일 contact@spacew.net · 고객센터 1833-9770