체인지로그새 기능

Commerce Search와 Commerce Product가 Google Shopping을 지원해요

API
COMMERCE_SERP와 COMMERCE_PRODUCT 칩이 붙은 Google Shopping, cerave moisturizing cream 검색의 1~3위 상품과 가격, 평점, 판매처, 그리고 1위 상품을 파는 판매처 4곳의 가격(Target 4.19달러부터 CVS Pharmacy 7.49달러까지)

Commerce Search로 미국 Google 쇼핑 탭을 검색하고, Commerce Product로 상품을 읽어 Google이 보여 주는 판매처마다 가격, 재고, 상품 페이지를 받아요.

받는 결과

  • COMMERCE_SERP의 site: "google_shopping": 태스크 하나가 미국 Google 쇼핑 탭을 검색하고, Google 순서대로 상품을 최대 40개 돌려줍니다. 상품마다 rank, productId, title, price, url이 담깁니다.
  • seller: 상품 카드에 나오는 판매처입니다. Target, Ulta Beauty, Walmart 같은 이름이 오고, 카드에 나오면 rating, reviewCount, imageUrl도 함께 옵니다.
  • COMMERCE_PRODUCT는 검색 결과의 url로 상품을 읽고 title, price, seller, inStock, rating, images, specs를 돌려줍니다.
  • offers: Google이 그 상품에 보여 주는 판매처 전부입니다. 판매처마다 seller, title, price, currency, inStock과 그 판매처 상품 페이지의 url이 담깁니다.

동작 방식

검색마다 미국에서 검색어로 나오는 Google 쇼핑 탭, 곧 google.com/search?udm=28 페이지를 읽습니다. 상품 url은 그 검색 결과 페이지를 열고, # 뒤에 상품 ID와 상품명을 담습니다. COMMERCE_PRODUCT는 이 값으로 같은 상품을 다시 찾습니다.

상품 읽기는 검색 결과 페이지를 열고 상품을 눌러, Google이 보여 주는 패널의 판매처, 설명, 사양, 사진을 읽습니다. 상품의 price, listPrice, seller, inStock은 Google이 최저가로 올린 첫 판매처에서 옵니다. Google은 넓은 검색어의 결과를 하루 동안 바꾸므로, 상품을 검색어로 먼저 찾고 다음에 상품명으로 찾습니다.

reviewCount는 Google이 보여 주는 정확한 수를 1,000까지 담습니다. 그보다 많으면 Google이 17K처럼 줄여 씁니다.

이렇게 활용하세요

  • 내 상품의 Google 최저가를 어느 판매처가 잡고 있는지, 다른 판매처는 얼마나 비싼지 봅니다.
  • 카테고리 검색어로 Google 쇼핑이 올리는 상품을 매일 추적하고, 같은 검색어의 Amazon, Walmart, Target 순위와 나란히 봅니다.
  • 한 상품을 파는 판매처의 상품 페이지를 한 번에 모으고, Target, Walmart, Ulta 페이지는 Commerce Product로 이어서 읽습니다.

요청 보내기

API 키를 Authorization 헤더에 넣어 요청을 보냅니다.

curl -X POST https://api.querying.ai/v1/async/task \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskType": "COMMERCE_SERP",
    "payload": {
      "site": "google_shopping",
      "query": "cerave moisturizing cream",
      "limit": 10
    }
  }'

요청 필드

taskTypestring필수
실행할 엔진입니다. CHATGPT, GOOGLE 같은 값을 넣습니다.
payload.sitestring필수
검색할 쇼핑몰입니다. amazon, coupang, rakuten 같은 값을 넣습니다. 21개 값은 엔진 설명에 있습니다.
payload.querystring필수
쇼핑하는 사람이 쇼핑몰 검색창에 입력하듯 쓴 검색어입니다. 1~500자.
payload.countrystring
쇼핑몰의 나라입니다. amazon은 US, coupang은 KR입니다. 넣지 않으면 이 값이 기본값입니다.
payload.limitinteger
돌려받을 상품 수, 1~40. 기본값 20.
webhook.urlstring
서버의 HTTPS 주소입니다. 태스크가 끝나는 즉시 결과를 이 주소로 보냅니다.

응답

완료된 태스크는 이런 형태입니다. 길이를 줄여 보여 드립니다.

JSON
{
  "success": true,
  "task": {
    "id": "b02ec42c-2ea1-4a6f-ba70-1b3099b8ceff",
    "taskType": "COMMERCE_SERP",
    "status": "COMPLETED",
    "createdAt": "2026-10-23T01:32:45.682Z"
  },
  "credits": { "creditsToCharge": 3, "creditsCharged": 3 },
  "response": {
    "site": "google_shopping",
    "query": "cerave moisturizing cream",
    "country": "US",
    "returnedCount": 10,
    "products": [
      {
        "rank": 1,
        "productId": "16245040360969784676",
        "title": "CeraVe Moisturizing Cream",
        "url": "https://www.google.com/search?q=cerave+moisturizing+cream&udm=28&gl=us&hl=en#product=16245040360969784676&title=CeraVe+Moisturizing+Cream",
        "price": 4.19,
        "currency": "USD",
        "seller": "Target",
        "rating": 4.7
      },
      {
        "rank": 2,
        "productId": "5074307725217910967",
        "title": "CeraVe Moisturizing Cream Pump",
        "url": "https://www.google.com/search?q=cerave+moisturizing+cream&udm=28&gl=us&hl=en#product=5074307725217910967&title=CeraVe+Moisturizing+Cream+Pump",
        "price": 17.99,
        "currency": "USD",
        "seller": "Target",
        "rating": 4.7
      },
      "…"
    ]
  }
}
task.statusstring
QUEUED, PROCESSING을 거쳐 답변과 함께 COMPLETED로, 또는 error와 함께 FAILED로 끝납니다.
credits.creditsChargedinteger
끝난 태스크에 청구된 크레딧입니다. 실패한 태스크는 0입니다.
response.returnedCountinteger
products에 담긴 상품 수입니다.
response.productsarray
Google 순서대로 담긴 상품입니다. rank, productId, title, url, price, currency, seller와, 상품 카드에 나오면 rating, reviewCount, imageUrl이 담깁니다.

결과 받기

요청하면 status가 QUEUED인 태스크가 바로 돌아옵니다. status가 COMPLETED나 FAILED가 될 때까지 GET /v1/async/task/{id}로 조회하거나, webhook.url을 넣어 같은 task, credits, response를 서버로 받으세요. 결과는 태스크가 끝난 뒤 24시간 동안 조회됩니다.

curl https://api.querying.ai/v1/async/task/$TASK_ID \
  -H "Authorization: Bearer $QUERYING_API_KEY"

상품 읽기

검색 결과의 상품 url을 COMMERCE_PRODUCT에 넣습니다. 위 1위 상품을 읽은 결과입니다. 길이를 줄여 보여 드립니다.

curl -X POST https://api.querying.ai/v1/async/task \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskType": "COMMERCE_PRODUCT",
    "payload": {
      "url": "https://www.google.com/search?q=cerave+moisturizing+cream&udm=28&gl=us&hl=en#product=16245040360969784676&title=CeraVe+Moisturizing+Cream"
    }
  }'
taskTypestring필수
실행할 엔진입니다. CHATGPT, GOOGLE 같은 값을 넣습니다.
payload.urlstring필수
google_shopping Commerce Search 결과의 상품 url입니다. 검색 결과 페이지를 열고, # 뒤에 상품 ID와 상품명을 담습니다.
JSON
{
  "success": true,
  "task": {
    "id": "9ee619d2-c87f-47ab-93cd-215ef3671734",
    "taskType": "COMMERCE_PRODUCT",
    "status": "COMPLETED",
    "createdAt": "2026-10-23T01:36:00.797Z"
  },
  "credits": { "creditsToCharge": 3, "creditsCharged": 3 },
  "response": {
    "site": "google_shopping",
    "country": "US",
    "url": "https://www.google.com/search?q=cerave+moisturizing+cream&udm=28&gl=us&hl=en#product=16245040360969784676&title=CeraVe+Moisturizing+Cream",
    "productId": "16245040360969784676",
    "title": "CeraVe Moisturizing Cream",
    "price": 4.19,
    "currency": "USD",
    "inStock": true,
    "seller": "Target",
    "rating": 4.7,
    "images": [
      "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcTdoC3RoTxQCkmpSUypL2HqkAR300eBZ_E3W2NCfz2MP4541LroFfQ8ZzNM2XIpm_xS_3c4dZU4_LMYtqQjE89N-Z8wH4Y_gA",
      "…"
    ],
    "specs": [
      { "name": "Benefit", "value": "Moisturizing" },
      { "name": "Form", "value": "Cream" },
      "…"
    ],
    "offers": [
      {
        "seller": "Target",
        "title": "CeraVe Moisturizing Face & Body Cream for Normal to Dry Skin – 1.89 fl oz",
        "url": "https://www.target.com/p/cerave-moisturizing-face-38-body-cream-for-normal-to-dry-skin-8211-1-89-fl-oz/-/A-86467779",
        "price": 4.19,
        "currency": "USD",
        "inStock": true
      },
      {
        "seller": "Ulta Beauty",
        "title": "CeraVe Moisturizing Cream Body and Face Moisturizer - 1.8 oz",
        "url": "https://www.ulta.com/p/moisturizing-cream-body-face-moisturizer-xlsImpprod3530069?sku=2532670",
        "price": 6.99,
        "currency": "USD",
        "inStock": true
      },
      "…"
    ]
  }
}
response.pricenumber
페이지가 처음 보여 주는 상품을 쿠폰과 배송비 전에 사는 가격이고, 단위는 currency(ISO 4217)입니다. listPrice는 price보다 높을 때 페이지가 줄을 그어 보여 주는 정가입니다.
response.offersarray
Google이 그 상품에 보여 주는 판매처를 Google 순서대로 담습니다. seller, title, price, currency와 판매처 상품 페이지의 url, 판매처 줄에 나오면 listPrice와 inStock이 담깁니다. 첫 판매처가 Google의 최저가입니다.

오류

VALIDATION_ERRORHTTP 422
site가 21개 쇼핑몰 밖에 있거나, query가 비었거나 500자를 넘거나, limit가 1~40 밖에 있거나, payload에 다른 필드가 있습니다. details에 해당 필드가 나옵니다.
VALIDATION_ERRORHTTP 422
url이 없거나, 2,048자를 넘거나, 쇼핑몰 18곳의 상품 페이지 밖에 있거나, payload에 url과 country 외의 필드가 있습니다. details에 해당 필드가 나옵니다.
REGION_UNSUPPORTEDHTTP 422
country가 쇼핑몰의 나라와 다릅니다. 예: amazon에 KR.
MISSING_API_KEYHTTP 401
Authorization 헤더가 빠졌거나, 키가 잘못됐거나 만료 또는 폐기됐습니다.
INSUFFICIENT_CREDITSHTTP 402
잔액이 태스크 가격보다 적습니다. 크레딧을 충전하거나 플랜을 올린 뒤 다시 보내세요.

요금

완료된 검색과 완료된 상품 읽기마다 다른 쇼핑몰과 같이 3크레딧이 차감됩니다. 크레딧은 태스크가 완료될 때 차감됩니다.

다른 업데이트

새 소식을 받아보세요

제품 업데이트를 이메일로 보내드립니다.

RSS 구독