최고수 공작소공공데이터 지도와 도구
자동으로 받는 중 출처 행정안전부 자료 기준일 마지막으로 받은 때 10:05 KST 담긴 곳 12,724 이 자료의 문제 원본 보기

착한가격업소 지정 현황

시·군·구청이 살펴보고 정한 착한가격업소의 이름·도로명주소·종류·대표 메뉴·값·좌표입니다. 시·군·구청이 정하고 행정안전부가 착한가격업소 누리집에 모아 공개합니다.

인용과 내려받기

행정안전부, 「착한가격업소 지정 현황」, 2026-07-29 기준. 최고수 공작소 가공. https://python-choigosu.com/data/goodprice-2026/ (확인일: YYYY-MM-DD).

기준일 2026-07-29 은 원본 기관이 공개한 자료의 날짜이고, 최종 수집은 2026-07-29 입니다. 이 주소는 최신 수집분을 가리키므로, 특정 시점을 인용하실 때는 위 기준일을 함께 적어 주십시오 — 그 시점의 원본은 아래 스냅샷 이력에 그대로 남아 있습니다.

전체 CSV 내려받기 12,724 · 20 기관 원본 페이지 필드 사전

UTF-8 BOM 을 붙였습니다. 한국어 Windows 의 Excel 은 BOM 이 없는 UTF-8 CSV 를 cp949 로 해석해 상호와 주소가 전부 깨집니다. 이 파일의 1차 독자가 기자와 연구자이고 그들이 여는 도구가 대부분 Excel 이므로, 그쪽이 바로 열리는 쪽을 골랐습니다. pandas·R·duckdb 로 읽으실 때는 인코딩을 utf-8-sig 로 지정하시면 됩니다 (지정하지 않으면 첫 열 이름 앞에 보이지 않는 문자가 붙습니다 — 그렇게 눈에 보이는 실패가 되도록 고른 것입니다). 줄바꿈은 CRLF(RFC 4180), 참·거짓 항목은 참일 때 Y, 아니면 빈 칸입니다.

이용조건이 미확인인 동안 원본 전량을 그대로 재배포하지 않으며, 이 CSV 는 주소를 정리하고 시군구 코드를 붙인 가공본입니다.

출처와 이용조건

착한가격업소 지정 현황의 출처 기관·원본·이용조건·마지막으로 받은 때·담긴 곳 수
자료 IDgoodprice-2026
출처 기관행정안전부
원본 https://goodprice.go.kr/
이용조건 공공누리 유형 미확인

착한가격업소 누리집은 이용조건(공공누리 유형)을 이 엔드포인트에 대해 명시하고 있지 않습니다. 같은 내용의 공공데이터포털 파일데이터(행정안전부 「착한가격업소 현황」, 데이터 번호 3045247)는 이용허락범위에 제한이 없다고 고지돼 있으나, 그 고지가 이 엔드포인트에 그대로 적용된다고 단정할 수 없어 미확인으로 표기합니다. 원본 전량 재배포는 하지 않으며, 이 페이지의 CSV 는 좌표·주소를 시군구 코드로 정규화하고 출처를 명시한 가공본입니다. 기관의 고지가 확인되면 유형을 여기에 적습니다.

데이터 기준일
최종 수집
담긴 곳 12,724
기간2026
지역대한민국
새로 고침 주기 주 1회 자동으로 받음 · 14일이 넘으면 밀렸다고 적음
쓰는 도구 A-01 착한가격 지도

어느 경로로 받았나

재현에 필요한 것을 전부 적습니다. 공식 오픈API 인지 아닌지도 그대로 밝힙니다 — 경로를 숨기면 재현할 수 없고, 재현할 수 없는 자료는 인용할 가치가 없습니다.

  1. HTTP POST 인증 불필요

    https://goodprice.go.kr/bssh/selectMapData.json

    파라미터 swLat=33.0 · swLng=124.5 · neLat=38.7 · neLng=131.0 · level=1

    착한가격업소 누리집 지도 화면이 쓰는 사이트 내부 엔드포인트입니다. 공공데이터포털에 문서화된 오픈API 가 아닙니다. 전국 통합 오픈API 가 존재하지 않아 (행정안전부 전국판 3045247 은 파일데이터만 제공되고 오픈API 는 지방자치단체별로 파편화돼 있습니다) 좌표가 포함된 전국 데이터를 한 번에 받을 수 있는 경로가 이것뿐이었습니다. robots.txt 에서 차단되지 않은 경로임을 확인했고, 주 1회로 호출을 제한합니다. level=1 은 서버측 클러스터링을 끄는 값이며, 올리면 개별 좌표 대신 군집 좌표가 내려옵니다.

  2. HTTP POST (파셋) 인증 불필요

    https://goodprice.go.kr/bssh/selectMapData.json

    파라미터 srchDlvrYn · parkingYn · packingYn · rsvtYn · grpUsePosblYn · mwmnToiletSeYn · componAnimalAcmpnyYn · infntFcltyYn · pwdbsFcltyYn · pregnantPrefrYn · areaCrrncyYn (각 Y)

    같은 엔드포인트에 편의시설 플래그를 붙이면 해당 조건에 맞는 가게 식별번호 목록이 내려옵니다. 플래그 11종을 각각 1회씩, 본체와 합쳐 요청 12회로 수집이 끝납니다.

  3. HTTP GET (폴백, 미사용) 인증 불필요

    https://goodprice.go.kr/bssh/bsshPageExcel.do?pageIndex=1&searchKeyword=

    위 경로가 막혔을 때를 대비한 공식 엑셀 내려받기입니다. 12,736건이 내려오지만 좌표가 없어 전량 지오코딩이 필요합니다. 현재는 쓰지 않으며, 폴백이 존재한다는 사실 자체를 적어 둡니다.

커버리지

착한가격업소 지정 현황의 지역 커버리지
범위전국 17개 시·도 · 시·군·구 256곳 가운데 가게가 있는 지역 전부. 특정 지역만 골라 받지 않았습니다.
데이터가 있는 지역 256개 시군구 · 16개 시도
지역 페이지 255개. 담긴 곳이 3건 미만인 지역은 만들지 않습니다 — 내용 없는 페이지를 대량 생산하지 않기 위해서입니다.
지역 미매칭 주소에서 시·군·구를 뽑지 못한 곳 0

스냅샷 이력

받은 원본을 항목을 골라내지 않고 통째로 압축해 저장소에 커밋합니다. 필요한 것만 남기면 공공데이터의 항목이 바뀐 사실 자체를 영원히 알 수 없기 때문입니다. 원본 API 가 죽어도 이 스냅샷만으로 사이트를 다시 빌드할 수 있습니다.

원본 스냅샷 파일 목록
수집일 파일 구분 크기(압축)
data/raw/chakhan/2026-07-29.facets.json.gz 부속 39.3KB
data/raw/chakhan/2026-07-29.json.gz 본체 1.2MB

가공 산출물: data/dist/chakhan/index.json 313.7KB · data/dist/chakhan/meta.json 206B

보존 정책 — 최신 1개와 매월 1일자 수집분은 영구 보관하고, 그 사이 주간 수집분은 정리합니다.

알려진 한계

  • 가격은 정해질 당시의 값이라 그 뒤에 올랐을 수 있습니다
  • 문 닫은 가게가 목록에서 빠지기까지 최대 세 달이 걸립니다
  • 가격을 모르는 가게가 100곳 가운데 3~4곳 있습니다
  • 4곳 가운데 1곳은 음식점이 아닙니다 — 미용실·이발소·세탁소·목욕탕·숙박 3,120곳(24.5%)이 함께 들어 있습니다
  • 유난히 비싼 값을 지우지 않았습니다 — 가장 비싼 854,400원까지 원본 그대로 싣습니다

각 항목을 풀어 쓴 설명과 자주 묻는 질문은 착한가격 지도 자료 설명에 있습니다. 여기 적힌 출처나 이용조건이 틀렸다면 알려 주세요.

스키마

아래 열 이름이 CSV 의 머리글이자 JSON 산출물의 키입니다. 채움률은 이번 수집분 12,724건을 직접 세어 계산했습니다. 참·거짓 항목은 참인 건수만 셉니다 — 원본이 참일 때만 기록하기 때문입니다.

착한가격업소 지정 현황의 필드 목록과 채움률
이름 채움률 설명
id 식별번호 string 100.0% (12,724) 착한가격업소 누리집이 가게마다 붙인 번호. 겹치지 않습니다.
원본 항목 bsshSn
name 가게 이름 string 100.0% (12,724) 기관이 공개한 가게 이름.
원본 항목 bsshNm
lat 위도 coordinate 100.0% (12,724) WGS84 위도. 기관이 부여한 좌표를 그대로 씁니다.
원본 항목 lat
lng 경도 coordinate 100.0% (12,724) WGS84 경도.
원본 항목 lot
addr 도로명주소 string 100.0% (12,724) 기관이 공개한 도로명주소. 괄호 뒤와 층·호 표기는 지웠습니다.
원본 항목 roadNmAddr
sgg 시군구 코드 string 100.0% (12,724) 행정안전부 행정표준코드 5자리. 주소를 읽어 우리가 붙인 값이며 원본에는 없습니다.
cat 종류 string 100.0% (12,724) 기관이 적은 종류를 정리한 값. 원본 표기를 그대로 씁니다. 예: 한식·일반, 미용업.
원본 항목 indutyNm
menu 대표 메뉴 string 100.0% (12,724) 기관이 공개한 대표 품목.
원본 항목 menuNm
price 가격 number 96.5% (12,284) 대표 메뉴 값(원). 원본이 자유 문자열이라 숫자를 뽑았고, 뽑지 못하면 비웁니다.
원본 항목 menuPc
flags.delivery 배달 boolean 11.4% (1,451) 배달 가능 가게로 표시돼 있음.
원본 항목 srchDlvrYn=Y
flags.parking 주차 boolean 22.7% (2,886) 주차 가능 가게로 표시돼 있음.
원본 항목 parkingYn=Y
flags.takeout 포장 boolean 25.1% (3,190) 포장 가능 가게로 표시돼 있음.
원본 항목 packingYn=Y
flags.reservation 예약 boolean 24.4% (3,103) 예약 가능 가게로 표시돼 있음.
원본 항목 rsvtYn=Y
flags.group 단체 이용 boolean 19.0% (2,416) 단체 이용 가능 가게로 표시돼 있음.
원본 항목 grpUsePosblYn=Y
flags.restroom 남녀 화장실 구분 boolean 16.2% (2,060) 남녀 화장실이 구분된 가게로 표시돼 있음.
원본 항목 mwmnToiletSeYn=Y
flags.pet 반려동물 동반 boolean 1.7% (214) 반려동물 동반 가능 가게로 표시돼 있음.
원본 항목 componAnimalAcmpnyYn=Y
flags.infant 유아 시설 boolean 1.2% (153) 유아 시설을 갖춘 가게로 표시돼 있음.
원본 항목 infntFcltyYn=Y
flags.barrierFree 장애인 편의 boolean 0.6% (74) 장애인 편의시설을 갖춘 가게로 표시돼 있음.
원본 항목 pwdbsFcltyYn=Y
flags.pregnant 임산부 우대 boolean 0.1% (8) 임산부 우대 가게로 표시돼 있음.
원본 항목 pregnantPrefrYn=Y
flags.localCurrency 지역화폐 boolean 41.1% (5,234) 지역화폐 결제가 가능한 가게로 표시돼 있음.
원본 항목 areaCrrncyYn=Y