Skip to content
Back to skills

Seoul Subway

ASecurity

Seoul Subway assistant for real-time arrivals, route planning, and service alerts (Korean/English)

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentsrustgobashexpressgitapi

Works with

  • terminal
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add johnalbertini14-glitch/openclaw-skills --skill seoul-subway --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Seoul Subway?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Seoul Subway
[![Security: A โ€” Skills Directory](https://www.skillsdirectory.com/api/skills/johnalbertini14-glitch-seoul-subway/badge)](https://www.skillsdirectory.com/skills/johnalbertini14-glitch-seoul-subway)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: seoul-subway
description: Seoul Subway assistant for real-time arrivals, route planning, and service alerts (Korean/English)
model: sonnet
metadata: {"moltbot":{"emoji":"๐Ÿš‡"}}
homepage: https://github.com/dukbong/seoul-subway
user-invocable: true
---

# Seoul Subway Skill

Query real-time Seoul Subway information. **No API key required** - uses proxy server.

## Features

| Feature | Description | Trigger Example (KO) | Trigger Example (EN) |
|---------|-------------|----------------------|----------------------|
| Real-time Arrival | Train arrival times by station | "๊ฐ•๋‚จ์—ญ ๋„์ฐฉ์ •๋ณด" | "Gangnam station arrivals" |
| Station Search | Line and station code lookup | "๊ฐ•๋‚จ์—ญ ๋ช‡ํ˜ธ์„ ?" | "What line is Gangnam?" |
| Route Search | Shortest path with time/fare | "์‹ ๋„๋ฆผ์—์„œ ์„œ์šธ์—ญ" | "Sindorim to Seoul Station" |
| Service Alerts | Delays, incidents, non-stops | "์ง€ํ•˜์ฒ  ์ง€์—ฐ ์žˆ์–ด?" | "Any subway delays?" |
| **Last Train** | Last train times by station | "ํ™๋Œ€ ๋ง‰์ฐจ ๋ช‡ ์‹œ์•ผ?" | "Last train to Hongdae?" |
| **Exit Info** | Exit numbers for landmarks | "์ฝ”์—‘์Šค ๋ช‡ ๋ฒˆ ์ถœ๊ตฌ?" | "Which exit for COEX?" |
| **Accessibility** | Elevators, escalators, wheelchair lifts | "๊ฐ•๋‚จ์—ญ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ" | "Gangnam elevators" |
| **Quick Exit** | Best car for facilities | "๊ฐ•๋‚จ์—ญ ๋น ๋ฅธํ•˜์ฐจ" | "Gangnam quick exit" |
| **Restrooms** | Restroom locations | "๊ฐ•๋‚จ์—ญ ํ™”์žฅ์‹ค" | "Gangnam restrooms" |

### Natural Language Triggers / ์ž์—ฐ์–ด ํŠธ๋ฆฌ๊ฑฐ

๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ํ‘œํ˜„์„ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค:

#### Real-time Arrival / ์‹ค์‹œ๊ฐ„ ๋„์ฐฉ
| English | ํ•œ๊ตญ์–ด |
|---------|--------|
| "When's the next train at Gangnam?" | "๊ฐ•๋‚จ ๋ช‡ ๋ถ„ ๋‚จ์•˜์–ด?" |
| "Trains at Gangnam" | "๊ฐ•๋‚จ ์—ด์ฐจ" |
| "Gangnam arrivals" | "๊ฐ•๋‚จ ์–ธ์ œ ์™€?" |
| "Next train to Gangnam" | "๋‹ค์Œ ์—ด์ฐจ ๊ฐ•๋‚จ" |

#### Route Search / ๊ฒฝ๋กœ ๊ฒ€์ƒ‰
| English | ํ•œ๊ตญ์–ด |
|---------|--------|
| "How do I get to Seoul Station from Gangnam?" | "๊ฐ•๋‚จ์—์„œ ์„œ์šธ์—ญ ์–ด๋–ป๊ฒŒ ๊ฐ€?" |
| "Gangnam โ†’ Seoul Station" | "๊ฐ•๋‚จ โ†’ ์„œ์šธ์—ญ" |
| "Gangnam to Seoul Station" | "๊ฐ•๋‚จ์—์„œ ์„œ์šธ์—ญ ๊ฐ€๋Š” ๊ธธ" |
| "Route from Gangnam to Hongdae" | "๊ฐ•๋‚จ๋ถ€ํ„ฐ ํ™๋Œ€๊นŒ์ง€" |

#### Service Alerts / ์šดํ–‰ ์•Œ๋ฆผ
| English | ํ•œ๊ตญ์–ด |
|---------|--------|
| "Is Line 2 running normally?" | "2ํ˜ธ์„  ์ •์ƒ ์šดํ–‰ํ•ด?" |
| "Any delays on Line 1?" | "1ํ˜ธ์„  ์ง€์—ฐ ์žˆ์–ด?" |
| "Subway status" | "์ง€ํ•˜์ฒ  ์ƒํ™ฉ" |
| "Line 3 alerts" | "3ํ˜ธ์„  ์•Œ๋ฆผ" |

#### Last Train / ๋ง‰์ฐจ ์‹œ๊ฐ„
| English | ํ•œ๊ตญ์–ด |
|---------|--------|
| "Last train to Gangnam?" | "๊ฐ•๋‚จ ๋ง‰์ฐจ ๋ช‡ ์‹œ์•ผ?" |
| "When is the last train at Hongdae?" | "ํ™๋Œ€์ž…๊ตฌ ๋ง‰์ฐจ ์‹œ๊ฐ„" |
| "Final train to Seoul Station" | "์„œ์šธ์—ญ ๋ง‰์ฐจ" |
| "Last train on Saturday?" | "ํ† ์š”์ผ ๋ง‰์ฐจ ์‹œ๊ฐ„" |

#### Exit Info / ์ถœ๊ตฌ ์ •๋ณด
| English | ํ•œ๊ตญ์–ด |
|---------|--------|
| "Which exit for COEX?" | "์ฝ”์—‘์Šค ๋ช‡ ๋ฒˆ ์ถœ๊ตฌ?" |
| "Exit for Lotte World" | "๋กฏ๋ฐ์›”๋“œ ์ถœ๊ตฌ" |
| "DDP which exit?" | "DDP ๋ช‡ ๋ฒˆ ์ถœ๊ตฌ?" |
| "Gyeongbokgung Palace exit" | "๊ฒฝ๋ณต๊ถ ๋‚˜๊ฐ€๋Š” ์ถœ๊ตฌ" |

#### Accessibility / ์ ‘๊ทผ์„ฑ ์ •๋ณด
| English | ํ•œ๊ตญ์–ด |
|---------|--------|
| "Gangnam station elevators" | "๊ฐ•๋‚จ์—ญ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ" |
| "Escalators at Seoul Station" | "์„œ์šธ์—ญ ์—์Šค์ปฌ๋ ˆ์ดํ„ฐ" |
| "Wheelchair lifts at Jamsil" | "์ž ์‹ค์—ญ ํœ ์ฒด์–ด๋ฆฌํ”„ํŠธ" |
| "Accessibility info for Hongdae" | "ํ™๋Œ€์ž…๊ตฌ ์ ‘๊ทผ์„ฑ ์ •๋ณด" |

#### Quick Exit / ๋น ๋ฅธํ•˜์ฐจ
| English | ํ•œ๊ตญ์–ด |
|---------|--------|
| "Quick exit at Gangnam" | "๊ฐ•๋‚จ์—ญ ๋น ๋ฅธํ•˜์ฐจ" |
| "Which car for elevator?" | "์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ๋ช‡ ๋ฒˆ์งธ ์นธ?" |
| "Best car for exit 3" | "3๋ฒˆ ์ถœ๊ตฌ ๊ฐ€๊นŒ์šด ์นธ" |
| "Fastest exit at Samsung" | "์‚ผ์„ฑ์—ญ ๋น ๋ฅธ ํ•˜์ฐจ ์œ„์น˜" |

#### Restrooms / ํ™”์žฅ์‹ค
| English | ํ•œ๊ตญ์–ด |
|---------|--------|
| "Restrooms at Gangnam" | "๊ฐ•๋‚จ์—ญ ํ™”์žฅ์‹ค" |
| "Where's the bathroom at Myeongdong?" | "๋ช…๋™์—ญ ํ™”์žฅ์‹ค ์–ด๋””์•ผ?" |
| "Accessible restroom at Seoul Station" | "์„œ์šธ์—ญ ์žฅ์• ์ธ ํ™”์žฅ์‹ค" |
| "Baby changing station at Jamsil" | "์ž ์‹ค์—ญ ๊ธฐ์ €๊ท€ ๊ตํ™˜๋Œ€" |

---

## First Time Setup / ์ฒซ ์‚ฌ์šฉ ์•ˆ๋‚ด

When you first use this skill, you'll see a permission prompt for the proxy domain.

์ฒ˜์Œ ์‚ฌ์šฉ ์‹œ ํ”„๋ก์‹œ ๋„๋ฉ”์ธ ์ ‘๊ทผ ํ™•์ธ ์ฐฝ์ด ๋œน๋‹ˆ๋‹ค.

**Recommended / ๊ถŒ์žฅ:** Select `Yes` to allow access for this session.

์ด ์„ธ์…˜์—์„œ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋ ค๋ฉด `Yes`๋ฅผ ์„ ํƒํ•˜์„ธ์š”.

> **Note / ์ฐธ๊ณ :** You may also select `Yes, and don't ask again` for convenience,
> but only if you trust the proxy server. The proxy receives only station names
> and search parameters -- never your conversation context or personal data.
> See [Data Privacy](#data-privacy--๋ฐ์ดํ„ฐ-ํ”„๋ผ์ด๋ฒ„์‹œ) below for details.
>
> ํŽธ์˜๋ฅผ ์œ„ํ•ด `Yes, and don't ask again`์„ ์„ ํƒํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ,
> ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ์‹ ๋ขฐํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
> ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ [๋ฐ์ดํ„ฐ ํ”„๋ผ์ด๋ฒ„์‹œ](#data-privacy--๋ฐ์ดํ„ฐ-ํ”„๋ผ์ด๋ฒ„์‹œ) ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

---

## Data Privacy / ๋ฐ์ดํ„ฐ ํ”„๋ผ์ด๋ฒ„์‹œ

This skill sends requests to a proxy server at `vercel-proxy-henna-eight.vercel.app`.

์ด ์Šคํ‚ฌ์€ `vercel-proxy-henna-eight.vercel.app` ํ”„๋ก์‹œ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

### What is sent / ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ

- **Station names** (Korean or English, e.g., "๊ฐ•๋‚จ", "Gangnam")
- **Search parameters** (departure/arrival stations for routes, line filters for alerts, pagination values)
- Standard HTTP headers (IP address, User-Agent)

์—ญ ์ด๋ฆ„, ๊ฒ€์ƒ‰ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ํ‘œ์ค€ HTTP ํ—ค๋”๋งŒ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

### What is NOT sent / ์ „์†ก๋˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ

- Your conversation history or context
- Personal information, files, or project data
- Authentication credentials of any kind

๋Œ€ํ™” ๋‚ด์šฉ, ๊ฐœ์ธ ์ •๋ณด, ํŒŒ์ผ ๋˜๋Š” ํ”„๋กœ์ ํŠธ ๋ฐ์ดํ„ฐ๋Š” ์ „์†ก๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

### Proxy server protections / ํ”„๋ก์‹œ ์„œ๋ฒ„ ๋ณดํ˜ธ ์กฐ์น˜

- **Input validation**: Station names limited to 50 characters, Korean/English/numbers only
- **Rate limiting**: 100 requests per minute per IP
- **Sensitive data masking**: API keys and tokens are masked in all server logs
- **No authentication required**: No user accounts or tracking
- **Open source**: Proxy source code is available at [github.com/dukbong/seoul-subway](https://github.com/dukbong/seoul-subway)

์ž…๋ ฅ ๊ฒ€์ฆ, ์†๋„ ์ œํ•œ, ๋กœ๊ทธ์—์„œ์˜ ๋ฏผ๊ฐ ์ •๋ณด ๋งˆ์Šคํ‚น, ์ธ์ฆ ๋ถˆํ•„์š”, ์˜คํ”ˆ ์†Œ์Šค.

---

## Proxy API Reference

All API calls go through the proxy server. No API keys needed for users.

> **Note:** The `curl` commands below are for API reference only.
> Claude uses `WebFetch` to call these endpoints -- no binary tools are required.
>
> ์•„๋ž˜ `curl` ๋ช…๋ น์€ API ์ฐธ์กฐ์šฉ์ž…๋‹ˆ๋‹ค. Claude๋Š” `WebFetch`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

### Base URL

```
https://vercel-proxy-henna-eight.vercel.app
```

### 1. Real-time Arrival Info

**Endpoint**
```
GET /api/realtime/{station}?start=0&end=10
```

**Parameters**

| Parameter | Required | Description |
|-----------|----------|-------------|
| station | Yes | Station name (Korean, URL-encoded) |
| start | No | Start index (default: 0) |
| end | No | End index (default: 10) |
| format | No | `formatted` (markdown, default) or `raw` (JSON) |
| lang | No | `ko` (default) or `en` |

**Response Fields**

| Field | Description |
|-------|-------------|
| `subwayId` | Line ID (1002=Line 2, 1077=Sinbundang) |
| `trainLineNm` | Direction (e.g., "์„ฑ์ˆ˜ํ–‰ - ์—ญ์‚ผ๋ฐฉ๋ฉด") |
| `arvlMsg2` | Arrival time (e.g., "4๋ถ„ 20์ดˆ ํ›„") |
| `arvlMsg3` | Current location |
| `isFastTrain` | Fast train flag (1=๊ธ‰ํ–‰) |

**Example**
```bash
curl "https://vercel-proxy-henna-eight.vercel.app/api/realtime/๊ฐ•๋‚จ"
```

---

### 2. Station Search

**Endpoint**
```
GET /api/stations?station={name}&start=1&end=10
```

**Parameters**

| Parameter | Required | Description |
|-----------|----------|-------------|
| station | Yes | Station name to search |
| start | No | Start index (default: 1) |
| end | No | End index (default: 10) |

**Response Fields**

| Field | Description |
|-------|-------------|
| `STATION_CD` | Station code |
| `STATION_NM` | Station name |
| `LINE_NUM` | Line name (e.g., "02ํ˜ธ์„ ") |
| `FR_CODE` | External station code |

**Example**
```bash
curl "https://vercel-proxy-henna-eight.vercel.app/api/stations?station=๊ฐ•๋‚จ"
```

---

### 3. Route Search

**Endpoint**
```
GET /api/route?dptreStnNm={departure}&arvlStnNm={arrival}
```

**Parameters**

| Parameter | Required | Description |
|-----------|----------|-------------|
| dptreStnNm | Yes | Departure station |
| arvlStnNm | Yes | Arrival station |
| searchDt | No | Datetime (yyyy-MM-dd HH:mm:ss) |
| searchType | No | duration / distance / transfer |
| format | No | `formatted` (markdown, default) or `raw` (JSON) |
| lang | No | `ko` (default) or `en` |

**Response Fields**

| Field | Description |
|-------|-------------|
| `totalDstc` | Total distance (m) |
| `totalreqHr` | Total time (seconds) |
| `totalCardCrg` | Fare (KRW) |
| `paths[].trainno` | Train number |
| `paths[].trainDptreTm` | Departure time |
| `paths[].trainArvlTm` | Arrival time |
| `paths[].trsitYn` | Transfer flag |

**Example**
```bash
curl "https://vercel-proxy-henna-eight.vercel.app/api/route?dptreStnNm=์‹ ๋„๋ฆผ&arvlStnNm=์„œ์šธ์—ญ"
```

---

### 4. Service Alerts

**Endpoint**
```
GET /api/alerts?pageNo=1&numOfRows=10&format=enhanced
```

**Parameters**

| Parameter | Required | Description |
|-----------|----------|-------------|
| pageNo | No | Page number (default: 1) |
| numOfRows | No | Results per page (default: 10) |
| lineNm | No | Filter by line |
| format | No | `default` or `enhanced` (structured response) |

**Response Fields (Default)**

| Field | Description |
|-------|-------------|
| `ntceNo` | Notice number |
| `ntceSj` | Notice title |
| `ntceCn` | Notice content |
| `lineNm` | Line name |
| `regDt` | Registration date |

**Response Fields (Enhanced)**

| Field | Description |
|-------|-------------|
| `summary.delayedLines` | Lines with delays |
| `summary.suspendedLines` | Lines with service suspended |
| `summary.normalLines` | Lines operating normally |
| `alerts[].lineName` | Line name (Korean) |
| `alerts[].lineNameEn` | Line name (English) |
| `alerts[].status` | `normal`, `delayed`, or `suspended` |
| `alerts[].severity` | `low`, `medium`, or `high` |
| `alerts[].title` | Alert title |

**Example**
```bash
# Default format
curl "https://vercel-proxy-henna-eight.vercel.app/api/alerts"

# Enhanced format with status summary
curl "https://vercel-proxy-henna-eight.vercel.app/api/alerts?format=enhanced"
```

---

### 5. Last Train Time

> **์ฐธ๊ณ :** ์ด API๋Š” ์ฃผ์š” ์—ญ 77๊ฐœ์˜ ๋ง‰์ฐจ ์‹œ๊ฐ„์„ ์ •์  ๋ฐ์ดํ„ฐ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
> ์„œ์šธ๊ตํ†ต๊ณต์‚ฌ 2025๋…„ 1์›” ๊ธฐ์ค€ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.
>
> **์ง€์› ์—ญ (77๊ฐœ):**
> ๊ฐ€์‚ฐ๋””์ง€ํ„ธ๋‹จ์ง€, ๊ฐ•๋‚จ, ๊ฐ•๋‚จ๊ตฌ์ฒญ, ๊ฐ•๋ณ€, ๊ฑด๋Œ€์ž…๊ตฌ, ๊ฒฝ๋ณต๊ถ, ๊ณ ์†ํ„ฐ๋ฏธ๋„, ๊ณต๋•, ๊ด‘๋‚˜๋ฃจ, ๊ด‘ํ™”๋ฌธ, ๊ต๋Œ€, ๊ตฌ๋กœ, ๊ตฐ์ž, ๊น€ํฌ๊ณตํ•ญ, ๋…ธ๋Ÿ‰์ง„, ๋‹น์‚ฐ, ๋Œ€๋ฆผ, ๋™๋Œ€๋ฌธ, ๋™๋Œ€๋ฌธ์—ญ์‚ฌ๋ฌธํ™”๊ณต์›, ๋””์ง€ํ„ธ๋ฏธ๋””์–ด์‹œํ‹ฐ, ๋š์„ฌ, ๋งˆํฌ๊ตฌ์ฒญ, ๋ช…๋™, ๋ชจ๋ž€, ๋ชฝ์ดŒํ† ์„ฑ, ๋ณต์ •, ๋ถˆ๊ด‘, ์‚ฌ๊ฐ€์ •, ์‚ฌ๋‹น, ์‚ผ๊ฐ์ง€, ์‚ผ์„ฑ, ์ƒ๋ด‰, ์„œ์šธ๋Œ€์ž…๊ตฌ, ์„œ์šธ์—ญ, ์„ ๋ฆ‰, ์„ฑ์ˆ˜, ์ˆ˜์œ , ์‹œ์ฒญ, ์‹ ๋…ผํ˜„, ์‹ ๋‹น, ์‹ ๋„๋ฆผ, ์‹ ์‚ฌ, ์‹ ์ดŒ, ์•ˆ๊ตญ, ์••๊ตฌ์ •, ์•ฝ์ˆ˜, ์–‘์žฌ, ์—ฌ์˜๋„, ์—ญ์‚ผ, ์—ฐ์‹ ๋‚ด, ์˜๋“ฑํฌ, ์˜ฅ์ˆ˜, ์˜ฌ๋ฆผํ”ฝ๊ณต์›, ์™•์‹ญ๋ฆฌ, ์šฉ์‚ฐ, ์„์ง€๋กœ3๊ฐ€, ์„์ง€๋กœ4๊ฐ€, ์„์ง€๋กœ์ž…๊ตฌ, ์‘์•”, ์ด๋Œ€, ์ด์ดŒ, ์ดํƒœ์›, ์ธ์ฒœ๊ณตํ•ญ1ํ„ฐ๋ฏธ๋„, ์ธ์ฒœ๊ณตํ•ญ2ํ„ฐ๋ฏธ๋„, ์ž ์‹ค, ์ •์ž, ์ข…๊ฐ, ์ข…๋กœ3๊ฐ€, ์ข…ํ•ฉ์šด๋™์žฅ, ์ฒœํ˜ธ, ์ฒญ๋‹ด, ์ถฉ๋ฌด๋กœ, ํŒ๊ต, ํ•ฉ์ •, ํ˜œํ™”, ํ™๋Œ€์ž…๊ตฌ, ํšจ์ฐฝ๊ณต์›์•ž

**Endpoint**
```
GET /api/last-train/{station}?direction=up&weekType=1
```

**Parameters**

| Parameter | Required | Description |
|-----------|----------|-------------|
| station | Yes | Station name (Korean or English) |
| direction | No | `up`, `down`, or `all` (default: all) |
| weekType | No | `1`=Weekday, `2`=Saturday, `3`=Sunday/Holiday (default: auto) |

**Response Fields**

| Field | Description |
|-------|-------------|
| `station` | Station name (Korean) |
| `stationEn` | Station name (English) |
| `lastTrains[].direction` | Direction (Korean) |
| `lastTrains[].directionEn` | Direction (English) |
| `lastTrains[].time` | Last train time (HH:MM) |
| `lastTrains[].weekType` | Day type (Korean) |
| `lastTrains[].weekTypeEn` | Day type (English) |
| `lastTrains[].line` | Line name |
| `lastTrains[].lineEn` | Line name (English) |
| `lastTrains[].destination` | Final destination |
| `lastTrains[].destinationEn` | Destination (English) |

**Example**
```bash
# Auto-detect day type
curl "https://vercel-proxy-henna-eight.vercel.app/api/last-train/ํ™๋Œ€์ž…๊ตฌ"

# English station name
curl "https://vercel-proxy-henna-eight.vercel.app/api/last-train/Hongdae"

# Specific direction and day
curl "https://vercel-proxy-henna-eight.vercel.app/api/last-train/๊ฐ•๋‚จ?direction=up&weekType=1"
```

---

### 6. Exit Information

> **์ฐธ๊ณ :** ์ด API๋Š” ์ฃผ์š” ์—ญ 77๊ฐœ์˜ ์ถœ๊ตฌ ์ •๋ณด๋ฅผ ์ •์  ๋ฐ์ดํ„ฐ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
>
> **์ง€์› ์—ญ (77๊ฐœ):**
> ๊ฐ€์‚ฐ๋””์ง€ํ„ธ๋‹จ์ง€, ๊ฐ•๋‚จ, ๊ฐ•๋‚จ๊ตฌ์ฒญ, ๊ฐ•๋ณ€, ๊ฑด๋Œ€์ž…๊ตฌ, ๊ฒฝ๋ณต๊ถ, ๊ณ ์†ํ„ฐ๋ฏธ๋„, ๊ณต๋•, ๊ด‘๋‚˜๋ฃจ, ๊ด‘ํ™”๋ฌธ, ๊ต๋Œ€, ๊ตฌ๋กœ, ๊ตฐ์ž, ๊น€ํฌ๊ณตํ•ญ, ๋…ธ๋Ÿ‰์ง„, ๋‹น์‚ฐ, ๋Œ€๋ฆผ, ๋™๋Œ€๋ฌธ, ๋™๋Œ€๋ฌธ์—ญ์‚ฌ๋ฌธํ™”๊ณต์›, ๋””์ง€ํ„ธ๋ฏธ๋””์–ด์‹œํ‹ฐ, ๋š์„ฌ, ๋งˆํฌ๊ตฌ์ฒญ, ๋ช…๋™, ๋ชจ๋ž€, ๋ชฝ์ดŒํ† ์„ฑ, ๋ณต์ •, ๋ถˆ๊ด‘, ์‚ฌ๊ฐ€์ •, ์‚ฌ๋‹น, ์‚ผ๊ฐ์ง€, ์‚ผ์„ฑ, ์ƒ๋ด‰, ์„œ์šธ๋Œ€์ž…๊ตฌ, ์„œ์šธ์—ญ, ์„ ๋ฆ‰, ์„ฑ์ˆ˜, ์ˆ˜์œ , ์‹œ์ฒญ, ์‹ ๋…ผํ˜„, ์‹ ๋‹น, ์‹ ๋„๋ฆผ, ์‹ ์‚ฌ, ์‹ ์ดŒ, ์•ˆ๊ตญ, ์••๊ตฌ์ •, ์•ฝ์ˆ˜, ์–‘์žฌ, ์—ฌ์˜๋„, ์—ญ์‚ผ, ์—ฐ์‹ ๋‚ด, ์˜๋“ฑํฌ, ์˜ฅ์ˆ˜, ์˜ฌ๋ฆผํ”ฝ๊ณต์›, ์™•์‹ญ๋ฆฌ, ์šฉ์‚ฐ, ์„์ง€๋กœ3๊ฐ€, ์„์ง€๋กœ4๊ฐ€, ์„์ง€๋กœ์ž…๊ตฌ, ์‘์•”, ์ด๋Œ€, ์ด์ดŒ, ์ดํƒœ์›, ์ธ์ฒœ๊ณตํ•ญ1ํ„ฐ๋ฏธ๋„, ์ธ์ฒœ๊ณตํ•ญ2ํ„ฐ๋ฏธ๋„, ์ž ์‹ค, ์ •์ž, ์ข…๊ฐ, ์ข…๋กœ3๊ฐ€, ์ข…ํ•ฉ์šด๋™์žฅ, ์ฒœํ˜ธ, ์ฒญ๋‹ด, ์ถฉ๋ฌด๋กœ, ํŒ๊ต, ํ•ฉ์ •, ํ˜œํ™”, ํ™๋Œ€์ž…๊ตฌ, ํšจ์ฐฝ๊ณต์›์•ž

**Endpoint**
```
GET /api/exits/{station}
```

**Parameters**

| Parameter | Required | Description |
|-----------|----------|-------------|
| station | Yes | Station name (Korean or English) |

**Error Response (Unsupported Station)**

```json
{
  "code": "INVALID_STATION",
  "message": "Exit information not available for this station",
  "hint": "Exit information is available for major tourist stations only"
}
```

**Response Fields**

| Field | Description |
|-------|-------------|
| `station` | Station name (Korean) |
| `stationEn` | Station name (English) |
| `line` | Line name |
| `exits[].number` | Exit number |
| `exits[].landmark` | Nearby landmark (Korean) |
| `exits[].landmarkEn` | Nearby landmark (English) |
| `exits[].distance` | Walking distance |
| `exits[].facilities` | Facility types |

**Example**
```bash
# Get COEX exit info
curl "https://vercel-proxy-henna-eight.vercel.app/api/exits/์‚ผ์„ฑ"

# English station name
curl "https://vercel-proxy-henna-eight.vercel.app/api/exits/Samsung"
```

---

### 7. Accessibility Info

**Endpoint**
```
GET /api/accessibility/{station}
```

**Parameters**

| Parameter | Required | Description |
|-----------|----------|-------------|
| station | Yes | Station name (Korean or English) |
| type | No | `elevator`, `escalator`, `wheelchair`, or `all` (default: all) |
| format | No | `formatted` (markdown, default) or `raw` (JSON) |
| lang | No | `ko` (default) or `en` |

**Response Fields**

| Field | Description |
|-------|-------------|
| `station` | Station name (Korean) |
| `stationEn` | Station name (English) |
| `elevators[].lineNm` | Line name |
| `elevators[].dtlPstn` | Detailed location |
| `elevators[].bgngFlr` / `endFlr` | Floor level (start/end) |
| `elevators[].bgngFlrGrndUdgdSe` | Ground/underground (์ง€์ƒ/์ง€ํ•˜) |
| `elevators[].oprtngSitu` | Operation status (M=normal) |
| `escalators[]` | Same structure as elevators |
| `wheelchairLifts[]` | Same structure as elevators |

**Example**
```bash
# All accessibility info
curl "https://vercel-proxy-henna-eight.vercel.app/api/accessibility/๊ฐ•๋‚จ"

# Elevators only
curl "https://vercel-proxy-henna-eight.vercel.app/api/accessibility/๊ฐ•๋‚จ?type=elevator"

# English output
curl "https://vercel-proxy-henna-eight.vercel.app/api/accessibility/Gangnam?lang=en"

# Raw JSON
curl "https://vercel-proxy-henna-eight.vercel.app/api/accessibility/๊ฐ•๋‚จ?format=raw"
```

---

### 8. Quick Exit Info

**Endpoint**
```
GET /api/quick-exit/{station}
```

**Parameters**

| Parameter | Required | Description |
|-----------|----------|-------------|
| station | Yes | Station name (Korean or English) |
| facility | No | `elevator`, `escalator`, `exit`, or `all` (default: all) |
| format | No | `formatted` (markdown, default) or `raw` (JSON) |
| lang | No | `ko` (default) or `en` |

**Response Fields**

| Field | Description |
|-------|-------------|
| `station` | Station name (Korean) |
| `stationEn` | Station name (English) |
| `quickExits[].lineNm` | Line name |
| `quickExits[].drtnInfo` | Direction |
| `quickExits[].qckgffVhclDoorNo` | Best car/door number |
| `quickExits[].plfmCmgFac` | Facility type (์—˜๋ฆฌ๋ฒ ์ดํ„ฐ/๊ณ„๋‹จ/์—์Šค์ปฌ๋ ˆ์ดํ„ฐ) |
| `quickExits[].upbdnbSe` | Up/down direction (์ƒํ–‰/ํ•˜ํ–‰) |
| `quickExits[].elvtrNo` | Elevator number (if applicable) |

**Example**
```bash
# All quick exit info
curl "https://vercel-proxy-henna-eight.vercel.app/api/quick-exit/๊ฐ•๋‚จ"

# Filter by elevator
curl "https://vercel-proxy-henna-eight.vercel.app/api/quick-exit/๊ฐ•๋‚จ?facility=elevator"

# English station name
curl "https://vercel-proxy-henna-eight.vercel.app/api/quick-exit/Gangnam"
```

---

### 9. Restroom Info

**Endpoint**
```
GET /api/restrooms/{station}
```

**Parameters**

| Parameter | Required | Description |
|-----------|----------|-------------|
| station | Yes | Station name (Korean or English) |
| format | No | `formatted` (markdown, default) or `raw` (JSON) |
| lang | No | `ko` (default) or `en` |

**Response Fields**

| Field | Description |
|-------|-------------|
| `station` | Station name (Korean) |
| `stationEn` | Station name (English) |
| `restrooms[].lineNm` | Line name |
| `restrooms[].dtlPstn` | Detailed location |
| `restrooms[].stnFlr` | Floor level (e.g., B1) |
| `restrooms[].grndUdgdSe` | Ground/underground (์ง€์ƒ/์ง€ํ•˜) |
| `restrooms[].gateInoutSe` | Inside/outside gate (๋‚ด๋ถ€/์™ธ๋ถ€) |
| `restrooms[].rstrmInfo` | Restroom type info |
| `restrooms[].whlchrAcsPsbltyYn` | Wheelchair accessible (Y/N) |

**Example**
```bash
# Get restroom info
curl "https://vercel-proxy-henna-eight.vercel.app/api/restrooms/๊ฐ•๋‚จ"

# English output
curl "https://vercel-proxy-henna-eight.vercel.app/api/restrooms/Gangnam?lang=en"

# Raw JSON
curl "https://vercel-proxy-henna-eight.vercel.app/api/restrooms/๊ฐ•๋‚จ?format=raw"
```

---

## Landmark โ†’ Station Mapping

์™ธ๊ตญ์ธ ๊ด€๊ด‘๊ฐ์ด ์ž์ฃผ ์ฐพ๋Š” ๋žœ๋“œ๋งˆํฌ์™€ ํ•ด๋‹น ์—ญ ์ •๋ณด์ž…๋‹ˆ๋‹ค.

| Landmark | Station | Line | Exit |
|----------|---------|------|------|
| COEX / ์ฝ”์—‘์Šค | ์‚ผ์„ฑ Samsung | 2ํ˜ธ์„  | 5-6 |
| Lotte World / ๋กฏ๋ฐ์›”๋“œ | ์ž ์‹ค Jamsil | 2ํ˜ธ์„  | 4 |
| Lotte World Tower | ์ž ์‹ค Jamsil | 2ํ˜ธ์„  | 3 |
| Gyeongbokgung Palace / ๊ฒฝ๋ณต๊ถ | ๊ฒฝ๋ณต๊ถ Gyeongbokgung | 3ํ˜ธ์„  | 5 |
| Changdeokgung Palace / ์ฐฝ๋•๊ถ | ์•ˆ๊ตญ Anguk | 3ํ˜ธ์„  | 3 |
| DDP / ๋™๋Œ€๋ฌธ๋””์ž์ธํ”Œ๋ผ์ž | ๋™๋Œ€๋ฌธ์—ญ์‚ฌ๋ฌธํ™”๊ณต์› | 2ํ˜ธ์„  | 1 |
| Myeongdong / ๋ช…๋™ | ๋ช…๋™ Myeongdong | 4ํ˜ธ์„  | 6 |
| N Seoul Tower / ๋‚จ์‚ฐํƒ€์›Œ | ๋ช…๋™ Myeongdong | 4ํ˜ธ์„  | 3 |
| Bukchon Hanok Village | ์•ˆ๊ตญ Anguk | 3ํ˜ธ์„  | 6 |
| Insadong / ์ธ์‚ฌ๋™ | ์•ˆ๊ตญ Anguk | 3ํ˜ธ์„  | 1 |
| Hongdae / ํ™๋Œ€ | ํ™๋Œ€์ž…๊ตฌ Hongik Univ. | 2ํ˜ธ์„  | 9 |
| Itaewon / ์ดํƒœ์› | ์ดํƒœ์› Itaewon | 6ํ˜ธ์„  | 1 |
| Gangnam / ๊ฐ•๋‚จ | ๊ฐ•๋‚จ Gangnam | 2ํ˜ธ์„  | 10-11 |
| Yeouido Park / ์—ฌ์˜๋„๊ณต์› | ์—ฌ์˜๋„ Yeouido | 5ํ˜ธ์„  | 5 |
| IFC Mall | ์—ฌ์˜๋„ Yeouido | 5ํ˜ธ์„  | 1 |
| 63 Building | ์—ฌ์˜๋„ Yeouido | 5ํ˜ธ์„  | 3 |
| Gwanghwamun Square / ๊ด‘ํ™”๋ฌธ๊ด‘์žฅ | ๊ด‘ํ™”๋ฌธ Gwanghwamun | 5ํ˜ธ์„  | 2 |
| Namdaemun Market / ๋‚จ๋Œ€๋ฌธ์‹œ์žฅ | ์„œ์šธ์—ญ Seoul Station | 1ํ˜ธ์„  | 10 |
| Cheonggyecheon Stream / ์ฒญ๊ณ„์ฒœ | ์„์ง€๋กœ์ž…๊ตฌ Euljiro 1-ga | 2ํ˜ธ์„  | 6 |
| Express Bus Terminal | ๊ณ ์†ํ„ฐ๋ฏธ๋„ Express Terminal | 3ํ˜ธ์„  | 4,8 |
| Gimpo Airport | ๊น€ํฌ๊ณตํ•ญ Gimpo Airport | 5ํ˜ธ์„  | 1,3 |
| Incheon Airport T1 | ์ธ์ฒœ๊ณตํ•ญ1ํ„ฐ๋ฏธ๋„ | ๊ณตํ•ญ์ฒ ๋„ | 1 |
| Incheon Airport T2 | ์ธ์ฒœ๊ณตํ•ญ2ํ„ฐ๋ฏธ๋„ | ๊ณตํ•ญ์ฒ ๋„ | 1 |

---

## Static Data (GitHub Raw)

For static data like station lists and line mappings, use GitHub raw URLs:

```bash
# Station list
curl "https://raw.githubusercontent.com/dukbong/seoul-subway/main/data/stations.json"

# Line ID mappings
curl "https://raw.githubusercontent.com/dukbong/seoul-subway/main/data/lines.json"

# Station name translations
curl "https://raw.githubusercontent.com/dukbong/seoul-subway/main/data/station-names.json"
```

---

## Line ID Mapping

| Line | ID | Line | ID |
|------|----|------|----|
| Line 1 | 1001 | Line 6 | 1006 |
| Line 2 | 1002 | Line 7 | 1007 |
| Line 3 | 1003 | Line 8 | 1008 |
| Line 4 | 1004 | Line 9 | 1009 |
| Line 5 | 1005 | Sinbundang | 1077 |
| Gyeongui-Jungang | 1063 | Gyeongchun | 1067 |
| Airport Railroad | 1065 | Suin-Bundang | 1075 |

---

## Station Name Mapping (English โ†’ Korean)

์ฃผ์š” ์—ญ ์ด๋ฆ„์˜ ์˜์–ด-ํ•œ๊ธ€ ๋งคํ•‘ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. API ํ˜ธ์ถœ ์‹œ ์˜์–ด ์ž…๋ ฅ์„ ํ•œ๊ธ€๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

### Line 1 (1ํ˜ธ์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Seoul Station | ์„œ์šธ์—ญ | City Hall | ์‹œ์ฒญ |
| Jonggak | ์ข…๊ฐ | Jongno 3-ga | ์ข…๋กœ3๊ฐ€ |
| Jongno 5-ga | ์ข…๋กœ5๊ฐ€ | Dongdaemun | ๋™๋Œ€๋ฌธ |
| Cheongnyangni | ์ฒญ๋Ÿ‰๋ฆฌ | Yongsan | ์šฉ์‚ฐ |
| Noryangjin | ๋…ธ๋Ÿ‰์ง„ | Yeongdeungpo | ์˜๋“ฑํฌ |
| Guro | ๊ตฌ๋กœ | Incheon | ์ธ์ฒœ |
| Bupyeong | ๋ถ€ํ‰ | Suwon | ์ˆ˜์› |

### Line 2 (2ํ˜ธ์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Gangnam | ๊ฐ•๋‚จ | Yeoksam | ์—ญ์‚ผ |
| Samseong | ์‚ผ์„ฑ | Jamsil | ์ž ์‹ค |
| Sindorim | ์‹ ๋„๋ฆผ | Hongdae (Hongik Univ.) | ํ™๋Œ€์ž…๊ตฌ |
| Hapjeong | ํ•ฉ์ • | Dangsan | ๋‹น์‚ฐ |
| Yeouido | ์—ฌ์˜๋„ | Konkuk Univ. | ๊ฑด๋Œ€์ž…๊ตฌ |
| Seolleung | ์„ ๋ฆ‰ | Samsung | ์‚ผ์„ฑ |
| Sports Complex | ์ข…ํ•ฉ์šด๋™์žฅ | Gangbyeon | ๊ฐ•๋ณ€ |
| Ttukseom | ๋š์„ฌ | Seongsu | ์„ฑ์ˆ˜ |
| Wangsimni | ์™•์‹ญ๋ฆฌ | Euljiro 3-ga | ์„์ง€๋กœ3๊ฐ€ |
| Euljiro 1-ga | ์„์ง€๋กœ์ž…๊ตฌ | City Hall | ์‹œ์ฒญ |
| Chungjeongno | ์ถฉ์ •๋กœ | Ewha Womans Univ. | ์ด๋Œ€ |
| Sinchon | ์‹ ์ดŒ | Sadang | ์‚ฌ๋‹น |
| Nakseongdae | ๋‚™์„ฑ๋Œ€ | Seoul Nat'l Univ. | ์„œ์šธ๋Œ€์ž…๊ตฌ |
| Guro Digital Complex | ๊ตฌ๋กœ๋””์ง€ํ„ธ๋‹จ์ง€ | Mullae | ๋ฌธ๋ž˜ |

### Line 3 (3ํ˜ธ์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Gyeongbokgung | ๊ฒฝ๋ณต๊ถ | Anguk | ์•ˆ๊ตญ |
| Jongno 3-ga | ์ข…๋กœ3๊ฐ€ | Chungmuro | ์ถฉ๋ฌด๋กœ |
| Dongguk Univ. | ๋™๋Œ€์ž…๊ตฌ | Yaksu | ์•ฝ์ˆ˜ |
| Apgujeong | ์••๊ตฌ์ • | Sinsa | ์‹ ์‚ฌ |
| Express Bus Terminal | ๊ณ ์†ํ„ฐ๋ฏธ๋„ | Gyodae | ๊ต๋Œ€ |
| Nambu Bus Terminal | ๋‚จ๋ถ€ํ„ฐ๋ฏธ๋„ | Yangjae | ์–‘์žฌ |
| Daehwa | ๋Œ€ํ™” | Juyeop | ์ฃผ์—ฝ |

### Line 4 (4ํ˜ธ์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Myeongdong | ๋ช…๋™ | Hoehyeon | ํšŒํ˜„ |
| Seoul Station | ์„œ์šธ์—ญ | Sookmyung Women's Univ. | ์ˆ™๋Œ€์ž…๊ตฌ |
| Dongdaemun History & Culture Park | ๋™๋Œ€๋ฌธ์—ญ์‚ฌ๋ฌธํ™”๊ณต์› | Hyehwa | ํ˜œํ™” |
| Hansung Univ. | ํ•œ์„ฑ๋Œ€์ž…๊ตฌ | Mia | ๋ฏธ์•„ |
| Mia Sageori | ๋ฏธ์•„์‚ฌ๊ฑฐ๋ฆฌ | Gireum | ๊ธธ์Œ |
| Chongshin Univ. | ์ด์‹ ๋Œ€์ž…๊ตฌ | Sadang | ์‚ฌ๋‹น |

### Line 5 (5ํ˜ธ์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Gwanghwamun | ๊ด‘ํ™”๋ฌธ | Jongno 3-ga | ์ข…๋กœ3๊ฐ€ |
| Dongdaemun History & Culture Park | ๋™๋Œ€๋ฌธ์—ญ์‚ฌ๋ฌธํ™”๊ณต์› | Cheonggu | ์ฒญ๊ตฌ |
| Wangsimni | ์™•์‹ญ๋ฆฌ | Haengdang | ํ–‰๋‹น |
| Yeouido | ์—ฌ์˜๋„ | Yeouinaru | ์—ฌ์˜๋‚˜๋ฃจ |
| Mapo | ๋งˆํฌ | Gongdeok | ๊ณต๋• |
| Gimpo Airport | ๊น€ํฌ๊ณตํ•ญ | Banghwa | ๋ฐฉํ™” |

### Line 6 (6ํ˜ธ์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Itaewon | ์ดํƒœ์› | Samgakji | ์‚ผ๊ฐ์ง€ |
| Noksapyeong | ๋…น์‚ฌํ‰ | Hangang | ํ•œ๊ฐ•์ง„ |
| Sangsu | ์ƒ์ˆ˜ | Hapjeong | ํ•ฉ์ • |
| World Cup Stadium | ์›”๋“œ์ปต๊ฒฝ๊ธฐ์žฅ | Digital Media City | ๋””์ง€ํ„ธ๋ฏธ๋””์–ด์‹œํ‹ฐ |

### Line 7 (7ํ˜ธ์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Gangnam-gu Office | ๊ฐ•๋‚จ๊ตฌ์ฒญ | Cheongdam | ์ฒญ๋‹ด |
| Konkuk Univ. | ๊ฑด๋Œ€์ž…๊ตฌ | Children's Grand Park | ์–ด๋ฆฐ์ด๋Œ€๊ณต์› |
| Junggok | ์ค‘๊ณก | Ttukseom Resort | ๋š์„ฌ์œ ์›์ง€ |
| Express Bus Terminal | ๊ณ ์†ํ„ฐ๋ฏธ๋„ | Nonhyeon | ๋…ผํ˜„ |
| Hakdong | ํ•™๋™ | Bogwang | ๋ณด๊ด‘ |
| Jangam | ์žฅ์•” | Dobongsan | ๋„๋ด‰์‚ฐ |

### Line 8 (8ํ˜ธ์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Jamsil | ์ž ์‹ค | Mongchontoseong | ๋ชฝ์ดŒํ† ์„ฑ |
| Gangdong-gu Office | ๊ฐ•๋™๊ตฌ์ฒญ | Cheonho | ์ฒœํ˜ธ |
| Bokjeong | ๋ณต์ • | Sanseong | ์‚ฐ์„ฑ |
| Moran | ๋ชจ๋ž€ | Amsa | ์•”์‚ฌ |

### Line 9 (9ํ˜ธ์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Sinnonhyeon | ์‹ ๋…ผํ˜„ | Express Bus Terminal | ๊ณ ์†ํ„ฐ๋ฏธ๋„ |
| Dongjak | ๋™์ž‘ | Noryangjin | ๋…ธ๋Ÿ‰์ง„ |
| Yeouido | ์—ฌ์˜๋„ | National Assembly | ๊ตญํšŒ์˜์‚ฌ๋‹น |
| Dangsan | ๋‹น์‚ฐ | Yeomchang | ์—ผ์ฐฝ |
| Gimpo Airport | ๊น€ํฌ๊ณตํ•ญ | Gaehwa | ๊ฐœํ™” |
| Olympic Park | ์˜ฌ๋ฆผํ”ฝ๊ณต์› | Sports Complex | ์ข…ํ•ฉ์šด๋™์žฅ |

### Sinbundang Line (์‹ ๋ถ„๋‹น์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Gangnam | ๊ฐ•๋‚จ | Sinsa | ์‹ ์‚ฌ |
| Yangjae | ์–‘์žฌ | Yangjae Citizen's Forest | ์–‘์žฌ์‹œ๋ฏผ์˜์ˆฒ |
| Pangyo | ํŒ๊ต | Jeongja | ์ •์ž |
| Dongcheon | ๋™์ฒœ | Suji District Office | ์ˆ˜์ง€๊ตฌ์ฒญ |
| Gwanggyo | ๊ด‘๊ต | Gwanggyo Jungang | ๊ด‘๊ต์ค‘์•™ |

### Gyeongui-Jungang Line (๊ฒฝ์˜์ค‘์•™์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Seoul Station | ์„œ์šธ์—ญ | Hongdae (Hongik Univ.) | ํ™๋Œ€์ž…๊ตฌ |
| Gongdeok | ๊ณต๋• | Hyochang Park | ํšจ์ฐฝ๊ณต์›์•ž |
| Yongsan | ์šฉ์‚ฐ | Oksu | ์˜ฅ์ˆ˜ |
| Wangsimni | ์™•์‹ญ๋ฆฌ | Cheongnyangni | ์ฒญ๋Ÿ‰๋ฆฌ |
| DMC | ๋””์ง€ํ„ธ๋ฏธ๋””์–ด์‹œํ‹ฐ | Susaek | ์ˆ˜์ƒ‰ |
| Ilsan | ์ผ์‚ฐ | Paju | ํŒŒ์ฃผ |

### Airport Railroad (๊ณตํ•ญ์ฒ ๋„)
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Seoul Station | ์„œ์šธ์—ญ | Gongdeok | ๊ณต๋• |
| Hongdae (Hongik Univ.) | ํ™๋Œ€์ž…๊ตฌ | Digital Media City | ๋””์ง€ํ„ธ๋ฏธ๋””์–ด์‹œํ‹ฐ |
| Gimpo Airport | ๊น€ํฌ๊ณตํ•ญ | Incheon Airport T1 | ์ธ์ฒœ๊ณตํ•ญ1ํ„ฐ๋ฏธ๋„ |
| Incheon Airport T2 | ์ธ์ฒœ๊ณตํ•ญ2ํ„ฐ๋ฏธ๋„ | Cheongna Int'l City | ์ฒญ๋ผ๊ตญ์ œ๋„์‹œ |

### Suin-Bundang Line (์ˆ˜์ธ๋ถ„๋‹น์„ )
| English | Korean | English | Korean |
|---------|--------|---------|--------|
| Wangsimni | ์™•์‹ญ๋ฆฌ | Seolleung | ์„ ๋ฆ‰ |
| Gangnam-gu Office | ๊ฐ•๋‚จ๊ตฌ์ฒญ | Seonjeongneung | ์„ ์ •๋ฆ‰ |
| Jeongja | ์ •์ž | Migeum | ๋ฏธ๊ธˆ |
| Ori | ์˜ค๋ฆฌ | Jukjeon | ์ฃฝ์ „ |
| Suwon | ์ˆ˜์› | Incheon | ์ธ์ฒœ |

---

## Usage Examples

**Real-time Arrival**
```bash
curl "https://vercel-proxy-henna-eight.vercel.app/api/realtime/๊ฐ•๋‚จ"
```

**Station Search**
```bash
curl "https://vercel-proxy-henna-eight.vercel.app/api/stations?station=๊ฐ•๋‚จ"
```

**Route Search**
```bash
curl "https://vercel-proxy-henna-eight.vercel.app/api/route?dptreStnNm=์‹ ๋„๋ฆผ&arvlStnNm=์„œ์šธ์—ญ"
```

**Service Alerts**
```bash
curl "https://vercel-proxy-henna-eight.vercel.app/api/alerts"
# Enhanced format with delay summary
curl "https://vercel-proxy-henna-eight.vercel.app/api/alerts?format=enhanced"
```

**Last Train**
```bash
# Korean station name
curl "https://vercel-proxy-henna-eight.vercel.app/api/last-train/ํ™๋Œ€์ž…๊ตฌ"
# English station name
curl "https://vercel-proxy-henna-eight.vercel.app/api/last-train/Gangnam"
```

**Exit Information**
```bash
# For COEX
curl "https://vercel-proxy-henna-eight.vercel.app/api/exits/์‚ผ์„ฑ"
# For Lotte World
curl "https://vercel-proxy-henna-eight.vercel.app/api/exits/์ž ์‹ค"
```

**Accessibility**
```bash
# All accessibility info
curl "https://vercel-proxy-henna-eight.vercel.app/api/accessibility/๊ฐ•๋‚จ"
# Elevators only
curl "https://vercel-proxy-henna-eight.vercel.app/api/accessibility/๊ฐ•๋‚จ?type=elevator"
```

**Quick Exit**
```bash
# Quick exit for elevators
curl "https://vercel-proxy-henna-eight.vercel.app/api/quick-exit/๊ฐ•๋‚จ?facility=elevator"
```

**Restrooms**
```bash
# Restroom locations
curl "https://vercel-proxy-henna-eight.vercel.app/api/restrooms/๊ฐ•๋‚จ"
```

---

## Line Color Mapping / ๋…ธ์„  ์ƒ‰์ƒ ๋งคํ•‘

| Line / ํ˜ธ์„  | Color / ์ƒ‰์ƒ | Emoji |
|-------------|--------------|-------|
| 1ํ˜ธ์„  / Line 1 | Blue / ํŒŒ๋ž‘ | ๐Ÿ”ต |
| 2ํ˜ธ์„  / Line 2 | Green / ์ดˆ๋ก | ๐ŸŸข |
| 3ํ˜ธ์„  / Line 3 | Orange / ์ฃผํ™ฉ | ๐ŸŸ  |
| 4ํ˜ธ์„  / Line 4 | Sky Blue / ํ•˜๋Š˜ | ๐Ÿ”ต |
| 5ํ˜ธ์„  / Line 5 | Purple / ๋ณด๋ผ | ๐ŸŸฃ |
| 6ํ˜ธ์„  / Line 6 | Brown / ๊ฐˆ์ƒ‰ | ๐ŸŸค |
| 7ํ˜ธ์„  / Line 7 | Olive / ์˜ฌ๋ฆฌ๋ธŒ | ๐ŸŸข |
| 8ํ˜ธ์„  / Line 8 | Pink / ๋ถ„ํ™ | ๐Ÿ”ด |
| 9ํ˜ธ์„  / Line 9 | Gold / ๊ธˆ์ƒ‰ | ๐ŸŸก |
| ์‹ ๋ถ„๋‹น์„  / Sinbundang | Red / ๋นจ๊ฐ• | ๐Ÿ”ด |
| ๊ฒฝ์˜์ค‘์•™์„  / Gyeongui-Jungang | Cyan / ์ฒญ๋ก | ๐Ÿ”ต |
| ๊ณตํ•ญ์ฒ ๋„ / Airport Railroad | Blue / ํŒŒ๋ž‘ | ๐Ÿ”ต |
| ์ˆ˜์ธ๋ถ„๋‹น์„  / Suin-Bundang | Yellow / ๋…ธ๋ž‘ | ๐ŸŸก |

---

## Output Format Guide

### Real-time Arrival

**Korean:**
```
[๊ฐ•๋‚จ์—ญ Gangnam]

| ํ˜ธ์„  | ๋ฐฉํ–ฅ | ๋„์ฐฉ | ์œ„์น˜ | ์œ ํ˜• |
|------|------|------|------|------|
| ๐ŸŸข 2 | ์„ฑ์ˆ˜ (Seongsu) | 3๋ถ„ | ์—ญ์‚ผ | ์ผ๋ฐ˜ |
| ๐ŸŸข 2 | ์‹ ์ดŒ (Sinchon) | 5๋ถ„ | ์„ ์ •๋ฆ‰ | ์ผ๋ฐ˜ |
```

**English:**
```
[Gangnam Station ๊ฐ•๋‚จ์—ญ]

| Line | Direction | Arrival | Location | Type |
|------|-----------|---------|----------|------|
| ๐ŸŸข 2 | Seongsu (์„ฑ์ˆ˜) | 3 min | Yeoksam | Regular |
| ๐ŸŸข 2 | Sinchon (์‹ ์ดŒ) | 5 min | Seonjeongneung | Regular |
```

### Station Search

**Korean:**
```
[๊ฐ•๋‚จ์—ญ]

| ํ˜ธ์„  | ์—ญ์ฝ”๋“œ | ์™ธ๋ถ€์ฝ”๋“œ |
|------|--------|----------|
| 2ํ˜ธ์„  | 222 | 0222 |
```

**English:**
```
[Gangnam Station]

| Line | Station Code | External Code |
|------|--------------|---------------|
| Line 2 | 222 | 0222 |
```

### Route Search

**Korean:**
```
[๊ฐ•๋‚จ โ†’ ํ™๋Œ€์ž…๊ตฌ]

์†Œ์š”์‹œ๊ฐ„: 38๋ถ„ | ๊ฑฐ๋ฆฌ: 22.1km | ์š”๊ธˆ: 1,650์› | ํ™˜์Šน: 1ํšŒ

๐ŸŸข ๊ฐ•๋‚จ โ”€2ํ˜ธ์„ โ”€โ–ถ ๐ŸŸข ์‹ ๋„๋ฆผ โ”€2ํ˜ธ์„ โ”€โ–ถ ๐ŸŸข ํ™๋Œ€์ž…๊ตฌ

| ๊ตฌ๋ถ„ | ์—ญ | ํ˜ธ์„  | ์‹œ๊ฐ„ |
|------|-----|------|------|
| ์ถœ๋ฐœ | ๊ฐ•๋‚จ Gangnam | ๐ŸŸข 2 | 09:03 |
| ํ™˜์Šน | ์‹ ๋„๋ฆผ Sindorim | ๐ŸŸข 2โ†’2 | 09:18 |
| ๋„์ฐฉ | ํ™๋Œ€์ž…๊ตฌ Hongdae | ๐ŸŸข 2 | 09:42 |
```

**English:**
```
[Gangnam โ†’ Hongdae]

Time: 38 min | Distance: 22.1 km | Fare: 1,650 KRW | Transfer: 1

๐ŸŸข Gangnam โ”€Line 2โ”€โ–ถ ๐ŸŸข Sindorim โ”€Line 2โ”€โ–ถ ๐ŸŸข Hongdae

| Step | Station | Line | Time |
|------|---------|------|------|
| Depart | Gangnam ๊ฐ•๋‚จ | ๐ŸŸข 2 | 09:03 |
| Transfer | Sindorim ์‹ ๋„๋ฆผ | ๐ŸŸข 2โ†’2 | 09:18 |
| Arrive | Hongdae ํ™๋Œ€์ž…๊ตฌ | ๐ŸŸข 2 | 09:42 |
```

### Service Alerts

**Korean:**
```
[์šดํ–‰ ์•Œ๋ฆผ]

๐Ÿ”ต 1ํ˜ธ์„  | ์ข…๋กœ3๊ฐ€์—ญ ๋ฌด์ •์ฐจ (15:00 ~ 15:22)
โ””โ”€ ์ฝ”๋ ˆ์ผ ์—ด์ฐจ ์—ฐ๊ธฐ ๋ฐœ์ƒ์œผ๋กœ ์ธํ•จ

๐ŸŸข 2ํ˜ธ์„  | ์ •์ƒ ์šดํ–‰
```

**English:**
```
[Service Alerts]

๐Ÿ”ต Line 1 | Jongno 3-ga Non-stop (15:00 ~ 15:22)
โ””โ”€ Due to smoke from Korail train

๐ŸŸข Line 2 | Normal operation
```

### Last Train

**Korean:**
```
[ํ™๋Œ€์ž…๊ตฌ ๋ง‰์ฐจ ์‹œ๊ฐ„]

| ๋ฐฉํ–ฅ | ์‹œ๊ฐ„ | ์ข…์ฐฉ์—ญ | ์š”์ผ |
|------|------|--------|------|
| ๐ŸŸข ๋‚ด์„ ์ˆœํ™˜ | 00:32 | ์„ฑ์ˆ˜ | ํ‰์ผ |
| ๐ŸŸข ์™ธ์„ ์ˆœํ™˜ | 00:25 | ์‹ ๋„๋ฆผ | ํ‰์ผ |
```

**English:**
```
[Last Train - Hongik Univ.]

| Direction | Time | Destination | Day |
|-----------|------|-------------|-----|
| ๐ŸŸข Inner Circle | 00:32 | Seongsu | Weekday |
| ๐ŸŸข Outer Circle | 00:25 | Sindorim | Weekday |
```

### Exit Info

**Korean:**
```
[์‚ผ์„ฑ์—ญ ์ถœ๊ตฌ ์ •๋ณด]

| ์ถœ๊ตฌ | ์‹œ์„ค | ๊ฑฐ๋ฆฌ |
|------|------|------|
| 5๋ฒˆ | ์ฝ”์—‘์Šค๋ชฐ | ๋„๋ณด 3๋ถ„ |
| 6๋ฒˆ | ์ฝ”์—‘์Šค ์•„์ฟ ์•„๋ฆฌ์›€ | ๋„๋ณด 5๋ถ„ |
| 7๋ฒˆ | ๋ด‰์€์‚ฌ | ๋„๋ณด 10๋ถ„ |
```

**English:**
```
[Samsung Station Exits]

| Exit | Landmark | Distance |
|------|----------|----------|
| #5 | COEX Mall | 3 min walk |
| #6 | COEX Aquarium | 5 min walk |
| #7 | Bongeunsa Temple | 10 min walk |
```

### Accessibility Info

**Korean:**
```
[๊ฐ•๋‚จ์—ญ ์ ‘๊ทผ์„ฑ ์ •๋ณด Gangnam]

### ๐Ÿ›— ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ

| ํ˜ธ์„  | ์œ„์น˜ | ์ธต | ๊ตฌ๋ถ„ |
|------|------|-----|------|
| 2ํ˜ธ์„  | ๋Œ€ํ•ฉ์‹ค | ์ง€ํ•˜ B1 | ์ผ๋ฐ˜ |
| ์‹ ๋ถ„๋‹น์„  | ๊ฐœ์ฐฐ๊ตฌ | ์ง€ํ•˜ B2 | ์ผ๋ฐ˜ |

**์šด์˜ ํ˜„ํ™ฉ**

| ๋ฒˆํ˜ธ | ์œ„์น˜ | ์ƒํƒœ | ์šด์˜์‹œ๊ฐ„ |
|------|------|------|----------|
| 1 | ๋Œ€ํ•ฉ์‹ค | ๐ŸŸข ์ •์ƒ | 05:30 ~ 24:00 |

### โ†—๏ธ ์—์Šค์ปฌ๋ ˆ์ดํ„ฐ

| ํ˜ธ์„  | ์œ„์น˜ | ์ธต | ๊ตฌ๋ถ„ |
|------|------|-----|------|
| 2ํ˜ธ์„  | ์ถœ๊ตฌ 1 | ์ง€ํ•˜ B1 | ์ƒํ–‰ |

### โ™ฟ ํœ ์ฒด์–ด๋ฆฌํ”„ํŠธ

| ํ˜ธ์„  | ๋ฒˆํ˜ธ | ์œ„์น˜ | ์ƒํƒœ |
|------|------|------|------|
| 2ํ˜ธ์„  | 1 | 3๋ฒˆ ์ถœ๊ตฌ | ๐ŸŸข ์ •์ƒ |
```

**English:**
```
[Gangnam Station Accessibility ๊ฐ•๋‚จ์—ญ]

### ๐Ÿ›— Elevators

| Line | Location | Floor | Type |
|------|----------|-------|------|
| Line 2 | Concourse | Underground B1 | General |

### โ†—๏ธ Escalators

| Line | Location | Floor | Type |
|------|----------|-------|------|
| Line 2 | Exit 1 | Underground B1 | Up |

### โ™ฟ Wheelchair Lifts

| Line | No. | Location | Status |
|------|-----|----------|--------|
| Line 2 | 1 | Exit 3 | ๐ŸŸข Normal |
```

### Quick Exit

**Korean:**
```
[๊ฐ•๋‚จ์—ญ ๋น ๋ฅธํ•˜์ฐจ ์ •๋ณด Gangnam]

| ํ˜ธ์„  | ๋ฐฉํ–ฅ | ์นธ | ์ถœ๊ตฌ | ๊ณ„๋‹จ | ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ | ์—์Šค์ปฌ๋ ˆ์ดํ„ฐ |
|------|------|-----|------|------|------------|--------------|
| 2ํ˜ธ์„  | ์™ธ์„  | 3-2 | 1 | 1 | 1 | 1 |
| 2ํ˜ธ์„  | ๋‚ด์„  | 7-1 | 5 | 2 | 2 | 2 |
```

**English:**
```
[Gangnam Station Quick Exit ๊ฐ•๋‚จ์—ญ]

| Line | Direction | Car | Exit | Stairs | Elevator | Escalator |
|------|-----------|-----|------|--------|----------|-----------|
| Line 2 | Outer | 3-2 | 1 | 1 | 1 | 1 |
| Line 2 | Inner | 7-1 | 5 | 2 | 2 | 2 |
```

### Restrooms

**Korean:**
```
[๊ฐ•๋‚จ์—ญ ํ™”์žฅ์‹ค ์ •๋ณด Gangnam]

| ํ˜ธ์„  | ์œ„์น˜ | ์ธต | ๊ฐœ์ฐฐ๊ตฌ | ๊ตฌ๋ถ„ | ๋ณ€๊ธฐ์ˆ˜ | ๊ธฐ์ €๊ท€๊ตํ™˜๋Œ€ |
|------|------|-----|--------|------|--------|--------------|
| 2ํ˜ธ์„  | ๋Œ€ํ•ฉ์‹ค | ์ง€ํ•˜ B1 | ๊ฐœ์ฐฐ๊ตฌ ๋‚ด | ์ผ๋ฐ˜ | ๋‚จ 3 (์†Œ 5) ์—ฌ 5 โ™ฟ 1 | ๐Ÿ‘ถ ์žˆ์Œ |
| 2ํ˜ธ์„  | ์ถœ๊ตฌ1 | ์ง€ํ•˜ B1 | ๊ฐœ์ฐฐ๊ตฌ ์™ธ | ์ผ๋ฐ˜ | ๋‚จ 2 (์†Œ 3) ์—ฌ 3 | ์—†์Œ |

**์š”์•ฝ:** ์ด 2๊ฐœ | ๊ฐœ์ฐฐ๊ตฌ ๋‚ด 1๊ฐœ | ๊ฐœ์ฐฐ๊ตฌ ์™ธ 1๊ฐœ | ์žฅ์• ์ธํ™”์žฅ์‹ค 1๊ฐœ | ๊ธฐ์ €๊ท€๊ตํ™˜๋Œ€ ์žˆ์Œ
```

**English:**
```
[Gangnam Station Restrooms ๊ฐ•๋‚จ์—ญ]

| Line | Location | Floor | Gate | Type | Toilets | Baby Station |
|------|----------|-------|------|------|---------|--------------|
| Line 2 | Concourse | Under B1 | Inside gate | General | M:3 (U:5) W:5 โ™ฟ:1 | ๐Ÿ‘ถ Yes |
| Line 2 | Exit 1 | Under B1 | Outside gate | General | M:2 (U:3) W:3 | No |

**Summary:** Total 2 | Inside gate: 1 | Outside gate: 1 | Accessible: 1 | Baby station: Yes
```

### Error

**Korean:**
```
์˜ค๋ฅ˜: ์—ญ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
"๊ฐ•๋‚จ" (์—ญ ์ด๋ฆ„๋งŒ)์œผ๋กœ ๊ฒ€์ƒ‰ํ•ด ๋ณด์„ธ์š”.
```

**English:**
```
Error: Station not found.
Try searching with "Gangnam" (station name only).
```

Files in this skill

  • SKILL.md34.7 KB
  • _meta.json1.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents โ†’

Comments

Loading commentsโ€ฆ

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.