API 목록으로
🗺️ 지도·위치유료

카카오맵 API

카카오 · Kakao Maps API

인증 방식

🔑 API Key

요금

월 300만 건 무료, 이후 1만 건당 100원

Base URL

dapi.kakao.com

태그

지도, 지오코딩

서비스 소개

카카오맵 API는 한국 지도 서비스 중 주소 정확도가 가장 높습니다. JavaScript SDK로 웹에 지도를 삽입하거나 REST API로 주소→좌표 변환(지오코딩), 좌표→주소 변환(역지오코딩), 키워드 장소 검색, 카테고리 검색 등을 사용할 수 있습니다.

🚀 시작하기

  1. 1

    앱 등록

    developers.kakao.com → 내 애플리케이션 → 앱 추가

  2. 2

    플랫폼 등록

    플랫폼 → Web → 사이트 도메인 등록 (localhost 포함)

  3. 3

    JavaScript 키 확인

    앱 키 → JavaScript 키 복사 (지도 SDK용)

  4. 4

    REST API 키 확인

    REST API 키 복사 (서버사이드 지오코딩·검색용)

📋 응답 예시

{
  "documents": [{
    "address_name": "서울 강남구 테헤란로 152",
    "category_group_name": "지하철역",
    "place_name": "강남역",
    "x": "127.027619",
    "y": "37.497942",
    "distance": "0"
  }],
  "meta": { "total_count": 1 }
}

💡 코드 예제

JavaScript지도 삽입 (React)
// next.config.js — 스크립트 허용
/** @type {import('next').NextConfig} */
module.exports = {
  async headers() {
    return [{ source: '/(.*)', headers: [{ key: 'X-Frame-Options', value: 'SAMEORIGIN' }] }]
  }
}

// Map.tsx
'use client'
import { useEffect, useRef } from 'react'

declare global {
  interface Window { kakao: any }
}

export function KakaoMap() {
  const ref = useRef<HTMLDivElement>(null)

  useEffect(() => {
    const script = document.createElement('script')
    script.src = `//dapi.kakao.com/v2/maps/sdk.js?appkey=${process.env.NEXT_PUBLIC_KAKAO_MAP_KEY}&autoload=false`
    script.onload = () => {
      window.kakao.maps.load(() => {
        const map = new window.kakao.maps.Map(ref.current, {
          center: new window.kakao.maps.LatLng(37.5665, 126.9780),
          level: 3,
        })
      })
    }
    document.head.appendChild(script)
  }, [])

  return <div ref={ref} style={{ width: '100%', height: '400px' }} />
}
PythonPython (주소 검색)
import requests

def search_address(query: str, api_key: str) -> list:
    res = requests.get(
        "https://dapi.kakao.com/v2/local/search/keyword.json",
        headers={"Authorization": f"KakaoAK {api_key}"},
        params={"query": query, "size": 5},
    )
    return res.json()["documents"]

results = search_address("강남역", "YOUR_REST_API_KEY")
for r in results:
    print(r["place_name"], r["x"], r["y"])
cURLcURL (키워드 검색)
curl -X GET "https://dapi.kakao.com/v2/local/search/keyword.json?query=강남역" \
  -H "Authorization: KakaoAK YOUR_REST_API_KEY"