
Commerce Product를 소개해요
Amazon, Walmart, Sephora, 올리브영, Rakuten, Zalando 등 쇼핑몰 17곳의 상품 페이지 URL을 넣으면 가격, 재고, 대표 이미지와 상세 이미지, 상품 정보, 옵션을 같은 형식으로 받아요.

매장 하나를 ChatGPT, Gemini, Google, Copilot, 한국에서는 네이버에도 한 번에 묻고, 엔진마다 보여 주는 장소 정보와 그 출처, 공식 정보와 다른 점을 받아요.
POST /v1/place-lookup은 매장 하나의 이름과 주소 또는 지도 좌표를 받고, 있으면 전화번호, 웹사이트, 장소 ID도 받아 CHATGPT, GEMINI, GOOGLE, BING_COPILOT에, KR 매장은 NAVER_AI_TAB에도 묻습니다.GET /v1/place-lookup/{id}는 엔진마다 그 매장의 record를 돌려줍니다. google_maps, naver_place, yelp 같은 source, placeId와 페이지, 엔진이 보여 주는 이름, 주소, 전화번호, 웹사이트, 별점이 담깁니다.issues는 장소 정보의 문제를 짚습니다. phone_mismatch, website_mismatch, location_mismatch, other_business_record, 폐업 표시가 있습니다.summary는 매장을 보여 준 엔진과 엔진 사이에 다른 값(differences)을, credits는 지금까지 차감된 크레딧을 보여 줍니다.엔진마다 Show Canlis on a map과 주소를 더한 같은 질문처럼 두 번 묻고, 질문마다 그 엔진의 일반 태스크로 실행합니다. KR 매장은 한국어로 묻고, ChatGPT의 두 번째 질문만 영어로 묻습니다. 답변에 나온 장소 중 장소 ID, 전화번호, 웹사이트, 좌표, 주소, 이름이 매장과 가장 잘 맞는 것을 그 매장의 장소 정보로 고르고, 맞은 항목은 match에 나옵니다. 조회 결과는 읽을 때마다 저장된 답변으로 다시 판정하며, 대부분 2분 안에 끝납니다.
API 키를 Authorization 헤더에 넣어 요청을 보냅니다.
curl -X POST https://api.querying.ai/v1/place-lookup \
-H "Authorization: Bearer $QUERYING_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"place": {
"name": "Canlis",
"address": "2576 Aurora Ave N, Seattle, WA 98109",
"location": { "latitude": 47.6430534, "longitude": -122.3467361 },
"phone": "(206) 283-3313",
"website": "https://canlis.com/"
},
"country": "US",
"idempotencyKey": "canlis-2026-10"
}'place.namestring필수place.addressstringplace.location, 또는 둘 다 필요합니다.place.locationobjectlatitude, longitude). 보내면 장소 정보마다 매장까지의 거리가 붙고, 300m 넘게 떨어진 핀을 알려 줍니다.place.phonestringplace.websitestringhttp 또는 https URL. 장소 정보의 웹사이트를 사이트 단위로 비교합니다.place.googlePlaceIdstringplace.naverPlaceIdstringmap.naver.com, place.naver.com 페이지. 이 ID의 장소 정보는 그 매장입니다.place.yelpUrlstringyelp.com/biz/… 페이지. 이 업체의 장소 정보는 그 매장입니다.countrystring필수US, KR.enginesarrayCHATGPT, GEMINI, GOOGLE, BING_COPILOT, KR에서는 NAVER_AI_TAB까지 고릅니다. 기본값은 KR이면 다섯 개 모두, 그 밖의 국가는 앞의 네 개입니다.idempotencyKeystring응답입니다. 길이를 줄여 보여 드립니다.
{
"success": true,
"lookup": { "id": "canlis-2026-10" },
"tasks": [
{
"engine": "CHATGPT",
"ask": 1,
"success": true,
"task": {
"id": "…",
"taskType": "CHATGPT",
"status": "QUEUED",
"priority": 1,
"createdAt": "…",
"idempotencyKey": "canlis-2026-10:CHATGPT:1"
}
},
{ "engine": "CHATGPT", "ask": 2, "…": "…" },
{ "engine": "GEMINI", "ask": 1, "…": "…" }
]
}lookup.idstringGET /v1/place-lookup/{id}로 결과를 읽습니다.tasksarrayengine, ask, success와 대기열에 들어간 task, 자리를 기다리는 동안의 status: "PENDING", 또는 코드가 담긴 error가 옵니다. 태스크의 idempotencyKey는 조회 id, 엔진, 질문 번호를 이은 값입니다. 예: canlis-2026-10:CHATGPT:1.조회는 id로 5~10초마다 읽고, lookup.status가 COMPLETED가 되면 끝난 것입니다. 질문이 끝난 뒤 24시간 동안 읽을 수 있습니다.
curl "https://api.querying.ai/v1/place-lookup/$LOOKUP_ID" \
-H "Authorization: Bearer $QUERYING_API_KEY"Canlis 조회 결과를 줄이면 다음과 같습니다. ChatGPT는 음식점의 Yelp 장소 정보를, Gemini와 Copilot은 같은 Google 지도 장소 정보를 보여 줬고, Google 결과 페이지는 장소 없이 답해 found가 false입니다.
{
"success": true,
"lookup": {
"id": "canlis-2026-10",
"status": "COMPLETED",
"country": "US",
"engines": [
{
"engine": "CHATGPT",
"status": "COMPLETED",
"found": true,
"via": [{ "…": "…" }],
"record": {
"name": "Canlis",
"source": "yelp",
"provider": "yelp-feed",
"phone": "+1 206-283-3313",
"website": "https://canlis.com/",
"rating": 4,
"reviewCount": 1935,
"match": {
"same": true,
"by": ["phone", "website", "location", "address", "name"],
"nameScore": 1,
"distanceMeters": 5
},
"…": "…"
}
},
{
"engine": "GEMINI",
"status": "COMPLETED",
"found": true,
"via": [{ "…": "…" }],
"record": {
"name": "Canlis",
"source": "google_maps",
"placeId": "ChIJRXCfNwUVkFQRxraD8U-dANE",
"phone": "+1 206-283-3313",
"rating": 4.6,
"reviewCount": 2892,
"…": "…"
}
},
{
"engine": "GOOGLE",
"status": "COMPLETED",
"found": false,
"…": "…"
},
{
"engine": "BING_COPILOT",
"status": "COMPLETED",
"found": true,
"…": "…"
}
],
"summary": {
"foundIn": ["CHATGPT", "GEMINI", "BING_COPILOT"],
"notFoundIn": ["GOOGLE"],
"failed": [],
"pending": [],
"differences": []
},
"credits": 10
}
}lookup.statusstringPROCESSING, 끝나면 COMPLETED입니다.lookup.engines[].foundbooleantrue, 두 질문이 끝났는데 매장이 없으면 false, 질문이 실행 중이거나 둘 다 실패하면 null입니다.lookup.engines[].recordobjectlookup.engines[].record.sourcestringgoogle_maps, naver_place, yelp, tripadvisor, unknown 중 하나이고, placeId와 url은 그 출처에서의 ID와 페이지입니다.lookup.engines[].record.matchobjectby는 일치한 항목, nameScore는 0~1의 이름 유사도, distanceMeters는 place.location에서의 거리입니다.lookup.engines[].issuesarrayphone_mismatch, website_mismatch, location_mismatch, other_business_record, closed_permanently, closed_temporarily가 있습니다.lookup.summaryobjectfoundIn, notFoundIn, failed, pending)과, 엔진 사이에 다른 이름, 전화번호, 웹사이트, 핀을 값마다 그 엔진과 함께 담은 differences입니다.lookup.creditsnumber모든 질문이 거절되면 402나 403 같은 첫 거절이 응답입니다. 일부만 접수되면 200으로 응답하고, 거절된 질문마다 error가 붙습니다. 요금제의 동시 실행 자리가 모두 차 있으면 남은 질문은 PENDING으로 기다렸다가 실행 중인 태스크가 끝나는 대로 저절로 시작합니다. 그래서 태스크를 동시에 2개 실행하는 무료 플랜에서도 요청 한 번으로 조회 전체가 실행됩니다.
VALIDATION_ERRORHTTP 400details에 해당 필드가 나옵니다.INSUFFICIENT_CREDITSHTTP 402KEY_SCOPE_DENIEDHTTP 403RESOURCE_ALREADY_EXISTSHTTP 409idempotencyKey가 이미 다른 매장, 국가, 엔진 목록의 조회를 가리킵니다. 새 idempotencyKey로 보내면 새 조회가 됩니다.국가 기본 엔진에 모두 묻는 조회는 10크레딧입니다. KR은 질문 10개에 1씩, 그 밖의 국가는 질문 8개에 1.25씩입니다. 엔진을 일부만 고르면 보낸 질문만큼 내고, 실패한 질문은 0크레딧입니다. 플랜별 가격은 https://querying.ai/pricing 에서 볼 수 있습니다.

Amazon, Walmart, Sephora, 올리브영, Rakuten, Zalando 등 쇼핑몰 17곳의 상품 페이지 URL을 넣으면 가격, 재고, 대표 이미지와 상세 이미지, 상품 정보, 옵션을 같은 형식으로 받아요.

Amazon, Walmart, 쿠팡, 올리브영, Rakuten, Flipkart, Zalando 등 5개국 쇼핑몰 20곳에서 검색어의 상품 순위를 가격, 평점, 리뷰 수와 함께 같은 형식으로 받아요.
제품 업데이트를 이메일로 보내드립니다.