Use when the user asks for nearby cheapest gas stations or 근처 가장 싼 주유소. Always ask the user's current location first, then use Kakao Map anchor resolution plus official Opinet fuel-price APIs.
유저가 알려준 현재 위치를 기준으로 근처에서 가장 싼 주유소를 찾아준다.
위치 정보 없이 바로 검색하지 말고 반드시 먼저 물어본다.
현재 위치를 알려주세요. 동네/역명/랜드마크/위도·경도 중 편한 형식으로 보내주시면 근처에서 가장 싼 주유소를 찾아볼게요.휘발유 기준으로 볼까요, 경유 기준으로 볼까요? 따로 말씀 없으면 휘발유로 찾을게요.가까운 역명이나 동 이름으로 한 번만 더 알려주세요.기본적으로 https://k-skill-proxy.nomadamas.org/v1/opinet/around 와 /v1/opinet/detail 을 경유해 조회한다. 사용자 쪽에서 별도 OPINET_API_KEY 를 준비할 필요가 없다.
https://www.opinet.co.kr/user/custapi/openApiInfo.dohttps://www.opinet.co.kr/api/aroundAll.dohttps://www.opinet.co.kr/api/detailById.dohttps://www.opinet.co.kr/api/areaCode.do반경 검색 핵심 파라미터:
x, y: 기준 위치 KATEC 좌표radius: 반경(m, 최대 5000)prodcd: B027(휘발유), D047(경유), B034(고급휘발유), C004(등유), K015(LPG)sort=1: 가격순https://m.map.kakao.com/actions/searchView?q=<query>https://place-api.map.kakao.com/places/panel3/<confirmId>위치 문자열은 Kakao Map으로 anchor 좌표(WGS84) 를 구한 뒤, 내부적으로 WGS84 → KATEC 변환을 적용해 Opinet aroundAll.do 에 넘긴다.
aroundAll.do 를 sort=1 가격순으로 조회한다.detailById.do 를 호출해 도로명주소, 전화번호, 셀프 여부, 세차장, 경정비, 품질인증 여부를 보강한다.결과는 보통 아래 필드를 포함해 짧게 정리한다.
const { searchCheapGasStationsByLocationQuery } = require("cheap-gas-nearby");
async function main() {
const result = await searchCheapGasStationsByLocationQuery("서울역", {
productCode: "B027",
radius: 1000,
limit: 3
});
console.log(result.anchor);
console.log(result.items);
}
main().catch((error) => {
console.error(error);
process.exitCode = 1;
});
OPINET_API_KEY 가 서버에 설정되지 않은 경우.