갤러리나 박물관 웹사이트를 만들 때 흔히 빠지는 함정이 있습니다. 메인 페이지에는 인기 작품만 보이고, 나머지는 어딘가에 묻혀 있어요. Art Institute of Chicago는 이 문제를 API 차원에서 풀었습니다. has_not_been_viewed_much라는 불리언 필드를 artworks 데이터에 넣어, 웹에서 거의 보이지 않은 작품을 찾을 수 있게 했습니다.

숨겨진 작품을 보여주는 인터페이스
이 필드의 진짜 가치는 단순한 "안 본 작품" 표시가 아닙니다. 큐레이션 시스템이 동작하는 방식 자체가 달라집니다. 기존 박물관 웹사이트는 "이 작품을 본 사람이 많다"는 사회적 증거(social proof)를 보여주지만, 이 필드를 활용하면 반대 방향의 큐레이션이 가능합니다 — "웹에서 잘 안 본 작품", "숨겨진 보석", "오늘의 발견" 같은 카테고리를 만들 수 있습니다.
artworks API에서 `has_not_been_viewed_much` 읽기
import requests
resp = requests.get(
'https://api.artic.edu/api/v1/artworks',
params={
'fields': 'id,title,artist_display,has_not_been_viewed_much,image_id',
'limit': 30,
},
headers={'AIC-User-Agent': 'MyGalleryApp (hello@example.com)'},
)
data = resp.json()['data']
hidden = [a for a in data if a.get('has_not_been_viewed_much')]
print(f'숨겨진 작품 {len(hidden)}개 / {len(data)}개')
for a in hidden[:5]:
print(f" - {a['title']} by {a['artist_display']}")

AIC-User-Agent 헤더는 필수입니다. Art Institute가 연락할 수 있는 식별자를 요구해요. 박물관 API 모범 사례입니다.
실제 적용 사례 — 큐레이션 페이지 만들기
숨겨진 작품들을 매일/매주 새로 보여주는 페이지를 만들면 사용자에게 신선한 발견 경험을 줄 수 있습니다. 단순한 "오늘의 작품"보다 훨씬 강력하죠.
# 매주 갱신되는 큐레이션
import random
hidden = fetch_hidden_artworks(limit=100)
weekly_picks = random.sample(hidden, 10)
다른 박물관 API와 비교
- Met Museum API: view 카운트 같은 필드 없음
- Rijksmuseum API:
normalizedColors등 풍부한 메타데이터, but 조회수 필드 없음 - Smithsonian Open Access:
record_ID외에 큐레이션용 필드 미약 - Art Institute of Chicago:
has_not_been_viewed_much가 차별화 포인트
바로 적용할 수 있는 팁
- artworks API는 페이지네이션이
limit+page조합 — 한 번에 100개 이상 요청 시 rate limit 주의 image_id가 없으면 이미지를 못 보여줌 — null 체크 필수artist_display가 비어있는 작품도 종종 있음 (anonymous 작품)- HTTPS 필수, HTTP는 403 응답
전망 — 큐레이션 API의 미래
박물관 API들이 점점 더 "어떤 작품을 보여줄지"에 대한 메타데이터를 제공하기 시작했습니다. 단순한 데이터 노출을 넘어서, 큐레이션 알고리즘의 입력으로 쓸 수 있는 신호를 함께 제공하는 방향으로 진화하고 있습니다. Art Institute의 has_not_been_viewed_much가 그 첫 사례이고, 다른 박물관들도 비슷한 필드를 추가할 가능성이 높습니다.
요약
- Art Institute of Chicago API의
has_not_been_viewed_much필드 — 웹에서 잘 안 본 작품을 식별 - "숨겨진 보석" 큐레이션 페이지를 만들 때 핵심 입력값
AIC-User-Agent헤더 필수, page네이션은limit+page- 다른 박물관 API에는 아직 없는 차별화 포인트
- 큐레이션 친화적 메타데이터 제공이 박물관 API의 새로운 트렌드
'개발 팁' 카테고리의 다른 글
| 한국 선거 공개 데이터, CLI 한 줄로 끝내기 — k-vote-cli 완전 가이드 (0) | 2026.07.07 |
|---|---|
| AI 코딩 시대의 개발자 역할 변화 - 실행자에서 설계자로 (0) | 2026.07.07 |
| macOS는 그리드를 되찾아야 한다 — Leopard Spaces부터 GridLion까지 (0) | 2026.06.04 |
| Kindle은 다시 사지 않음이 맞는 선택지 — 전자책 독서의 진짜 대안 총정리 (0) | 2026.04.24 |
| Apple Xcode 26 의무화 — 4월 28일 App Store 제출 요구사항 완벽 정리 (1) | 2026.04.20 |