con un clic
danawa-price-search
// 다나와 공개 검색/가격비교 표면으로 상품 후보를 찾고, 쇼핑몰별 최저가·배송비 포함 실구매가·카드 할인가·무이자 할부 정보를 보수적으로 비교한다.
// 다나와 공개 검색/가격비교 표면으로 상품 후보를 찾고, 쇼핑몰별 최저가·배송비 포함 실구매가·카드 할인가·무이자 할부 정보를 보수적으로 비교한다.
Look up Daiso products by store name and product keyword using official Daiso Mall store/search/stock surfaces. Use when the user wants to know whether a product is available at a specific Daiso store.
Use when the user asks for nearby Korean emergency rooms, 응급실, ER, or emergency bed/병상 status near a location. Ask for the user's current location first unless a location was already provided.
After installing the full k-skill bundle, configure and verify the shared cross-platform setup, then optionally wire update checks and GitHub starring with explicit user consent.
Use kakaocli on macOS to read KakaoTalk chats, search messages, send replies after explicit confirmation, and delete sent messages with explicit operator intent.
CGV, 메가박스, 롯데시네마 영화관 검색, 상영작, 시간표, 잔여석 조회가 필요할 때 사용한다.
공공데이터포털 창업진흥원 K-Startup Open API(15125364)로 통합 공고 사업 정보·지원사업 공고·창업 콘텐츠·통계보고서를 k-skill-proxy 경유로 조회한다. 검색 전용.
| name | danawa-price-search |
| description | 다나와 공개 검색/가격비교 표면으로 상품 후보를 찾고, 쇼핑몰별 최저가·배송비 포함 실구매가·카드 할인가·무이자 할부 정보를 보수적으로 비교한다. |
| license | MIT |
| metadata | {"category":"retail","locale":"ko-KR","phase":"v1"} |
다나와의 로그인 없는 공개 검색/가격비교 표면을 읽기 전용으로 호출해 한국 쇼핑몰 가격을 비교한다.
pcode를 찾는다.상품명 또는 검색어가 필요하다. 검색어가 넓으면 브랜드, 모델명, 용량, 색상, 자급제/통신사 여부 등을 추가로 물어본다.
권장 질문:
찾을 다나와 상품명이나 모델명을 알려주세요. 예: 갤럭시 S25 울트라 256GB 자급제, 에어팟 프로 2세대 USB-C
현재 구현은 인증 없는 공개 표면만 사용한다.
https://search.danawa.com/dsearch.php?query=...https://prod.danawa.com/info/?pcode=...https://prod.danawa.com/info/ajax/getAllPriceCompareMallList.ajax.phpAJAX endpoint는 HTML fragment를 반환한다. helper는 .diff_item, 쇼핑몰 로고 alt, em.prc_c/em.prc_t, 배송 문구, 결제조건 배지(.ico.cash/.ico.point/.ico.coupon/.ico.discount/.ico.card/.ico.membership 등), 카드 할인 라인, 무이자 할부 레이어, 다나와 bridge link를 파싱한다.
스킬 디렉터리에서 실행한다.
python scripts/danawa_search.py search "에어팟 프로 2세대" --limit 8
python scripts/danawa_search.py offers 28208783 --limit 10
python scripts/danawa_search.py compare "에어팟 프로 2세대" --limit 5 --offers 5
helper는 JSON만 출력한다. 결과를 확인한 뒤 사용자에게는 한국어 표와 짧은 결론으로 정리한다.
search{
"query": "...",
"source_url": "...",
"count": 0,
"items": []
}
각 items[] 주요 필드:
pcodetitleprice, price_textmall_texturlimage_urlspecoffers{
"pcode": "...",
"title": "...",
"source_url": "...",
"count": 0,
"normal_count": 0,
"conditional_count": 0,
"offers": [],
"meta": { "sort": "total_price" }
}
offers[]는 배송비 포함 실구매가(total_price) 오름차순으로 정렬된다. count / normal_count / conditional_count는 limit 적용 후 실제 반환된 offers[] window 기준이다. 결제조건(현금/쿠폰/포인트/할인/특정카드/멤버십 한정)이 붙은 row도 같은 정렬에 그대로 참여한다 — 가장 싸면 1위로 올라온다. 결제조건은 분리 그룹이나 추가 필터링 없이 row 단위 payment_badges / payment_condition_types / payment_condition_label / cash_only / point_only / coupon_only / card_only_badge / discount_badge / membership_badge / is_conditional_price 필드로 노출한다. 호출자는 사용자의 결제 수단에 따라 직접 판단한다.
각 offers[] 주요 필드:
mallprice, price_textshippingis_free_shippingshipping_feetotal_price, total_price_textcard_price, card_price_textcard_namecard_discount, card_discount_textinstallmentinstallment_detailpayment_badges — Danawa가 가격 옆에 노출한 결제조건 배지의 표시 라벨 목록. 배지 텍스트가 비어 있고 .ico.cash처럼 클래스만 있는 경우도 정규화 라벨을 합성한다 (예: ["현금"], ["포인트"], ["쿠폰"], ["카드"], ["할인"], ["멤버십"])payment_condition_types — 화이트리스트 배지를 정규화한 조건 타입 목록 (cash/point/coupon/card/discount/membership)payment_condition_label — 사용자 응답용 결제조건 라벨 (예: 현금, 할인, 멤버십, 복수 조건이면 현금, 할인)cash_only — 현금 결제 전용가point_only — 포인트 차감 적용가coupon_only — 쿠폰 적용가card_only_badge — 특정 카드 한정 노출가discount_badge — 할인 조건 배지 노출가membership_badge — 멤버십 조건 배지 노출가is_conditional_price — payment_condition_types가 하나 이상 있으면 True. 일반 결제가가 아니므로 카드 일반 결제 시 가격이 다르거나 불가능할 수 있음url항상 무료배송 여부, 배송비 포함 실구매가, 카드별 할인 가격, 무이자 할부 문구, 그리고 payment_badges/payment_condition_label/is_conditional_price를 함께 확인한다. 조건부 가격을 일반가처럼 1위로 노출하면 비교 결과가 거짓이 된다.
comparecompare는 검색 결과를 먼저 가져온 뒤 각 후보 상품에 대해 offers[]를 best-effort로 붙인다. 검색 결과가 애매하면 상위 후보의 제목과 pcode를 먼저 보여주고 선택을 요청한다.
Discord/Telegram/chat 응답에서는 표 형식을 우선한다.
| 순위 | 판매처 | 상품가 | 결제조건 | 배송 | 실구매가 | 카드할인가 | 무이자 | 링크 |
|---:|---|---:|---|---|---:|---:|---|---|
| 1 | 킴스클럽 | 979,000원 | **현금 전용** | 유/무료 | 979,000원 | - | - | 보기 |
| 2 | 롯데ON | 1,073,890원 | 일반 | 무료배송 | 1,073,890원 | - | - | 보기 |
| 3 | G마켓 | 1,089,590원 | 일반 | 무료배송 | 1,089,590원 | - | 최대 24개월 | 보기 |
| 4 | 옥션 | 1,121,780원 | **쿠폰 적용가** | 무료배송 | 1,121,780원 | 우리카드 303,720원 | 최대 24개월 | 보기 |
정렬 기준:
total_price 오름차순 단일 기준. 결제조건(현금/쿠폰/포인트/할인/특정카드/멤버십 한정)이 붙은 row도 같은 정렬에 그대로 참여한다 — 가장 싸면 1위로 올라온다. 결제조건은 분리 그룹화하지 않고 표의 "결제조건" 컬럼에 행별로 표시한다 (payment_condition_label이 있으면 그 값을 우선 표시, 없으면 "일반"; 세부 매핑은 cash → "현금 전용", coupon → "쿠폰 적용가", point → "포인트 적용가", card → 카드명/카드 조건, discount → "할인 조건", membership → "멤버십 조건"). 사용자는 자기 결제 수단에 따라 직접 판단한다.card_price가 있고 카드 적용 시 승자가 바뀌면 표 아래에 "카드 기준 최저가"를 별도로 적는다.요약 예시:
최저 실구매가: G마켓 217,950원 / 무료배송
카드 기준 최저가: 옥션 우리카드 303,720원
무이자: G마켓·옥션 최대 24개월 표기
카드 할인 markup이 없으면 "카드 할인가 표기 없음"이라고 쓰고, 체크아웃 할인 자체가 없다고 단정하지 않는다.
python scripts/danawa_search.py search "<검색어>" --limit 5로 후보를 확인한다.pcode로 offers를 실행한다.pcode를 보여주고 선택을 요청한다.total_price 오름차순 단일 기준으로 정렬한다 (결제조건 분리 그룹화하지 않음). 결제조건은 표의 "결제조건" 컬럼과 row 단위 플래그로만 표기하고, 1위가 현금/쿠폰가여도 그대로 1위로 노출한다.offers가 비거나 필드가 누락될 수 있다.cash/point/coupon/discount/card/membership 클래스, 현금/포인트/쿠폰/할인/카드/멤버십 텍스트 키워드)와 payment_condition_types/payment_condition_label 매핑을 함께 갱신해야 한다.