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 1sleep 2 권장.


6. Syncle 세션 쿠키로 호출 (브라우저 로그인 후)

먼저 Veacon 에 로그인해서 쿠키 저장:

bash
# (브라우저 대체) cookie.txt 에 veacon_session 저장 후
curl -s -b cookie.txt \
  "$VEACON_BASE/markets/dimensions" \
  | jq

실무에선 서버-to-서버는 X-API-Key 를 쓰세요 — 쿠키는 브라우저 용.


참고