분석

모든 프로필 분석 엔드포인트와 각 엔드포인트의 cURL, Python 및 Node 예제: 사업장의 일별 Google 및 Facebook 지표와 주별 Bing 조회 수를 확인합니다.

프로필 분석은 각 게시 플랫폼에서 사업장이 얼마나 자주 노출되었고 얼마나 많은 사용자 행동이 발생했는지를 노출 수, 페이지 조회 수, 길찾기 요청 수, 통화 수, 웹사이트 클릭 수로 보여 줍니다. 게시 플랫폼마다 1개씩 총 3개의 엔드포인트가 있으며, 모두 조회용이므로 Read(읽기) 키만 있으면 됩니다. 모든 지표는 { startTime, value } 포인트로 구성된 시계열이며, API는 스칼라 합계를 반환하지 않으므로 표시할 합계는 직접 계산해야 합니다.

엔드포인트 한눈에 보기

메서드경로기능참조
GET/locations/{locationId}/google-analyticsGoogle Business Profile의 일별 시계열 9개입니다.Google 분석
GET/locations/{locationId}/facebook-analyticsFacebook 페이지의 일별 시계열 5개입니다.Facebook 분석
GET/locations/{locationId}/bing-analyticsBing Places의 주별 시계열 1개입니다.Bing 분석

3개 엔드포인트는 모두 동일한 매개변수를 사용합니다. fromDate와 toDate는 모두 YYYY-MM-DD 형식의 선택적 매개변수이며, 생략하면 게시 플랫폼의 기본 최근 기간이 사용됩니다. 경로에는 base64 Relay id 또는 일반 숫자를 사용할 수 있습니다. 둘 중 어느 것도 아닌 값을 지정하면 insights 객체가 null로 설정되고 errors 배열이 포함된 200이 반환되는데, 이는 프로필이 연결되지 않은 경우처럼 보이므로 먼저 errors를 확인해야 합니다.

날짜 범위의 Google 지표 조회

GET /locations/{locationId}/google-analytics는 지표별 일별 시계열 1개가 포함된 data.googleInsights를 반환합니다. total은 프로필 노출 수로, search와 maps의 합이며 행동 지표는 포함하지 않습니다. 데이터 변경 전후의 노출 현황 보고서에 사용할 수 있습니다.

이름전달 위치필수 여부설명
locationIdpath예Base64 Relay id 또는 숫자형 databaseId입니다.
fromDatequery아니요범위의 시작일이며, YYYY-MM-DD 형식입니다. 기본값으로 최근 기간이 사용됩니다.
toDatequery아니요범위의 종료일이며, YYYY-MM-DD 형식입니다.
Google
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/google-analytics?fromDate=2026-08-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"
JSON
{  "data": {    "googleInsights": {      "total": [        { "startTime": "2026-08-01T00:00:00+00:00", "value": 412 },        { "startTime": "2026-08-02T00:00:00+00:00", "value": 388 }      ],      "search": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 300 }],      "maps": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 112 }],      "directionsAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 24 }],      "phoneAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 8 }],      "websiteAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 41 }],      "businessBookings": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 0 }],      "businessFoodOrders": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 0 }],      "businessFoodMenuClicks": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 0 }]    }  }}

각 포인트의 startTime은 해당 횟수가 집계되는 날짜입니다. 예제에서 첫날의 total은 412이며, 이는 search 300과 maps 112의 합입니다.

시계열의미
total프로필 노출 수이며, search와 maps의 합입니다.
search데스크톱과 모바일을 합산한 Google Search 결과의 노출 수입니다.
maps데스크톱과 모바일을 합산한 Google Maps 결과의 노출 수입니다.
directionsAction사업장으로의 길찾기 요청 수입니다.
phoneAction통화 버튼 클릭 수입니다.
websiteAction웹사이트로 이동한 클릭 수입니다.
businessBookings프로필에서 시작한 예약 수입니다.
businessFoodOrders프로필에서 접수된 음식 주문 수입니다.
businessFoodMenuClicks음식 메뉴 링크 클릭 수입니다.

해당 기간에 사업장의 Google 데이터가 없거나 Google 프로필이 연결되어 있지 않으면 지표는 빈 배열이 아닌 null입니다. 집계할 때는 null과 []를 동일하게 처리해야 합니다.

날짜 범위의 Facebook 지표 조회

GET /locations/{locationId}/facebook-analytics는 data.facebookInsights 아래에 일별 시계열 5개가 있는 동일한 구조입니다. 사업장의 Facebook 페이지가 연결되어 있어야 합니다. ctaAction으로 캠페인 기간 동안의 "지금 예약" 또는 "지금 전화" 버튼 성과를 측정할 수 있습니다.

이름전달 위치필수 여부설명
locationIdpath예Base64 Relay id 또는 숫자형 databaseId입니다.
fromDatequery아니요범위의 시작일이며, YYYY-MM-DD 형식입니다. 기본값으로 최근 기간이 사용됩니다.
toDatequery아니요범위의 종료일이며, YYYY-MM-DD 형식입니다.
Facebook
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/facebook-analytics?fromDate=2026-08-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"
JSON
{  "data": {    "facebookInsights": {      "views": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 120 }],      "ctaAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 5 }],      "directionsAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 3 }],      "phoneAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 2 }],      "websiteAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 9 }]    }  }}
시계열의미
views총 페이지 조회 수입니다.
ctaAction페이지의 행동 유도 버튼 클릭 수입니다.
directionsAction페이지를 통한 길찾기 요청 수입니다.
phoneAction페이지에서 시작한 통화 수입니다.
websiteAction페이지에서 웹사이트로 이동한 클릭 수입니다.

페이지 좋아요 지표는 없습니다. 해당 범위에 페이지 데이터가 없거나 페이지가 연결되어 있지 않으면 모든 시계열이 null로 반환되므로, 반복 처리하기 전에 null인지 확인해야 합니다.

날짜 범위의 Bing 조회 수 조회

GET /locations/{locationId}/bing-analytics는 일별이 아닌 주별로 집계된 단일 시계열 data.bingInsights.views를 반환합니다. 각 데이터 포인트는 startTime부터 시작하는 1주일의 조회 수입니다. 데이터는 매주 월요일에 지난주 데이터로 갱신되므로, 조회할 수 있는 최신 데이터는 가장 최근에 종료된 주의 데이터입니다. 추세선을 확인하려면 여러 달에 걸친 범위를 조회합니다. 일별 기여도 분석에는 적합하지 않습니다.

이름전달 위치필수 여부참고 사항
locationIdpath예Base64 Relay id 또는 숫자 형식의 databaseId입니다.
fromDatequery아니요범위의 시작일이며, 형식은 YYYY-MM-DD입니다. 기본값은 최근 기간입니다.
toDatequery아니요범위의 종료일이며, 형식은 YYYY-MM-DD입니다.
Bing
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/bing-analytics?fromDate=2026-06-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"
JSON
{  "data": {    "bingInsights": {      "views": [        { "startTime": "2026-06-01T00:00:00+00:00", "value": 73 },        { "startTime": "2026-06-08T00:00:00+00:00", "value": 58 }      ]    }  }}
시계열의미
viewsBing Places 프로필 조회수이며, 주당 데이터 포인트 1개를 제공합니다.

Google 및 Facebook과 달리 Bing은 데이터가 없을 때 null 대신 200과 함께 빈 views 배열을 반환합니다. 두 경우 모두 "표시할 내용 없음"으로 처리하고, 빈 배열의 합계는 0이므로 "데이터 없음" 레이블을 표시하려면 length == 0을 검사합니다.

발생할 수 있는 오류

참조 페이지에는 분석 리소스에만 해당하는 오류 코드가 명시되어 있지 않습니다. 발생할 수 있는 경우는 다음과 같습니다.

코드의미해결 방법
SY90001이 포함된 401API 키가 누락되었거나 유효하지 않습니다.Authorization: API $LISTINGSAPI_KEY를 전송합니다.
googleInsights, facebookInsights 또는 bingInsights가 null로 설정되고 errors 배열이 포함된 200locationId가 숫자도 아니고 디코딩할 수 있는 Relay id도 아닙니다.조회 엔드포인트가 반환한 base64 id를 전달합니다. URL 인코딩을 하지 않습니다.
null 지표(Google, Facebook) 또는 빈 views 배열(Bing)이 포함되고 errors는 없는 200해당 기간의 데이터가 없거나 게시 플랫폼이 연결되어 있지 않습니다.0 대신 "사용 불가"를 표시합니다. 계정을 연결합니다.
429요청 빈도 제한에 걸렸습니다.Retry-After만큼 기다립니다. 요청 빈도 제한을 참조합니다.

전체 목록은 오류 코드에 있습니다.

다음 단계

  • 프로필 분석 데이터 조회: null 방어 조건을 적용하여 시계열을 월별 합계로 집계하고 두 기간을 비교합니다.
  • 리뷰 분석: 동일한 사업장의 평점, 리뷰 수, 답글 작성률을 기본 제공되는 기간별 차이와 함께 확인합니다.
  • 리뷰: 리뷰 분석 엔드포인트와 리뷰 리소스의 나머지 엔드포인트를 함께 확인합니다.
  • 참조 시작 페이지: 분석. SDK: Python 분석, Node 분석.