Storelift

Storelift › 가이드 › Storelift API

AI 레이어

Storelift API

대시보드에 보이는 모든 것은 JSON 엔드포인트로도 제공됩니다. 모두 9개이고, 전부 GET이며, 모두 내가 추적하는 앱만 대상으로 합니다. 따라서 스크립트, 스프레드시트 작업, CI 단계에서 페이지를 스크래핑하지 않고도 같은 숫자를 읽을 수 있습니다. API는 Pro와 Studio에 포함되며, 같은 데이터를 AI 어시스턴트가 읽는다면 보통 MCP 서버가 더 적합합니다.

무료로 시작하기 →무료 플랜: 앱 1개, 스토어프런트 2곳에서 각각 키워드 25개, 30일 기록. 카드 불필요, 기간 제한 없음. Pro는 월 $20.

작성 영어 원문을 AI의 도움을 받아 번역업데이트: 5개 섹션

01기본 주소와 인증

기본 주소는 https://storelift.net/v1입니다. 설정 → API에서 키를 만드세요. 키는 한 번만 표시되고 해시로만 저장되므로, 잃어버린 키는 복구되지 않고 새로 발급합니다.

키는 x-api-key로 보내거나, 클라이언트가 Authorization 헤더만 지원한다면 bearer 토큰으로 보냅니다.

curl -s https://storelift.net/v1/apps \
  -H "x-api-key: sl_live_..."
API는 Pro와 Studio 플랜에서 사용할 수 있습니다 — 월 $20부터, Studio는 $60입니다. 플랜을 다운그레이드하면 키는 작동을 멈추지만 삭제되지는 않으므로, 다시 업그레이드하면 같은 연동이 그대로 살아납니다.

029개 엔드포인트

엔드포인트반환하는 내용
GET /v1/apps이 계정이 추적하는 앱 목록입니다. 다른 모든 호출은 여기서 시작하며, id도 이 호출에서 얻습니다.
GET /v1/apps/{id}앱 하나와 가장 최근 측정의 스냅샷입니다.
GET /v1/apps/{id}/keywords한 스토어프런트에서 추적 중인 키워드별 현재 순위와 함께, 측정 상태와 검색한 깊이를 반환합니다.
GET /v1/apps/{id}/rivals내 앱보다 위에 있는 앱들과, 각 앱이 나를 앞서는 검색어 및 양쪽의 순위를 반환합니다.
GET /v1/apps/{id}/aiAI 어시스턴트가 내 카테고리에서 내 앱을 언급하는지와 저장된 시계열입니다. 측정은 Studio에서 이뤄집니다.
GET /v1/apps/{id}/history키워드별 순위 시계열로, 플랜의 기록 기간에 맞춰 잘립니다.
GET /v1/apps/{id}/page스토어가 실제로 보여 주는 내 스토어 페이지(두 플랫폼 모두)와, 그 페이지에서 감지된 날짜별 변경 사항입니다.
GET /v1/apps/{id}/reviews최근 리뷰와 별점 요약, 이번 측정에서 새로 들어온 리뷰 수, 그리고 측정된 경우 Play 쪽 데이터입니다.
GET /v1/apps/{id}/charts앱의 장르와 스토어프런트 기준 인기 차트 순위와 그 시계열입니다.

/apps/{id} 아래의 엔드포인트는 country(us 같은 스토어프런트 코드, 기본값은 앱의 첫 번째 스토어프런트)를 받으며, 두 스토어가 모두 측정되는 경우 platform=ios|android도 받습니다.

03세 가지 측정 상태는 API에서도 그대로 유지됩니다

연동을 작성하기 전에 꼭 읽어 둘 부분입니다. 순위 필드는 숫자일 수 있지만, 숫자가 없다는 것은 서로 다른 두 가지를 뜻하며 API는 이 둘을 구분해서 전달합니다.

  • measured: true, rank: 7 — 앱이 7위에서 발견되었습니다.
  • measured: true, rank: null — 검색은 실행되었지만, 저희가 읽은 깊이 안의 결과에 앱이 없었습니다.
  • measured: false — 그날은 검색을 실행하지 못했습니다. 순위에 대해 알려진 것이 없습니다.
{
  "country": "de",
  "platform": "ios",
  "live": true,
  "measuredAt": "2026-09-19T02:14:08.921Z",
  "keywords": [
    { "term": "traumdeutung", "measured": true,  "rank": 7,    "demand": 6, "searchDepth": 200 },
    { "term": "traumsymbole", "measured": true,  "rank": null, "demand": 3, "searchDepth": 200 },
    { "term": "traumtagebuch", "measured": false, "rank": null, "demand": null, "searchDepth": null }
  ]
}

뒤의 두 경우를 0으로 합쳐 버리면 실제로 일어나지 않은 급락을 묘사하게 되고, 그 위에 쌓은 모든 평균이 틀어집니다. 코드에서 숫자 하나가 필요하다면 measured: false를 값이 아니라 시계열의 빈 구간으로 처리하세요.

04하지 않는 일

  • 쓰기를 하지 않습니다. 모든 엔드포인트는 GET이며, 다른 메서드는 method_not_allowed를 반환합니다. API에서 내 스토어 페이지, 추적 키워드, 결제로 이어지는 경로는 없습니다.
  • 요청 시 측정하지 않습니다. 엔드포인트는 매일 밤 측정에서 수집된 데이터를 읽습니다. 두 번 요청해도 스토어에 두 번째 쿼리가 가지 않습니다.
  • 매출 레이어는 제공하지 않습니다. 연결된 계정(App Store Connect, Apple Ads, RevenueCat, GA4)은 대시보드에만 남습니다. 빠뜨린 것이 아니라 의도적으로 그은 선입니다.
  • 기록은 플랜에 따라 잘립니다. history와 charts 모두 플랜의 기간에서 잘리므로, 같은 키로 한 엔드포인트를 통해 다른 엔드포인트보다 더 먼 과거에 접근할 수 없습니다.

05오류

상태error발생 조건
401missing_api_key요청에 키가 없습니다.
401invalid_api_key알 수 없는 키이거나 폐기된 키입니다.
401account_deleted키에 연결된 계정이 삭제되었습니다.
403plan_required플랜에 API 사용 권한이 없습니다. 응답에 현재 플랜이 포함됩니다.
405method_not_allowed모든 엔드포인트는 GET입니다. 쓰기는 없습니다.
404not_found해당 앱 id가 이 계정에 없습니다.
404unknown_endpoint/v1 아래에 그런 경로가 없습니다.

모든 오류는 error 필드가 있는 JSON입니다. plan_required는 plan도 함께 반환하므로, 클라이언트가 추측하지 않고 키가 어떤 플랜에 있는지 알려 줄 수 있습니다.

자주 묻는 질문

요청 횟수 제한이 있나요?

키별 할당량은 없습니다. API 앞단의 게이트웨이에 계정 전체 상한이 있고, 호출할 때마다 키의 사용 카운터가 갱신되므로 오래된 키가 아직 쓰이는지 설정에서 확인할 수 있습니다.

무료 플랜에서도 쓸 수 있나요?

아니요. API는 Pro부터 사용할 수 있습니다. 이 사이트의 무료 도구는 계정 없이 쓸 수 있고, 무료 플랜도 앱 하나를 매일 측정합니다.

API와 MCP 서버 중 무엇을 써야 하나요?

스크립트에는 API가 맞습니다. 응답 형태가 고정돼 있고, 호출 한 번이면 되며, 중간에 모델이 끼지 않습니다. AI 어시스턴트에는 MCP 서버가 맞습니다. 도구마다 자체 설명이 있어 연동 코드를 직접 짜지 않아도 알맞은 호출을 고를 수 있기 때문입니다. 둘 다 같은 측정값을 읽습니다.

내 앱으로 직접 확인해 보세요

스토어 링크를 붙여넣고 키워드를 추가하세요. 순위, 내 위에 있는 앱, 수요를 매일 측정합니다.

무료 플랜: 앱 1개, 스토어프런트 2곳에서 각각 키워드 25개, 30일 기록. 카드 불필요, 기간 제한 없음. Pro는 월 $20.

무료로 시작하기 →

다음 읽을거리