StockX 및 GOAT 재판매 데이터를 스크래핑하여 시장 조사하는 방법

공식 StockX API는 판매자를 위해 설계되었으며 하루에 25,000회 호출로 제한됩니다. 시장 조사를 위해서는 공개 페이지로 이동해야 합니다. 여기 가격 이력, 사이즈 스프레드 및 하이프 신호를 깔끔하게 추출하는 방법이 있습니다.

스니커 재판매는 실제 가격 발견이 있는 실제 시장이며, StockX와 GOAT는 그 중 가장 큰 주문서입니다. 그 시장을 연구하고 싶다면 — 가격 이력을 추적하고, 사이즈 스프레드를 측정하고, 어떤 출시가 뜨거워지고 있는지를 파악하고 싶다면 — 본능적으로 공식 StockX API를 사용하려고 할 것입니다. 그러나 이는 보통 잘못된 도구입니다. StockX 개발자 API는 판매자를 위해 설계되었습니다: OAuth 2.0을 통해 인증하며, 승인 게이트 뒤에 있으며, 목록 및 주문을 관리하고, 24시간 동안 25,000개의 요청으로 제한되며, 초당 1개의 요청으로 제한됩니다. 이를 초과하면 즉시 429 오류가 발생합니다. 이는 판매자에게 자신의 재고를 제공하며, 연구자에게 전체 시장을 제공하지 않습니다. 시장 조사를 위해서는 데이터가 공개 제품 페이지에 있습니다. 이 가이드는 이를 깔끔하게 수집하는 방법을 보여줍니다.

공식 StockX API가 연구에 부적합한 이유

개발자 포털은 그 목적을 명확히 하고 있습니다: 카탈로그 검색, 목록 관리 및 주문 관리. 플랫폼의 판매자조차도 API 액세스 승인을 받는 데 오랜 시간이 걸리고 거절당하는 경우가 많다고 보고합니다. 그리고 비율 제한 — 하루 25,000회 호출, 5분마다 최대 500개의 항목으로 제한된 일괄 작업, 하루 최대 50,000개의 항목 — 은 자신의 상점을 운영하기에는 관대하지만, 수천 개의 스타일을 여러 사이즈와 두 시장에서 조사하기에는 작습니다. 결정적으로, 이는 연구자가 원하는 역사적 시장 피드를 제공하지 않습니다: 연간 최고 및 최저, 변동성, 소매 가격 대비 프리미엄, 사이즈별 판매 속도는 공개 페이지에 계산되어 표시되며, 대량 연구 엔드포인트로 노출되지 않습니다.

따라서 실용적인 분리는 간단합니다. 자신의 요청을 자동화하는 판매자라면 공식 API를 사용하세요. 가격 정보나 트렌드 조사를 하고 있다면, 공개 페이지를 책임감 있게 수집하세요. 동일한 논리는 재판매 및 소매 전반에 걸쳐 적용됩니다 — 우리는 대규모 가격 모니터링에서 일반적인 버전을 설명합니다.

API가 해결할 수 없는 커버리지 문제도 있습니다. 재판매 가격은 지역에 민감합니다: 동일한 쌍이 미국 시장에서는 다른 프리미엄을 가지며, 유럽이나 일본 시장에서는 또 다릅니다. 공급, 세금 및 수요가 지역에 따라 다르기 때문입니다. 글로벌 시장을 측정하는 연구자는 여러 국가에서 각 제품을 읽어야 하며, 이는 판매자 API가 설계되지 않았지만 국가 타겟팅을 기본으로 처리하는 회전 주거 풀로 해결됩니다. 그 지리적 차원이 종종 흥미로운 차익 거래가 숨겨져 있는 곳입니다.

StockX 또는 GOAT 제품 페이지에 포함된 데이터

각 제품 페이지는 포함된 JSON을 파싱하면 놀라울 정도로 풍부한 페이로드를 제공합니다. 스타일별로 안정적인 SKU 및 UPC를 읽을 수 있으며, 사이즈별로는 전체 주문서 슬라이스를 읽을 수 있습니다:

스니커 시장 조사를 위한 공식 StockX API와 공개 제품 페이지 스크래핑 비교, 비율 제한 대 사용 가능한 신호
공식 API는 하루 25,000회 호출로 제한된 판매 도구이며, 공개 페이지는 시장 조사가 실제로 필요한 가격 이력, 사이즈 수준 스프레드 및 속도를 제공합니다.

차단되지 않고 페이지 가져오기

StockX와 GOAT는 강력한 봇 관리 뒤에 있으며, 데이터센터 IP가 제품 JSON을 반복적으로 요청하면 몇 번의 요청 내에 도전받습니다. 수집을 유지하는 두 가지 방법은: 일반 쇼핑객처럼 보이는 주거용 종료 IP와 요청당 회전으로, 단일 주소가 의심스러운 패턴을 형성하지 않도록 하는 것입니다. 주거용 프록시를 통해 — 200개 이상의 국가에 걸쳐 90M+ IP — 각 요청은 다른 가정 주소에서 발생합니다:

import requests, json

proxies = {
    "http":  "http://USER:PASS@gate.quantumproxies.io:PORT",
    "https": "http://USER:PASS@gate.quantumproxies.io:PORT",
}
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)"}

url = "https://stockx.com/air-jordan-1-retro-high-og-example"
html = requests.get(url, proxies=proxies, headers=headers, timeout=(5, 30)).text

# Product data hydrates from an embedded JSON blob, not the visible HTML.
start = html.find('{"props":')
blob = json.loads(html[start:html.rindex("}", 0, html.find("</script>", start)) + 1])
# Walk blob -> product -> market to reach asks, bids and statistics.

페이지가 JSON 대신 거의 빈 셸을 반환하면, 클라이언트 측 렌더링되거나 도전 버전이 제공된 것입니다 — 이는 빈 페이지, 누락된 데이터에서 분석하는 증상입니다. 이는 원시 프록시에서 관리된 가져오기로 에스컬레이션할 시점입니다. Scraper API는 JavaScript를 필요에 따라 렌더링하고 깨끗한 JSON 또는 markdown을 반환하므로, 직접 헤드리스 브라우저와 파서를 유지 관리할 필요가 없습니다:

curl -G "https://api.quantumproxies.io/scrape" \
  --data-urlencode "url=https://stockx.com/air-jordan-1-retro-high-og-example" \
  --data-urlencode "render=true" \
  --data-urlencode "country=us" \
  -H "Authorization: Bearer YOUR_API_KEY"

원시 요청을 연구 신호로 전환하기

변형이 파싱되면, 분석은 숫자의 벽을 결정으로 전환하는 작은 산술입니다. 사이즈 스프레드 — 가장 저렴한 사이즈와 가장 비싼 사이즈 간의 차이 — 는 어떤 사이즈가 희소한지를 보여주며, 소매 가격 대비 프리미엄은 진정한 하이프를 마케팅 소음과 구분합니다:

def size_spread(variants):
    asks = [v["lowest_ask"] for v in variants if v.get("lowest_ask")]
    return {
        "cheapest_size": min(asks),
        "priciest_size": max(asks),
        "spread_pct": round((max(asks) - min(asks)) / min(asks) * 100, 1),
    }

def hype_score(stats, retail):
    premium = (stats["annual_average_price"] - retail) / retail
    return round(premium * 100, 1)  # % over retail; negative = a dud

이를 일일 일정으로 감시 목록에 걸쳐 실행하면 재판매 지수가 됩니다: 상승하는 속도와 확장되는 프리미엄은 초기 열 신호이며, 판매 감소와 축소되는 프리미엄은 사라짐을 나타냅니다. 동일한 SKU에 대해 StockX와 GOAT를 교차 참조하면 차익 거래를 노출하고 주어진 카테고리에 대한 가격 발견을 주도하는 플랫폼을 확인할 수 있습니다. 감시 목록이 수천 개의 스타일에 도달하면 프록시 대역폭 비용 절감의 전술로 비용을 제어하세요 — JSON만 필요하며 이미지는 거의 필요하지 않습니다.

행동에 대한 한 가지 주의 사항: 이는 공개적이고 비개인적인 가격 데이터에 대한 시장 조사로, 스크래핑의 저위험 끝에 있지만, 여전히 각 플랫폼의 서비스 약관을 존중하고 정중하게 비율을 제한해야 합니다. 이는 지침일 뿐이며, 법적 조언은 아닙니다.

스니커 재판매 데이터 필드의 통계 패널: 일일 25,000 API 제한, 평균 가격 프리미엄 25%, 15~60일 판매 창 및 1년 가격 이력
중요한 신호는 속도와 프리미엄입니다: 하이프된 쌍은 소매가보다 훨씬 위에 있으며 빠르게 판매되고, 실패한 쌍은 그 아래에 있으며 정체됩니다.

자주 묻는 질문

StockX에 공식 API가 있습니까?

네, 하지만 이는 시장 데이터 서비스가 아닌 판매자 도구입니다. StockX 개발자 API는 승인 프로세스 뒤에서 OAuth 2.0으로 인증되며, 카탈로그 검색, 목록 관리 및 주문 관리를 다룹니다. 하루 25,000개의 요청으로 제한되며, 초당 1개의 요청으로 제한되며, 귀하의 판매 활동을 반환하며, 더 넓은 시장의 대량 역사적 피드를 제공하지 않습니다.

스니커 가격을 위한 GOAT API가 있습니까?

GOAT는 연구자를 위한 공개 가격 API를 제공하지 않습니다. 제3자 집계자 및 오픈 소스 프로젝트는 GOAT 데이터를 공개 페이지를 스크래핑하여 수집합니다. 이는 StockX에 대해 사용할 방법과 동일합니다. 두 플랫폼 모두 강력한 봇 관리를 사용하기 때문에, 신뢰할 수 있는 수집은 데이터센터 엔드포인트가 아닌 주거용 IP와 요청당 회전에 의존합니다.

공식 API 없이 어떤 스니커 데이터를 얻을 수 있습니까?

공개 제품 페이지는 사이즈별 최저 요청 및 최고 입찰, 총 요청, 15, 30, 60일 창의 판매 수, 연간 최고/최저/평균 가격, 변동성 수치, 주간 주문 속도 및 안정적인 SKU/UPC 식별자를 노출합니다. 이는 판매자 API를 전혀 사용하지 않고도 가격 이력, 사이즈 스프레드 분석 및 하이프 지수를 구축하기에 충분합니다.

StockX 스크래핑 시 차단을 피하는 방법은 무엇입니까?

요청이 일반 쇼핑객처럼 보이도록 주거용 프록시를 사용하고, 각 요청마다 종료 IP를 회전시키며, 현실적인 User-Agent를 설정하고, 속도를 조절하세요. 페이지가 포함된 JSON 대신 빈 셸을 반환할 때, 페이지의 JavaScript를 실행하고 구조화된 데이터를 반환하는 렌더링 스크래퍼 API로 전환하세요, 스스로 도전에 맞서 싸우지 마세요.

재판매 시장은 이를 가장 잘 측정하는 사람에게 보상을 줍니다. 공식 API는 그 측정을 제공하지 않습니다 — 원래 그런 용도가 아니었습니다. 공개 페이지를 깨끗한 주거용 IP로 수집하고 속도와 프리미엄으로 줄이면, 혼란스러운 주문서를 연구 결정에 사용할 수 있는 신호로 전환할 수 있습니다.

Scraper API로 깨끗한 스니커 데이터를 가져오세요