# Kakao Map Building Directory (카카오맵 건물 입점 업체) (`hgservices/kakao-map-building-directory`) Actor

List every business inside a Korean building, mall or office tower from Kakao Map (카카오맵): store name, category, floor, phone, homepage, address, GPS, rating and review count. Filter by category, e.g. all clinics in a tower. Lead lists by floor.

- **URL**: https://apify.com/hgservices/kakao-map-building-directory.md
- **Developed by:** [Harish Garg](https://apify.com/hgservices) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 scraped tenants

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Kakao Map Building Directory (카카오맵 건물 입점 업체)

Get every business inside a Korean building, shopping mall or office tower from [Kakao Map](https://map.kakao.com) (카카오맵) — with the **floor**, **phone number**, homepage, address, GPS coordinates, rating and review count of each one.

Give the Actor one place: the building itself, or any shop inside it. It finds the building and lists everything Kakao Map knows is inside — for example all 313 stores, restaurants and services in Starfield COEX Mall, or all clinics in a medical tower.

### What can you use it for?

- **B2B lead lists by building** — every clinic, academy or office in a tower, with phone numbers and floors.
- **Retail and leasing research** — the tenant mix of a mall or a mixed-use complex, floor by floor.
- **Competitor mapping** — which brands share a building with yours.
- **Site selection** — what is already open in the buildings you look at.

### What data do you get?

| Field | Example |
|---|---|
| Building name, ID, URL and address | 스타필드 코엑스몰, 8558184, 서울 강남구 영동대로 513 |
| Place name, ID and Kakao Map URL | 하동관 코엑스몰직영점, 26428654 |
| Category, category group and full category path | 곰탕 · FOOD_DINING · 음식점 > 한식 > 국밥 |
| Floors (as written and as numbers) | \["지하1층"] · \[-1] |
| Phone (first and all) | 02-551-5959 |
| Homepage | https://… |
| Road-name address, lot-number address, address detail, postal code, region | 서울 강남구 … |
| Latitude and longitude | 37.5112, 127.0598 |
| Rating (out of 5) and review count | 3.3 · 207 |
| Image URL | https://t1.kakaocdn.net/… |

#### Example row

```json
{
    "inputPlace": "8558184",
    "buildingId": "8558184",
    "buildingName": "스타필드 코엑스몰",
    "buildingUrl": "https://place.map.kakao.com/8558184",
    "buildingAddress": "서울 강남구 영동대로 513 지하1-지하2층, 1층",
    "placeId": "2104663194",
    "name": "별마당도서관 스타필드코엑스몰",
    "url": "https://place.map.kakao.com/2104663194",
    "category": "도서관",
    "categoryGroup": "EDUCATION_TRAINING",
    "categoryGroupName": "교육ㆍ학원",
    "categoryPath": "교육,학문 > 학습시설 > 도서관",
    "floors": ["지하1층", "1층"],
    "floorLevels": [-1, 1],
    "phone": "02-6002-3031",
    "phones": ["02-6002-3031"],
    "homepage": "https://www.starfield.co.kr/coexmall/entertainment/library.do",
    "address": "서울 강남구 삼성동 159-9 지하1층-1층",
    "jibunAddress": "서울 강남구 삼성동 159-9 지하1층-1층",
    "addressDetail": "지하1층-1층",
    "postalCode": null,
    "region": "서울 강남구 삼성동",
    "latitude": 37.510192859355016,
    "longitude": 127.06015941426635,
    "rating": 4.3,
    "reviewCount": 174,
    "imageUrl": "http://t1.kakaocdn.net/local/kakaomapPhoto/review/527fb7f9ffd6504b3eaf6fd014800916c59c243e?original",
    "detailStatus": "ok",
    "scrapedAt": "2026-10-20T16:20:52.505Z"
}
```

### How to use it

1. Open the building or any shop inside it on [Kakao Map](https://map.kakao.com) and copy the place URL, e.g. `https://place.map.kakao.com/8558184`. The number at the end (the place ID) works too.
2. Paste one or more places into **Kakao Map places**, one per line.
3. Optional: pick **Categories** to list only some kinds of places, e.g. *Healthcare & medical* for clinics.
4. Click **Start**. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

#### Input example

```json
{
    "places": ["https://place.map.kakao.com/8558184", "https://place.map.kakao.com/1303358665"],
    "categories": ["HEALTHCARE_MEDICAL", "CAFE"]
}
```

Accepted place formats: `https://place.map.kakao.com/8558184`, `https://map.kakao.com/?itemId=8558184`, `https://map.kakao.com/link/map/8558184` and `8558184`.

### Which buildings work?

Kakao Map keeps a building directory (the "이 건물의 다른 장소" list) for many malls, department stores, office towers, mixed-use complexes and large buildings. Many small street-level buildings have no directory. When a place has no building directory, the run log says so and the place gives no rows.

If you give two places in the same building, the building is listed once.

### How much does it cost?

The Actor uses pay-per-event pricing:

- **Building checked** — once for each place in your input, whatever the result.
- **Tenant scraped** — once for each place row in the results.

A building with 300 places costs 1 building event plus 300 tenant events. Use **Categories** to pay only for the places you need. You can also set a maximum cost per run in the run options — the Actor stops when it reaches it.

### Tips

- Give the building's own Kakao Map page when you know it — it always works. A shop page works too.
- `floorLevels` makes sorting easy: basement floors are negative (지하1층 = −1).
- `rating` is empty while Kakao Map still collects reviews for a place.
- `detailStatus` tells you whether the phone and address part was read (`ok`), the place has no detail page (`not_found`), or the detail page could not be read (`fetch_failed`).

### Related Actors

- **Kakao Map Search Scraper** — search Kakao Map by keyword and get places with phone, address, rating and amenities.
- **Kakao Map Reviews Scraper** — get Kakao Map reviews and blog reviews for any place.

### Legal

This Actor collects data that Kakao Map shows publicly without a login. Make sure that your use of the data obeys Kakao's terms and the law where you work, including Korea's Personal Information Protection Act. Do not use the data for spam.

# Actor input Schema

## `places` (type: `array`):

One per line: a Kakao Map place URL (https://place.map.kakao.com/8558184) or a place ID (8558184). Give the building, mall or tower itself, or any shop inside it — the Actor finds the building and lists everything in it. Each building is listed once, even when several places point to it.

## `categories` (type: `array`):

Only list places in these categories — for example 'Healthcare & medical' for all clinics in a tower. Leave empty for every place in the building.

## Actor input object example

```json
{
  "places": [
    "https://place.map.kakao.com/8558184"
  ]
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "places": [
        "https://place.map.kakao.com/8558184"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("hgservices/kakao-map-building-directory").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "places": ["https://place.map.kakao.com/8558184"] }

# Run the Actor and wait for it to finish
run = client.actor("hgservices/kakao-map-building-directory").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "places": [
    "https://place.map.kakao.com/8558184"
  ]
}' |
apify call hgservices/kakao-map-building-directory --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hgservices/kakao-map-building-directory"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/0TXFdfE9JUUFqlxm7/builds/kFgxOqIW9Q4K6wUpF/openapi.json
