이 페이지에서

대시보드 REST API

지역

기본 URL은 프로젝트의 데이터 상주 위치에 따라 달라집니다. 이 페이지의 모든 예제에서 프로젝트가 Amplitude의 EU 데이터 센터를 사용하지 않는 한 기본 URL을 사용하십시오. 이 경우 이 표의 EU 기본 URL을 사용하십시오.

요청은 https://amplitude.com(기본값) 또는 https://analytics.eu.amplitude.com (EU)로 이동합니다. https://analytics.amplitude.com호스트 이름은 분석 웹 앱(브라우저 UI)입니다. REST 요청에는 analytics.amplitude.com이 표에 나와 있는 호스트를 사용하십시오.

고려 사항

  • 이벤트 유형, 이벤트 속성 및 사용자 속성 이름의 특수 문자를 URL 인코딩하십시오. 예를 들어 Play%20SongPlay Song인코딩합니다. W3Schools 인코딩 가이드를 확인하십시오.
  • 일부 예제에서는 백슬래시 구문을 사용하여 cURL의 문자를 이스케이프합니다. cURL을 사용하지 않는 경우, 요청을 백슬래시 이스케이프 문자로 인코딩하지 마십시오.
  • 대시보드 REST API 시간대는 Amplitude 프로젝트의 시간대와 일치합니다.

속도 제한

각 엔드포인트에는 동시 사용 제한과 속도 제한이 있습니다. 동시 사용 제한은 동시에 실행할 수 있는 요청 수를 제한합니다. 속도 제한은 시간당 총 쿼리 수를 제한합니다. 이 제한을 초과하면 429 오류가 반환됩니다. 제한은 프로젝트별로 설정되며 429 오류에는 초과한 제한에 대한 정보가 포함됩니다.

동시 사용 제한: 코호트 다운로드를 포함하여 모든 Amplitude REST API 엔드포인트에서 최대 5개의 동시 요청을 실행하십시오.

사용자 활동 및 사용자 검색 제한

사용자 활동사용자 검색 엔드포인트에는 서로 다른 제한이 있습니다.
  • 동시 제한: 이러한 엔드포인트에 대해 최대 10개의 동시 요청을 실행하십시오.
  • 속도 제한: 이러한 엔드포인트에 대해 시간당 최대 360개의 쿼리를 실행하십시오.

엔드포인트 비용

엔드포인트는 쿼리당 비용을 기준으로 비율 제한 모델을 사용합니다. 비용은 금전적 가치를 지칭하지 않습니다. 비용은 비율 제한과 API 사용 제한을 의미합니다. 이 방법은 모든 쿼리에 대해 동일한 API 가용성을 제공합니다. Amplitude는 다음 수식을 사용하여 요율 비용을 계산합니다.

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

Amplitude는 다음과 같이 각 변수를 결정합니다.

  • 일수: 쿼리에 포함된 일수입니다.
  • 조건 수: 세그먼트 수와 차트에 적용된 세그먼트 첫 사용 후 조건 수를 합한 값입니다. 각 Group By는 4개의 세그먼트로 계산됩니다.

세그먼트 및 조건

  • 세그먼트는 비교 그룹입니다. 자세한 내용은 사용자 세그먼트 추가를 참조하십시오.
  • 조건은 최상위 수준의 필터를 나타냅니다. 코호트, WHERE, 그리고 '누가 수행했는지'는 Amplitude의 조건입니다. 이벤트 필터는 API 비용의 조건으로 수행 회수가 되지 않습니다.

차트 유형에 따라 비용이 다릅니다. 여기에 나열되지 않은 엔드포인트의 경우 비용은 1입니다. 이러한 엔드포인트에 대한 제한은 쿼리당 비용으로 측정되며 다음과 같습니다.

  • 동시 사용 제한: 5분 첫 사용 후 최대 1,000개의 비용이 발생합니다.

  • 속도 제한: 시간당 최대 108,000 비용.

  • 이벤트 세분화: 왼쪽 모듈의 이벤트 수와 동일합니다. 전체 이벤트에 그룹 기준이 있는 경우 그룹 기준과 이벤트당 비용을 4로 추가하십시오.
  • 퍼널 분석: 퍼널의 이벤트 수에 2를 곱한 값입니다. 전체 이벤트에 그룹 기준이 있는 경우 그룹 기준과 이벤트당 비용을 4로 추가하십시오.
  • 리텐션 분석: 이 차트의 비용은 8입니다.
  • 사용자 세션: 이 차트의 비용은 4입니다.

공유 쿼리 매개 변수

이러한 쿼리 매개 변수는 여러 대시보드 REST API 엔드포인트에서 공유됩니다.

  • 내장된 Amplitude 속성의 경우 유효한 값은 , version, country, city, region, DMA, language, platform, os, device, device_type, start_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일 동안 해당 signup - end signup이벤트를 한 번 이상 수행한 사용자를 필터링합니다.

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

여러 필터를 결합할 수 있습니다. 이 예제에서는 해당 signup - end signup 이벤트를 한 번 이상 수행한 미국 사용자를 필터링합니다.

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 형식

사용자 지정 비닝을 사용하려면 timeHistogramConfigBinMin, timeHistogramConfigBinMaxtimeHistogramConfigBinTimeUnit을 지정하십시오. timeHistogramConfigBinSize가 지정되지 않은 경우 Amplitude는 최적의 빈 크기를 찾습니다. 예를 들어 timeHistogramConfigBinMin=0, timeHistogramConfigBinMax=10, 및 timeHistogramConfigBinTimeUnit=minutes을 사용하는 경우 최종 빈 수 또는 빈 경계는 보장되지 않습니다. timeHistogramConfigBinSize=1에는 10개의 Bin이 있으며 각 Bin의 크기는 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,000ms)입니다.

응답

응답은 다음 스키마를 가진 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 Song(으)로 Play%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}'

쿼리 매개 변수

응답

응답에는 그룹당 하나의 요소를 가진 배열이 포함됩니다. 각 요소에는 다음 필드가 있습니다.

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 (Lifetime Value) 차트에 대해 자세히 알아보십시오.
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?