← ClaudeAtlas

seoul-bikelisted

ソウル市の公共自転車「タルンイ(따릉이)」のリアルタイム貸出台数をソウルオープンデータ広場APIで照会する。「ホンデの駅近くでいま借りられる自転車はある?」に対応。無料APIキー(サンプルキーで即動作確認できる)。
tahodev/tabi-skill · ★ 1 · AI & Automation · score 70
Install: claude install-skill tahodev/tabi-skill
# seoul-bike ソウルオープンデータ広場(서울 열린데이터광장)の公共自転車リアルタイム貸出情報APIで、タルンイ(따릉이, ソウル市のシェアサイクル)各ステーションの「いま停まっている自転車の台数」を照会するスキル。2026-09-14 にサンプルキーで**実データ取得を実測確認**済み(INFO-000 で麻浦区の実ステーションが返った)。 照会だけのスキル。実際のレンタル(アプリ登録・決済)は扱わない。 ## キーの取得 ソウルオープンデータ広場(data.seoul.go.kr)で利用申請すると即時発行される(無料)。動作確認だけならサンプルキー `sample` がそのまま使える(1〜5件まで)。 ## 基本の流れ ### 1. サンプルキーで動作確認(実測済み) ```bash curl -s -m 30 "http://openapi.seoul.go.kr:8088/sample/json/bikeList/1/5/" ``` - サンプルキーは1回に5件まで。6件以上を要求すると `ERROR-335`(「샘플키는 한번에 최대 5건」)が返る。実キーでは1回最大1,000件。 ### 2. 実キーで全件ページング ```bash curl -s -m 30 "http://openapi.seoul.go.kr:8088/{SEOUL_KEY}/json/bikeList/1/1000/" ``` - 返ってきた `list_total_count` を見て、1,000件刻みで `{START}/{END}` をずらして全ステーションを取る。ステーション名で絞るAPIフィルタはないので、取得側で `stationName` の部分一致(例: 「홍대입구역」)で探す。 ## 読み方 - `stationName`: 「102. 망원역 1번출구 앞」のように「番号. 名前」。駅名・出口名を含むので日本語話者にも説明しやすい。 - `parkingBikeTotCnt`: **いま借りられる台数**。これが主役。 - `rackTotCnt`: ラック(駐輪枠)数。`shared`: 稼働率(%)。 - `stationLatitude` / `stationLongitude`: 緯度経度。現在地からの距離計算に使う。 - `stationId`: ST-から始まる内部ID。 ## 実レスポンス例(2026-09-14 サンプルキーで実測取得) ```json {"rentBikeStatus":{"list_total_count":5,"RESULT":{"CODE":"INFO-000","MESSAGE":"정상 처리되었습니다."},"row":[ {"rackTotCnt":"15","stationName":"102. 망원역 1번출구 앞","parkingBikeTotCnt":"6","shared":"40","stationLatitude":"37.55564880","stationLongitude":"126.91062927","stationId":"ST-4"}]}} ``` ## 注意 - `parkingBikeTotCnt` が 0 のステーションでは借りられない。返却したい場合は逆にラックの空きが必要なので、空きは `rackTotCnt - parkingBikeTotCnt` で計算する。 - 深夜〜早朝は台数が偏る(回送で再配置され