このページでは

ダッシュボード REST API

地域

ベースURLは、プロジェクトのデータのレジデンシーによって異なります。このページ内のすべての例では、プロジェクトがAmplitudeのEUデータセンターを利用している場合を除き、デフォルトのベースURLを使用してください。EUデータセンターを利用している場合は、この表に記載されているEU用のベースURLを使用してください。

リクエストはhttps://amplitude.com(デフォルト)またはhttps://analytics.eu.amplitude.com(EU)に送信されます。https://analytics.amplitude.comのホスト名はアナリティクスウェブアプリ(ブラウザーUI)です。RESTリクエストにはanalytics.amplitude.comではなく、この表に記載されているホストを使用してください。

考慮事項

  • イベントタイプ、イベントプロパティ、およびユーザープロパティ名に含まれる特殊文字は、URLエンコードしてください。たとえば、Play%20SongとしてPlay Songをエンコードします。W3Schools のエンコーディングリファレンスを参照してください。
  • いくつかの例では、バックスラッシュ構文を使用してcURL内の文字をエスケープします。cURLを使用していない場合は、リクエストをバックスラッシュエスケープ文字でエンコードしないでください。
  • ダッシュボードのREST APIのタイムゾーンは、Amplitudeプロジェクトのタイムゾーンと一致します。

レート制限

各エンドポイントには同時実行の制限とレート制限があります。 同時実行数の制限により、同時に実行できるリクエストの数が制限されます。 レート制限により、1時間あたりのクエリの合計数が制限されます。これらの制限を超えると、429エラーが返されます。制限はプロジェクトごとに設定されており、429 エラーにはどの制限を超過したかに関する情報が含まれています。

同時実行の制限:コホートのダウンロードを含むすべてのAmplitude REST APIエンドポイントに対して、最大5件のリクエストを同時に実行できます。

ユーザーアクティビティとユーザー検索の制限

ユーザーアクティビティユーザー検索のエンドポイントには異なる制限があります。
  • 同時実行制限:これらのエンドポイントに対して最大10件の同時リクエストを実行できます。
  • レート制限:これらのエンドポイントに対して1時間あたり最大360件のクエリを実行できます。

エンドポイントコスト

各エンドポイントは、_クエリごとのコスト_に基づくレート制限モデルを使用します。コストとは金銭的価値を指すものではありません。コストとは、レート制限とAPIの使用制限のことです。この方法により、すべてのクエリに対して同じAPI可用性を実現できます。Amplitudeは次の数式を使用してレートコストを計算します:

cost = (# of days) * (# of conditions) * (cost for the query type)

Amplitudeは、各変数を次のように算出します。

  • 日数:クエリに含まれる日数です。
  • 条件数:チャートに適用されたセグメント数に、それらのセグメント内に含まれる条件数を加えた値です。各グループ化は4セグメントとしてカウントされます。

セグメントと条件

  • セグメントは比較グループです。 詳細については、「ユーザーセグメントを追加する」を参照してください。
  • 条件は最上位レベルのフィルタを表します。 コホート、WHERE、および「誰が実行/実行したか」はAmplitudeの条件です。 イベントフィルターは、APIコストの条件としてカウントされません。

チャートタイプごとにコストが異なります。ここに記載されていないエンドポイントの場合、コストは 1 です。これらのエンドポイントの制限は、クエリあたりのコストで測定され、次のとおりです。

  • 同時実行制限: 5 分以内に最大 1,000 のコストが発生します。

  • レート制限:1時間あたりのコストは最大108,000です。

  • イベントセグメンテーション:左側のモジュール内のイベント数に等しい。いずれかのイベントにgroup byがある場合は、group byとイベントごとにコスト4を加算します。
  • ファネル分析:ファネル内のイベント数に 2 を掛け合わせた値です。いずれかのイベントにgroup byがある場合は、group byとイベントごとにコスト4を加算します。
  • リテンション分析:このチャートのコストは 8 です。
  • ユーザーセッション:このチャートのコストは 4 です。

共有クエリパラメータ

これらのクエリパラメータは、複数のダッシュボードREST APIエンドポイント間で共有されます。

  • Amplitudeに組み込まれるプロパティの場合、有効な値はversioncountrycityregionDMAlanguageplatformosdevicedevice_typestart_versionpayingです。
  • カスタムユーザープロパティの場合、キーをgp:nameとしてフォーマットします。

イベント形式

イベント パラメータは次のキーを受け入れます。

フィルターオブジェクトのキー

イベント形式の例

json
{
  "event_type": "CompletedProfile",
  "filters": [
    {
      "subprop_type": "event",
      "subprop_key": "EmailVerified",
      "subprop_op": "is",
      "subprop_value": ["true"]
    },
    {
      "subprop_type": "user",
      "subprop_key": "gp:SignUpDate",
      "subprop_op": "is",
      "subprop_value": ["2021-08-18"]
    }
  ],
  "group_by": [
    {
      "type": "user",
      "value": "platform"
    }
  ]
}

セグメント定義

セグメントは、ユーザーの属性や行動に基づいてユーザーをフィルタリングします。 各セグメントはJSONオブジェクトです。

セグメント定義の例

ユーザープロパティフィルタ

プロパティ値でユーザーをフィルタリングします。

json
[
  {
    "prop": "version",
    "op": "contains",
    "values": ["1.0", "2.0"]
  },
  {
    "prop": "gp:gender",
    "op": "is",
    "values": ["female"]
  }
]

「誰が実行したか」フィルタ

特定のイベントを実行したユーザーをフィルタリングします。 この例では、過去30日間に少なくとも1回signup - end signupイベントを実行したユーザーをフィルタリングします。

json
[
  {
    "op": ">=",
    "type": "event",
    "event_type": "signup - end signup",
    "filters": [],
    "value": 0,
    "time_type": "forEachInterval",
    "time_value": 30
  }
]

複数のフィルターを組み合わせることができます。 この例では、signup - end signupイベントを1回以上実行した米国のユーザをフィルタリングします。

json
[
  {
    "prop": "country",
    "op": "is",
    "values": ["United States"]
  },
  {
    "op": ">=",
    "type": "event",
    "event_type": "signup - end signup",
    "filters": [],
    "value": 1,
    "time_type": "allTime"
  }
]

データテーブルのエクスポート

ダッシュボードのREST APIを使用して、データテーブルからデータをエクスポートできます。任意のデータテーブル チャートタイプをクエリします。クエリに開始日や終了日を含めないでください。

既存のチャートから結果を取得する

保存されたチャートからチャート ID ごとに任意の JSON 結果を取得します。 GET https://amplitude.com/api/3/chart/chart_id/csv

curl --location --request GET 'https://amplitude.com/api/3/chart/:chart_id/csv' \
-u '{api_key}:{secret_key}'

パス変数

レスポンス

レスポンスは、チャートのタイプによって異なります。

アクティブユーザー数と新規ユーザー数を取得

アクティブまたは新規ユーザーの数を取得します。

GET https://amplitude.com/api/2/users

curl --location --request GET 'https://amplitude.com/api/2/users?start=STARTDATE&end=ENDDATE' \
-u '{api_key}:{secret_key}'

クエリパラメータ

レスポンス

レスポンスは次のスキーマを持つJSONオブジェクトです。

json
{
  "data": {
    "series": [
      [46109, 47542],
      [42845, 42626]
    ],
    "seriesMeta": ["United States", "Canada"],
    "xValues": ["2017-08-14", "2017-08-15"]
  }
}

セッション時間分布を取得する

指定した期間内における、あらかじめ定義された各セッション長(バケット)ごとのセッション数を取得します。

GET https://amplitude.com/api/2/sessions/length

curl --location --request GET 'https://amplitude.com/api/2/sessions/length?start=STARTDATE&end=ENDDATE'
-u '{api_key}:{secret_key}'

クエリパラメータ

timeHistogramConfigBin 形式

カスタムビニングを使用するには、timeHistogramConfigBinMintimeHistogramConfigBinMax、およびtimeHistogramConfigBinTimeUnitを指定します。timeHistogramConfigBinSizeが指定されていない場合、Amplitudeは最適なビンサイズを自動的に決定します。たとえば、timeHistogramConfigBinMin=0timeHistogramConfigBinMax=10、およびtimeHistogramConfigBinTimeUnit=minutesを指定した場合でも、最終的なビン数やビン境界は保証されません。timeHistogramConfigBinSize=1を指定した場合、10個のビンが作成され、各ビンのサイズは1分に相当します。

timeHistogramConfigBinパラメータが無効または欠落している場合、Amplitudeは直帰率などの動作を考慮したデフォルトのビンを使用します。 デフォルトのビン(単位:ミリ秒)は[0, 3000), [3000, 10,000), [10,000, 30,000), [30,000, 60,000), [60,000, 180,000), [180,000, 600,000), [600,000, 1,800,000), [1,800,000, 3,600,000), [3,600,000, 86,400,000)です。

セッション長の最大値は1日(86,400,000ミリ秒)です。

レスポンス

レスポンスは次のスキーマを持つJSONオブジェクトです。

json
{
  "data": {
    "series": [
      [0, 120408, 2261, 6984, 10778, 54529, 210614, 336605, 196235, 54148]
    ],
    "xValues": [
      "0s-60s",
      "60s-120s",
      "120s-180s",
      "180s-240s",
      "240s-300s",
      "300s-360s",
      "360s-420s",
      "420s-480s",
      "480s-540s",
      "540s-600s"
    ]
  }
}

平均セッション時間を取得する

GET https://amplitude.com/api/2/sessions/average

指定した日付範囲内の各日の平均セッション時間(秒単位)を取得します。

curl --location --request GET 'https://amplitude.com/api/2/sessions/average?start=20210601&end=20210630' \
-u '{api_key}:{secret_key}'

クエリパラメータ

レスポンス

次のスキーマを持つ JSON オブジェクトを返します。

json
{
  "data": {
    "series": [[1204.0238276716443, 1197.4160169086904]],
    "seriesMeta": [{ "segmentIndex": 0 }],
    "xValues": ["2017-08-14", "2017-08-15"]
  }
}

ユーザーあたりの平均セッション数を取得

GET https://amplitude.com/api/2/sessions/peruser

指定した日付範囲におけるユーザーごとの各日の平均セッション数を取得します。

curl --location --request GET 'https://amplitude.com/api/2/sessions/peruser?start=&end=' \
-u '{api_key}:{secret_key}'

クエリパラメータ

レスポンス

次のスキーマを持つ JSON オブジェクトを返します。

json
{
  "data": {
    "series": [[3.624536794878406, 3.6232302614435854]],
    "seriesMeta": [{ "segmentIndex": 0 }],
    "xValues": ["2017-08-14", "2017-08-15"]
  }
}

ユーザー構成

指定した日付範囲内のユーザープロパティ値全体でのユーザー分布を取得します。

GET https://amplitude.com/api/2/composition

curl --location --request GET 'https://amplitude.com/api/2/composition?start=STARTDATE&end=ENDDATE&p=PROPERTY' \
-u '{api_key}:{secret_key}'

クエリパラメータ

レスポンス

次のスキーマを持つ JSON オブジェクトを返します。

json
{
  "data": {
    "series": [[69643, 47419, 38087, 19064]],
    "seriesLabels": ["version"],
    "xValues": ["1.0", "(none)", "1.1", "0.2"]
  }
}

イベントリストを取得する

今週のイベント一覧と、それぞれの合計数、ユニークユーザー数、および% DAU(日次アクティブユーザー)を取得します。

このエンドポイントは、可視的なイベントを返します。 非表示イベントは API から返されません。

GET https://amplitude.com/api/2/events/list

curl --location --request GET 'https://amplitude.com/api/2/events/list' \
-u '{api-key}:{secret-key}'

レスポンス

次のスキーマを持つ JSON オブジェクトを返します。

json
{
    "data": [
        {
            "non_active": false,
            "value": "Add Content to Cart",
            "totals": 1505645,
            "deleted": false,
            "flow_hidden": false,
            "hidden": false,
            "display": "Add Content to Cart"
        },
        {
            "non_active": false,
            "value": "Add Friends",
            "totals": 193167,
            "deleted": false,
            "flow_hidden": false,
            "hidden": false,
            "display": "Add Friends"
        }
    ]
    ...
}

イベントセグメンテーション

セグメンテーションを使用してイベントのメトリクスを取得します。

curl --location --request GET 'https://amplitude.com/api/2/events/segmentation?e={"event_type":"YOUR%20EVENT"}&start=STARTDATE&end=DATE' \
-u '{api-key}:{secret-key}'

イベントタイプ、イベントプロパティ、およびユーザープロパティ名に含まれる特殊文字は、URLエンコードしてください。たとえば、Play SongPlay%20Song としてエンコードします。

クエリパラメータ

レスポンス

json
{
    "data": {
        "series": [
            [273333], [190351]
        ],
        "seriesLabels": ["United States", "Germany"],
        "seriesCollapsed": [
            [
                {"value": 273333}
            ],
            [
                {"value": 190351}
            ],
        "xValues": ["2014-10-01", "2014-10-02"]
    }
}

ファネル分析

ファネルの離脱率およびコンバージョン率を取得します。

GET https://amplitude.com/api/2/funnels

curl --location -g --request GET 'https://amplitude.com/api/2/funnels?e={"event_type":"EVENT_1"}&e={"event_type":"EVENT_2"}&start=STARTDATE&end=ENDDATE'
-u '{api_key}:{secret_key}'

クエリパラメータ

レスポンス

応答には、グループごとに1つの要素を持つ配列が含まれます。各要素には次のフィールドがあります。

json
{
  "data": [
    {
      "meta": { "segmentIndex": 0 },
      "dayMedianTransTimes": {
        "series": [
          [0, 165548, 264380],
          [0, 164767, 269444]
        ],
        "xValues": ["2017-08-14", "2017-08-15"],
        "formattedXValues": ["Aug 14", "Aug 15"]
      },
      "dayAvgTransTimes": {
        "series": [
          [0, 2294365, 5730478],
          [0, 2268879, 5700436]
        ],
        "xValues": ["2017-08-14", "2017-08-15"],
        "formattedXValues": ["Aug 14", "Aug 15"]
      },
      "stepByStep": [1.0, 0.9915120144246691, 0.9741139357951383],
      "medianTransTimes": [0, 166444, 270194],
      "cumulative": [1.0, 0.9915120144246691, 0.9658456707593803],
      "cumulativeRaw": [163054, 161670, 157485],
      "avgTransTimes": [0, 2175406, 5607243],
      "dayFunnels": {
        "series": [
          [125259, 123716, 118636],
          [126964, 125373, 119986]
        ],
        "xValues": ["2017-08-14", "2017-08-15"],
        "formattedXValues": ["Aug 14", "Aug 15"]
      },
      "events": [
        "Search Song or Video",
        "Select Song or Video",
        "Play Song or Video"
      ]
    }
  ]
}

リテンション分析

特定の開始および復帰アクションに対するユーザーのリテンションを取得します。

GET https://amplitude.com/api/2/retention

curl --location --request GET 'https://amplitude.com/api/2/retention?se={"event_type":"STARTEVENT"}&re={"event_type":"RETURNEVENT"}&start=STARTDATE&end=ENDDATE' \
-u '{api_key}:{secret_key}'

クエリパラメータ

レスポンス

json
{
    "data": {
        "series": [
            {
                "dates": ["Aug 15", "Aug 14"],
                "values": {
                    "Aug 14": [
                        {"count": 12864, "outof": 12864, "incomplete": false}, {"count": 9061, "outof": 12864, "incomplete": false}, ..., {"count": 1561, "outof": 12864, "incomplete": true}
                    ],
                    "Aug 15": [
                        {"count": 14720, "outof": 14720, "incomplete": false}, {"count": 10249, "outof": 14720, "incomplete": false}, ..., {"count": 1773, "outof": 14720, "incomplete": true}
                    ],
                },
                "combined": [
                    {"count": 27584, "outof": 27584, "retainedSetId": null, "incomplete": false},
                    {"count": 19310, "outof": 27584, "retainedSetId": null, "incomplete": false},
                    ...
                    {"count": 1561, "outof": 12864, "retainedSetId": null, "incomplete": true}
                ]
            },
        "seriesMeta": [
            {"segmentIndex": 0, "eventIndex": 0}
            ]
        ]
    }
}

ユーザーアクティビティ

ユーザーサマリーと、そのユーザーの最新または最も古いイベントを取得します。リクエスト制限を超えると、429エラーが返されます。

GET https://amplitude.com/api/2/useractivity

curl --location --request GET 'https://amplitude.com/api/2/useractivity?user={amplitude_id}'
-u '{api_key}:{secret_key}'

クエリパラメータ

レスポンス

レスポンスは次のスキーマを持つJSONオブジェクトです。

json
{
    "userData": {
        "user_id": "myusername",
        "canonical_amplitude_id": 12345,
        "merged_amplitude_ids": [11111, 22222],
        "num_events": 142,
        "num_sessions": 23,
        "usage_time": 2570259,
        "first_used": "2015-03-14",
        "last_used": "2015-04-22",
        "purchases": 2,
        "revenue": 9.98,
        "platform": "iOS",
        "os": "ios 8.2",
        "version": "3.4.9",
        "device": "Apple iPhone",
        "device_type": "Apple iPhone 6",
        "carrier": "AT&T",
        "country": "United States",
        "region": "California",
        "city": "San Francisco",
        "dma": "San Francisco-Oakland-San Jose, CA",
        "language": "English",
        "start_version": "1.2.3",
        "device_ids": ["some-device", "some-other-device"],
        "last_location": {
            "lat": 37.133,
            "lng": -122.241
        },
        "properties": {
            "gender": "female"
        }
    },
    "events": [...]
}

ユーザー検索

Amplitude ID、デバイスID、ユーザーID、またはユーザーIDプレフィックスでユーザーを検索できます。 リクエスト制限を超えると、429エラーが返されます。

GET https://amplitude.com/api/2/usersearch

curl --location --request GET 'https://amplitude.com/api/2/usersearch?user=USER_ID' \
-u '{api-key}:{secret-key}'

クエリパラメータ

レスポンス

json
{
  "matches": [
    {
      "user_id": "myusername",
      "amplitude_id": 12345
    }
  ],
  "type": "match_user_or_device_id"
}

一致するものがなかった場合、応答は次の本文を含む 200 応答を返します。

json
{
  "type": "nomatch",
  "matches": []
}

リアルタイムのアクティブユーザー数

過去2日のアクティブユーザー数を5分単位で取得します。

GET https://amplitude.com/api/2/realtime

curl --location --request GET 'https://amplitude.com/api/2/realtime' \
-u '{api-key}:{secret-key}'

レスポンス

次のスキーマを持つ JSON オブジェクトを返します。

json
{
    "data": {
        "xValues": ["15:00", "15:05", "15:10", ... ],
        "seriesLabels": ["Today", "Yesterday"],
        "series": [
            [123, 144, 101, ...],
            [139, 111, 180, ...]
        ]
    }
}

生涯収益価値

新規ユーザーの生涯価値を把握しましょう。

GET https://amplitude.com/api/2/revenue/ltv

レベニューLTVチャートについての詳細はこちらをご覧ください。
curl --location --request GET 'https://amplitude.com/api/2/revenue/ltv?start=&end=' \
-u '{api-key}:{secret-key}'

クエリパラメータ

レスポンス

次のスキーマを持つ JSON オブジェクトを含むレスポンスを返します。

json
{
    "data": {
        "seriesLabels": [""],
        "series": [
            {
                "dates": ["2021-10-04", "2021-10-03", "2021-10-02", "2021-10-01"],
                "values": {
                    "2014-10-01": {
                        "r1d": 9.99,
                        "r2d": 19.98,
                        ...
                        "r90d": 742.52,
                        "count": 110,
                        "paid": 37,
                        "total_amount": 781.39
                    },
                    ...
                }
            }
        ]
    }
}

Was this helpful?