Kakao Map Scraper - Places Extractor (Official API, No 45 Cap)
Pricing
from $3.00 / 1,000 places
Kakao Map Scraper - Places Extractor (Official API, No 45 Cap)
Get every Kakao Map place for a keyword or category in a Korean area via the official Kakao Local API, run with your own key. Grid splitting beats the 45-result limit. English categories, romanized names, coordinates, dedup.
Pricing
from $3.00 / 1,000 places
Rating
0.0
(0)
Developer
Koreadata Lab
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 hours ago
Last modified
Categories
Share
A Kakao Map scraper for Korean places: extract every place for a keyword or category in an area of Korea from Kakao Map (카카오맵) through the official Kakao Local API, with names, categories, addresses, phone numbers and coordinates. The API normally stops at 45 results per search. This actor splits the area into tiles automatically whenever a search hits that cap, so you get the full list for dense areas instead of only the first 45.
Live-tested on Apify: YES (2026-10-29). Keyword "카페", 1 km around Seongsu station, max 100: 87 unique cafes in 8 s, with the category auto-filter on (without it, places that only had "카페" in their name, such as a hair salon, slipped in).
Why this actor
- Beats the 45 cap with recursive quad-tree tiling and de-duplication.
- English output: English category path (
Restaurant > Cafe > Coffee shop), English category group, English region (Seoul Seongdong-gu) and a romanized place name (Eonieon Seongsu) for maps and apps aimed at foreigners. - Official API: no blocking and no proxies.
- PIPA-aware: mobile numbers (010/011/016-019), which can belong to individuals, are dropped by default. Business lines are kept.
Input
{ "query": "카페", "areaMode": "circle", "centerLat": "37.5446", "centerLng": "127.0557", "radiusMeters": 1000, "restApiKey": "YOUR_KAKAO_REST_KEY" }
Or use category-only search (categoryGroupCode: CE7 cafe, FD6 restaurant, AT4 tourist attraction, PM9 pharmacy and the other Kakao group codes) or a bounding box (areaMode: "rect", rect: "minLng,minLat,maxLng,maxLat"). maxPlaces (default 1,000) caps the number of places per run.
Output
Example (illustrative values), one place:
{"placeId": "26338954", "name": "어니언 성수", "nameRomanized": "Eonieon Seongsu","categoryPathKo": "음식점 > 카페 > 커피전문점", "categoryPathEn": "Restaurant > Cafe > Coffee shop","categoryLeafKo": "커피전문점", "categoryLeafEn": "Coffee shop", "categoryGroupCode": "CE7", "categoryGroupEn": "Cafe","phone": "070-7816-2718", "phoneMasked": false,"address": "서울 성동구 성수동2가 277-135", "roadAddress": "서울 성동구 아차산로9길 8", "regionEn": "Seoul Seongdong-gu","latitude": 37.544643, "longitude": 127.058389, "distanceMeters": 120,"url": "http://place.map.kakao.com/26338954", "query": "카페", "fetchedAt": "2026-10-29T06:00:00.000Z"}
When a place only lists a mobile number, phone is null and phoneMasked is true.
Endpoints used (official)
GET https://dapi.kakao.com/v2/local/search/keyword.jsonGET https://dapi.kakao.com/v2/local/search/category.json
Header: Authorization: KakaoAK {REST_API_KEY}. Get a key at developers.kakao.com and enable Kakao Map for the app. Daily quotas apply per app.
Limitations
- No reviews, ratings, opening hours or menus. The official Local API does not provide them, and this actor does not scrape place pages.
- Romanization is algorithmic (Revised Romanization, simplified). It is not the official English name of the business.
- English category names come from a static dictionary. Unknown terms are
null, and the Korean original is always kept. - Very dense areas may need
maxSplitDepth5 to 6. The log warns when a tile is still capped. - Kakao terms: results are for use inside your own service. The Kakao platform terms (Article 11) do not allow copying, publishing or redistributing the information, or selling it, without Kakao's prior consent. You run this actor with your own Kakao key and are responsible for that use.
API keys (secret inputs)
restApiKeyis a secret input (isSecretin the input schema): Apify stores it encrypted and hides it in the Console and in API responses.- The actor uses it only in the request headers sent to the official Kakao Local API (
dapi.kakao.com,Authorization: KakaoAK ...). It is never logged, never written to the dataset or key-value stores, and never put in URLs. - Use your own key. If it is exposed, reissue it in Kakao Developers (My Application > App Keys) and update the input.
Pricing (pay per event)
place-result: $3.00 per 1,000 places. Each unique place is charged once per run; duplicates from overlapping tiles are removed before charging.- Actor start: Apify's synthetic
apify-actor-startevent, a fraction of a cent per run. - Platform usage is included. You pay only the event prices above; the Apify compute of the run is not billed to you separately.
- Set Max total charge for a run to cap spend; the actor stops early when it is reached.
FAQ
Do I need my own API key? Yes, a Kakao REST API key. Sign in at developers.kakao.com, create an application, copy the REST API key from App Keys, and turn on Kakao Map (카카오맵) in the app's product settings. Kakao applies a daily quota per app.
How fresh is the data? Each run calls the Kakao Local API live, so you get the places Kakao Map lists at that moment. Nothing is cached between runs.
Can I schedule it? Yes, with an Apify Schedule (for example weekly or monthly) to refresh a place list for an area. Each run returns the full current list, not only changes.
What does a typical run cost? 100 places cost about $0.30. The live test above (87 cafes) cost about $0.26. A full 1,000-place run costs about $3.00.
Is this legal, and where does the data come from? The data comes from Kakao's official Local API, called with your own key. No Kakao Map pages are scraped. Kakao's terms limit use to your own service and do not allow redistributing or selling the data without Kakao's consent (see Limitations).