01ベースアドレスと認証
ベースは https://storelift.net/v1 です。キーは「設定」→「API」で作成します。表示されるのは一度だけで、ハッシュとしてのみ保存されるため、紛失したキーは復元ではなく再発行になります。
キーは x-api-key として送るか、クライアントが Authorization ヘッダーしか扱えない場合は Bearer トークンとして送ります:
curl -s https://storelift.net/v1/apps \
-H "x-api-key: sl_live_..."029 本のエンドポイント
| エンドポイント | 返すもの |
|---|---|
GET /v1/apps | このアカウントがトラッキングしているアプリ。ほかのすべての呼び出しはここから始まり、id はここで得られます。 |
GET /v1/apps/{id} | 1 つのアプリと、最新の実行のスナップショット。 |
GET /v1/apps/{id}/keywords | 1 つのストアフロントでトラッキング中の各キーワードの現在の順位。計測状態と検索した深さ付き。 |
GET /v1/apps/{id}/rivals | あなたより上位のアプリ。それぞれ、あなたに勝っているキーワードと双方の順位付き。 |
GET /v1/apps/{id}/ai | アシスタントがあなたのカテゴリであなたのアプリの名前を挙げるか。保存された推移付き。計測するのは 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 も受け取ります。
033 つの計測状態は境界を越えても保たれる
連携を書く前に読んでおく価値があるのはこの部分です。順位フィールドは数値になり得ますが、数値がないことには 2 つの異なる意味があり、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 }
]
}後の 2 つをゼロにまとめると、起きていない急落を描くことになり、その上に築いた平均値はすべて間違ったものになります。コードで 1 つの数値が必要な場合は、measured: false を値ではなく推移の欠測として扱ってください。
04API がしないこと
- 書き込みはしません。エンドポイントはすべて
GETで、それ以外はmethod_not_allowedを返します。API からストアページ、トラッキング中のキーワード、請求に届く経路はありません。 - 要求に応じて計測はしません。エンドポイントが読むのは夜間の実行が集めたデータです。2 回問い合わせても、ストアに 2 回目のクエリが送られることはありません。
- 売上レイヤーは含みません。接続済みアカウント(App Store Connect、Apple Ads、RevenueCat、GA4)はダッシュボードにとどまります。見落としではなく、意図的に引いた線です。
- 履歴はプランに応じて切り詰められます。
historyとchartsはどちらもプランの期間で切れるため、同じキーで一方のエンドポイントからだけ遠くまで遡ることはできません。
05エラー
| ステータス | error | 発生するとき |
|---|---|---|
| 401 | missing_api_key | リクエストにキーがありません。 |
| 401 | invalid_api_key | キーが不明か、取り消されています。 |
| 401 | account_deleted | キーに紐づくアカウントが削除されています。 |
| 403 | plan_required | プランに API アクセスが含まれていません。レスポンスには現在のプランが入ります。 |
| 405 | method_not_allowed | エンドポイントはすべて GET です。書き込むものはありません。 |
| 404 | not_found | そのアプリ id はこのアカウントにありません。 |
| 404 | unknown_endpoint | /v1 以下にそのパスはありません。 |
エラーはすべて error フィールドを持つ JSON です。plan_required は plan も返すため、クライアントは推測せずに、キーがどのプランにあるかを表示できます。
よくある質問
レート制限はありますか?
キーごとのクォータはありません。API の前段のゲートウェイにはアカウント全体の上限があり、各呼び出しはキーの使用カウンタを更新するため、古いキーがまだ使われているかを設定画面で確認できます。
無料プランで使えますか?
いいえ。API アクセスは Pro からです。このサイトの無料ツールはアカウントなしで使え、無料プランでも 1 つのアプリを毎日計測します。
API と MCP サーバー、どちらを使うべきですか?
スクリプトには API が向いています。形が固定で、1 回の呼び出しで済み、間にモデルが入りません。アシスタントには MCP サーバーが向いています。ツールが自身の説明を持っているので、あなたが連携を書かなくても正しい呼び出しを選べます。どちらも同じ計測データを読みます。
自分のアプリで確かめる
ストアのリンクを貼り付けて、キーワードを追加するだけ。順位、上位のアプリ、需要を毎日計測します。
無料プラン: 1 アプリ、2 つのストアフロントでそれぞれ 25 キーワード、30 日分の履歴。カード不要、期限なし。Pro は月額 $20。
無料で始める →