카탈로그 검색
1 크레딧/v1/apple_music/search키워드에 맞는 카탈로그 히트를 반환합니다. type으로 song, album, artist를 제한할 수 있습니다. 한 페이지입니다. 상세는 artist, album, track으로 조회합니다.
query, optional type
SocialCrawl API 키로 공개 Apple Music 아티스트, 앨범, 트랙, 검색을 구조화 JSON으로 가져옵니다. Author, Post 스키마는 다른 플랫폼과 같습니다. 호출은 크레딧으로 과금됩니다.
활성 엔드포인트는 4개입니다.
공개 Apple Music 카탈로그 읽기 엔드포인트는 4개입니다. 키워드 검색과 아티스트, 앨범, 트랙을 id 또는 URL로 조회합니다. 데이터 API만 지원하며 재생 제어, 비공개 라이브러리, 클라이언트 MusicKit은 포함되지 않습니다.
/v1/apple_music/search키워드에 맞는 카탈로그 히트를 반환합니다. type으로 song, album, artist를 제한할 수 있습니다. 한 페이지입니다. 상세는 artist, album, track으로 조회합니다.
query, optional type
/v1/apple_music/artist아티스트 하나를 반환합니다. id, 이름, 커버 아트, Apple Music 아티스트 URL이 포함됩니다. music.apple.com 아티스트 URL 또는 id로 지정합니다.
id or url
/v1/apple_music/album앨범 하나를 반환합니다. 제목, 아티스트, 커버 아트, 수록곡 수, Apple Music 앨범 URL이 포함됩니다. 앨범 URL 또는 id로 지정합니다.
id or url
/v1/apple_music/track트랙 하나를 반환합니다. 곡명, 아티스트, 재생 시간, 미리듣기 오디오 URL, Apple Music 트랙 URL이 포함됩니다. 트랙 URL 또는 id로 지정합니다.
id or url
검색어에 맞는 Apple Music 결과를 돌려줍니다. type으로 song, album, artist처럼 종류를 좁힐 수 있습니다.
키워드로 목록을 찾은 뒤 id나 URL을 artist, album, track에 넘겨 상세를 받을 때 사용하세요.
1크레딧
query · Search query.
$ curl https://www.socialcrawl.dev/v1/apple_music/search?query=taylor+swift&type=song \
-H "x-api-key: sc_YOUR_API_KEY"// 실제 실행에는 API 키가 필요합니다. "실행해보기"를 누르면 예시 응답을 표시합니다Apple Music도 다른 SocialCrawl 소셜 엔드포인트와 같습니다. API 키로 GET /v1/apple_music/… 를 호출하고 캐시 미스에 크레딧을 쓰며 동일한 JSON 봉투를 받습니다. 클라이언트 MusicKit과 Apple 개발자 토큰, 별도 SDK는 없습니다.
x-api-key 헤더에 키를 보냅니다. 앱에 MusicKit 흐름은 필요 없습니다. 카탈로그 전 구간에 같은 키를 사용합니다.
Apple Music 라우트는 모두 GET입니다. query, type, url, id를 쿼리로 전달합니다. 과금 전에 형식을 검증합니다.
Apple Music 읽기는 라이브 미스당 1 크레딧입니다. 캐시 히트는 0 크레딧입니다. 빈 응답과 하드 실패는 환불됩니다.
응답 형태는 success, data, credits_used, credits_remaining, request_id, cached로 동일합니다. 검색은 한 페이지입니다.
대부분 제품은 카탈로그를 검색한 뒤 필요한 아티스트, 앨범, 트랙만 깊게 읽습니다.
GET /v1/apple_music/search?query=…키워드 카탈로그 히트입니다. type으로 종류를 제한할 수 있습니다.
전체 레코드를 조회하기 전에 id나 URL을 확인합니다.
GET /v1/apple_music/artist?url=…Author 형태 아티스트입니다. 이름, 커버, 카탈로그 URL이 포함됩니다.
앨범이나 트랙 목록 전에 아티스트를 한 번 확정합니다.
GET /v1/apple_music/album?url=…Post 형태 앨범입니다. 커버와 수록곡 수가 포함됩니다.
검색 히트만으로 부족할 때 음반 전체를 엽니다.
GET /v1/apple_music/track?url=…Post 형태 곡입니다. 재생 시간과 미리듣기 URL이 포함됩니다.
카탈로그 URL이 이미 있을 때 한 곡만 가져옵니다.
GET /v1/apple_music/search
?query=taylor+swift&type=song
Host: www.socialcrawl.dev
x-api-key: sc_your_api_key_here
# then deepen one hit
GET /v1/apple_music/artist?url=https://music.apple.com/us/artist/taylor-swift/159260351
GET /v1/apple_music/album?url=https://music.apple.com/us/album/red-taylors-version/1590368448
GET /v1/apple_music/track?url=https://music.apple.com/us/album/22-taylors-version/1590368448?i=1590368457{
"success": true,
"data": {
"id": "159260351",
"username": "Taylor Swift",
"display_name": "Taylor Swift",
"url": "https://music.apple.com/us/artist/taylor-swift/159260351",
"avatar_url": "https://is1-ssl.mzstatic.com/image/thumb/…"
},
"credits_used": 1,
"credits_remaining": 9999,
"request_id": "req_…",
"cached": false
}아키타입이 맞는 구간은 다른 SocialCrawl 플랫폼과 필드명이 같습니다. 아티스트는 Author, 앨범과 트랙은 Post, 검색은 SearchResult입니다.
id, username/display_name, avatar_url, url
앨범 또는 트랙 Post: id, url, content(제목, 커버, 재생 시간, 미리듣기), author, ext.apple_music
query 히트 items[]; 선택 type 필터; 한 페이지
success, data, credits_used, credits_remaining, request_id, cached
다른 /v1 플랫폼 엔드포인트와 같은 요청 수명 주기입니다. Apple Music은 사이드카가 아닙니다.
Next.js catch-all이 Hono 소셜 API로 라우팅합니다. request_id를 발급하고 키를 인증한 뒤 분당 600회 한도와 키당 동시 50건을 적용합니다.
레지스트리에서 apple_music/search(또는 artist, album, track)를 찾습니다. 필수 파라미터와 URL 형식 검사가 먼저 실행됩니다. 잘못된 입력은 과금 없이 400입니다. 유효 호출은 업스트림 작업 전에 1 크레딧을 원자적으로 차감합니다.
플랫폼, 리소스, 파라미터로 결정적 캐시 키를 만듭니다. 히트면 즉시 반환하고 credits_used는 0입니다. 미스면 Apple Music 소셜 리드 업스트림을 호출합니다. 5xx와 네트워크 오류는 재시도하며 소스가 불건전하면 서킷 브레이커가 동작합니다.
업스트림 JSON을 Author, Post, SearchResult로 매핑하고 정규 Zod 스키마로 검증한 뒤 성공 봉투로 감싸 과금 감사 로그에 남깁니다.
운영에서 중요한 과금 규칙
Apple Music은 공개 카탈로그 읽기 데이터입니다. MusicKit이나 별도 개발자 토큰 없이 SocialCrawl 스키마로 정규화합니다.
공개 아티스트, 앨범, 트랙, 키워드 검색입니다. 리서치, 모니터링, 제품 작업을 위한 읽기 전용 표면입니다. 비공개 라이브러리와 재생 제어는 없습니다.
하나의 게이트웨이 뒤에 소셜 리드 업스트림이 있습니다. music.apple.com URL 또는 id를 보내면 클라이언트 MusicKit 없이 가져와 정규화합니다.
통합 JSON 봉투입니다. success, data, credits_used, request_id, cached. 아티스트는 Author, 앨범과 트랙은 Post, 검색은 SearchResult입니다.
쓰기 엔드포인트는 없습니다. 사용자 라이브러리와 플레이리스트 변경, 재생 제어는 없습니다. 활성 목록은 레지스트리 문서를 따릅니다.
이 API가 주로 쓰이는 작업입니다.
카탈로그 보강과 트랙·앨범 조회
호출은 키워드 검색 다음 아티스트, 앨범, 트랙 상세 URL 조회에 모입니다. 공유 스키마와 크레딧 과금으로 공개 Apple Music 카탈로그를 읽습니다. 클라이언트 MusicKit과 Apple 개발자 토큰은 필요 없습니다.
아티스트, 앨범, 트랙은 라이브 미스에서 보통 수 초입니다. 검색은 콜드 캐시에서 조금 더 걸릴 수 있습니다.
이 데이터를 활용하는 대표적인 방식과 각 방식에서 주로 사용하는 스택입니다.
아티스트·앨범·트랙 URL을 구조화 카드로 해석합니다. 제목, 커버, 미리듣기 URL로 내부 카탈로그를 채웁니다.
키워드로 검색한 뒤 히트를 고르고 artist, album, track으로 전체 레코드를 조회합니다.
공유 스키마로 Apple Music을 Spotify 옆에 붙입니다. 카탈로그와 같은 API 키를 사용합니다.
Apple Music 라우트는 라이브 호출당 1 크레딧입니다. 캐시 히트는 무료입니다.
curl "https://www.socialcrawl.dev/v1/apple_music/search?query=taylor+swift&type=song" \
-H "x-api-key: sc_your_api_key_here"curl "https://www.socialcrawl.dev/v1/apple_music/artist?url=https://music.apple.com/us/artist/taylor-swift/159260351" \
-H "x-api-key: sc_your_api_key_here"모든 엔드포인트가 같은 응답 구조의 JSON을 보내드려요. 엔드포인트가 해당 지표를 지원하고 계산에 필요한 원본 값이 있을 때만 참여율·콘텐츠 카테고리 같은 계산 필드가 포함돼요.
같은 Apple Music 데이터를 받는 두 가지 방법을 나란히 비교했어요. 인증부터 비용까지 한눈에 확인해 보세요.
| 항목 | SocialCrawl | 공식 Apple MusicKit API |
|---|---|---|
| 인증 방식 | x-api-key 헤더 하나면 돼요 | MusicKit 식별자와 서명된 개발자 토큰(JWT)이 필요해요 |
| 시작 절차 | Apple 개발자 계정 없이 가입 후 바로 호출할 수 있어요 | 첫 호출 전에 Apple Developer Program과 MusicKit 키가 필요해요 |
| 레이트 리밋 | 크레딧 잔액만 신경 쓰면 돼요 | 토큰 단위 레이트 리밋과 429 재시도를 직접 처리해야 해요 |
| 응답 스키마 | 68개 플랫폼이 같은 통합 JSON 스키마를 써요 | MusicKit용으로 문서화된 Apple Music 카탈로그 객체예요 |
| 요금 | 호출당 1 크레딧, 가입 시 100 크레딧 무료예요 | 카탈로그 읽기는 Apple 레이트 리밋 안에서 무료예요 |
| 데이터 범위 | 검색, 아티스트, 앨범, 트랙 카탈로그 메타데이터를 커버해요 | 공식 카탈로그 전체와 재생, 사용자 동의 라이브러리까지 다뤄요 |
| 유지보수 | 통합 하나로 Apple Music과 다른 67개 플랫폼을 함께 써요 | Apple Music만을 위한 MusicKit SDK와 토큰 로직을 따로 관리해야 해요 |
인증 방식
시작 절차
레이트 리밋
응답 스키마
요금
데이터 범위
유지보수
API, 요금제, 기능에 대한 질문과 답변입니다.
문의하기AI에게 SocialCrawl을 물어보세요