楽天市場、好きですか?
僕は好きです。ポイントはたまるし、日本企業を応援しなきゃとか思わなくもないし。
でもサイトがごちゃごちゃしすぎて探しにくい。広告は多い、バナーは派手、気づいたら全然関係ないページにいる。
そこで、楽天ウェブサービスAPIをCLIから叩けるツール「raku-cli」を作りました。
出力はすべてJSON。AIエージェントに渡して「いい感じに探しておいて」が実現できます。楽天トラベルのホテル検索もできるので、AIエージェントに旅行の計画をしてもらうことも可能です。
リポジトリ
インストール
Releases からバイナリを落とすだけです。
# macOS (Apple Silicon)
curl -L https://github.com/dugabot0/raku-cli/releases/download/v0.1.0/raku-cli_darwin_arm64 -o raku-cli
chmod +x raku-cli
ソースからビルドする場合:
git clone https://github.com/dugabot0/raku-cli.git
cd raku-cli
go build -o raku-cli .
設定
~/.config/raku-cli/config.yaml を作成します。
rakuten:
app_id: "your-app-id"
affiliate_id: "your-affiliate-id" # アフィリエイトIDがあれば
access_key: "pk_..." # Ichiba OpenAPI用(任意)
origin: "https://www.example.com" # 許可されたWebサイト
楽天ウェブサービスでアプリIDを取得してください。無料です。
環境変数でも設定できます:
export RAKUTEN_APP_ID="your-app-id"
export RAKUTEN_AFFILIATE_ID="your-affiliate-id"
export RAKUTEN_ACCESS_KEY="pk_..."
export RAKUTEN_ORIGIN="https://www.example.com"
対応API
| コマンド | 内容 |
|---|---|
ichiba items |
市場アイテム検索 |
ichiba ranking |
ランキング |
ichiba genre |
ジャンル一覧 |
books search |
書籍・CD・DVD・ゲーム横断検索 |
books book/cd/dvd/game/magazine |
メディア別検索 |
travel hotels |
ホテル検索 |
travel vacant |
空室検索 |
travel ranking |
ホテルランキング |
misc kobo |
Kobo電子書籍検索 |
misc gora |
GORAゴルフ場検索 |
misc recipe |
レシピカテゴリ |
使い方
基本
# キーワード検索
raku-cli ichiba items --keyword "ノートパソコン" --pretty
# ランキングを見る
raku-cli ichiba ranking --pretty
# ホテルを探す
raku-cli travel hotels --large-area japan --middle-area tokyo --pretty
AIエージェントに渡す
JSON出力なのでそのままAIエージェントに投げられます。
楽天のサイトで探すより「CLIで取得してAIに判断させる」ほうが圧倒的に楽です。
「Nintendo Switchのソフトで評価が高くて安いものを探して」
→ raku-cli books game --keyword "Nintendo Switch" --sort reviewAverage の結果をAIに渡す
サイトを何ページもスクロールする必要がなく、AIが整理して返してくれます。
旅行の場合も同様です。
「来月、箱根で温泉に入れる宿を探して。2人で予算1泊2万円以内」
→ raku-cli travel vacant --large-area japan --middle-area kanagawa --small-area hakone \
--checkin-date 2026-04-10 --checkout-date 2026-04-11 \
--adult-num 2 --max-charge 20000 --squeeze onsen の結果をAIに渡す
楽天トラベルのサイトで条件を絞り込むより、CLIで一発取得してAIに「この中でおすすめは?」と聞くほうがずっと早いです。
ポイ活に使う(おすすめ)
個人的に一番好きな使い方がこれです。
楽天ポイントの倍率が高い商品だけに絞る --point-rate-flag フラグがあります。
# ポイント倍率が設定されている商品のみ
raku-cli ichiba items --keyword "洗剤" --point-rate-flag 1 --pretty
# さらにポイント5倍以上に絞る
raku-cli ichiba items --keyword "洗剤" --point-rate-flag 1 --point-rate 5 --pretty
楽天お買い物マラソンやスーパーSALEのとき、ポイント倍率が高い商品を自動で拾ってきてAIに「この中で一番コスパいいのどれ?」と聞けばポイ活が捗ります。
送料無料と組み合わせることも:
raku-cli ichiba items --keyword "コーヒー" --postage-flag 1 --point-rate-flag 1 --sort "-itemPrice" --pretty
フラグ一覧(ichiba items)
主なフラグを抜粋します。APIのパラメータをほぼ全部実装しています。
--keyword 検索キーワード
--sort 並び順(+itemPrice/-itemPrice/reviewCount/reviewAverage 等)
--min-price 最低価格
--max-price 最高価格
--point-rate-flag 1=ポイント倍率商品のみ
--point-rate 最低ポイント倍率(2〜10)
--postage-flag 1=送料無料のみ
--has-review-flag 1=レビューあり商品のみ
--image-flag 1=画像あり商品のみ
--or-flag 1=OR検索
--ng-keyword 除外キーワード
--hits 件数(最大30)
--page ページ番号
--pretty 整形して出力
books、travel、kobo、gora も同様に詳細なフラグに対応しています。
実装について
コードはClaudeに書いてもらいました(前回のav-cliと同じパターン)。
- 言語: Go
- フレームワーク: Cobra + Viper
- 出力: すべてJSONでstdout、エラーはstderr
- 終了コード: 0=正常、3=認証エラー、4=ネットワークエラー
APIレスポンスはそのままJSON出力するので、jq やAIエージェントと相性がいいです。
# jqと組み合わせてアイテム名と価格だけ抽出
raku-cli ichiba items --keyword "ヘッドフォン" --hits 5 | jq '.Items[] | {name: .itemName, price: .itemPrice}'
まとめ
- 楽天での買い物、旅行計画はCLIで取ってきてAIに任せると快適
-
--point-rate-flag 1でポイ活が捗る
ぜひ使ってみてください。