curl
터미널에서 바로 Veacon API 호출하는 레시피 모음.
Last updated: 2026-04-23
별도 SDK 설치 없이 curl 한 줄로 모든 엔드포인트를 호출할 수 있습니다.
환경 변수 설정
프로젝트 루트 .env 또는 shell 프로필에:
bash
export VEACON_API_KEY="veacon_pk_live_..."
export VEACON_BASE="https://veacon.io/api/v1"
(이 페이지 이후의 모든 예제는 이 변수를 전제)
1. 가능한 조합 조회
bash
curl -s -H "X-API-Key: $VEACON_API_KEY" \
"$VEACON_BASE/markets/dimensions" \
| jq '.data'
2. Market Pulse (기본)
bash
curl -s -H "X-API-Key: $VEACON_API_KEY" \
"$VEACON_BASE/markets/pulse?region=%EA%B0%95%EB%82%A8%EA%B6%8C&category=office&period=2026-01" \
| jq '.data[0]'
한글 region 값(
강남권)은 URL-encoded 되어야 합니다. bash 에서는jq -rn --arg r '강남권' '$r|@uri'로 생성 가능.
3. 응답 헤더 확인
bash
curl -sI -H "X-API-Key: $VEACON_API_KEY" \
"$VEACON_BASE/markets/dimensions" \
| grep -iE "x-quota|x-ratelimit"
출력 예:
x-quota-limit: 10000
x-quota-used: 4237
x-quota-resets-at: 2026-05-01T00:00:00.000Z
x-ratelimit-limit: 60
x-ratelimit-remaining: 58
4. 에러 처리 스크립트
bash
#!/bin/bash
set -e
RESPONSE=$(curl -s -w "\n%{http_code}" -H "X-API-Key: $VEACON_API_KEY" \
"$VEACON_BASE/markets/pulse?region=%EA%B0%95%EB%82%A8%EA%B6%8C&category=office&period=2026-01")
BODY=$(echo "$RESPONSE" | head -n1)
STATUS=$(echo "$RESPONSE" | tail -n1)
case $STATUS in
200) echo "$BODY" | jq '.data' ;;
402) echo "Quota exceeded. Upgrade plan." ; exit 2 ;;
429)
RETRY=$(echo "$BODY" | jq -r '.error.retry_after_seconds // 5')
echo "Rate limited. Retrying in ${RETRY}s..."
sleep "$RETRY"
exec "$0"
;;
*) echo "Error $STATUS: $BODY" ; exit 1 ;;
esac
5. 여러 기간 일괄 조회 + CSV 저장
bash
echo "period,region,avg_price,median_price,confidence" > pulse.csv
for period in 2026-01 2026-02 2026-03; do
for region in "강남권" "도심권" "서남권"; do
REGION_ENC=$(jq -rn --arg r "$region" '$r|@uri')
ROW=$(curl -s -H "X-API-Key: $VEACON_API_KEY" \
"$VEACON_BASE/markets/pulse?region=${REGION_ENC}&category=office&period=${period}" \
| jq -r --arg p "$period" --arg r "$region" \
'.data[0] | [$p, $r, .avg_price, .median_price, .confidence] | @csv')
[ -n "$ROW" ] && echo "$ROW" >> pulse.csv
sleep 1 # rate limit 보호
done
done
head pulse.csv
이 스크립트는 Pro 플랜 (300/min) 이상에서 안전합니다. Starter (60/min) 는 sleep 1 → sleep 2 권장.
6. Syncle 세션 쿠키로 호출 (브라우저 로그인 후)
먼저 Veacon 에 로그인해서 쿠키 저장:
bash
# (브라우저 대체) cookie.txt 에 veacon_session 저장 후
curl -s -b cookie.txt \
"$VEACON_BASE/markets/dimensions" \
| jq
실무에선 서버-to-서버는 X-API-Key 를 쓰세요 — 쿠키는 브라우저 용.