Bruno API Client:オープンソースのPostman代替ツール(2026年版)
コレクションをファイルシステム上に保存する、高速で Git との親和性が高い API クライアント
Hyperealで構築を始めよう
Kling、Flux、Sora、Veoなどに単一のAPIでアクセス。無料クレジットで開始、数百万規模まで拡張可能。
クレジットカード不要 • 10万人以上の開発者 • エンタープライズ対応
Bruno API Client: Postmanに代わるオープンソースの選択肢 (2026年版)
Postmanのクラウド同期の強制、アカウント作成の義務化、あるいは料金体系の変更に不満を感じているなら、あなたは一人ではありません。Brunoは、根本的に異なるアプローチを採用したオープンソースのAPIクライアントです。あなたのAPIコレクションは、誰かのクラウド上ではなく、ローカルのファイルシステム上のファイルとして保存されます。
このガイドでは、2026年におけるBrunoについて知っておくべきこと(インストール、主要機能、Postmanとの比較、そしてなぜ多くのチームが移行しているのか)をすべて網羅します。
Brunoが存在する理由
Postmanは年を追うごとにそのモデルを変化させてきました。かつてはシンプルなデスクトップアプリでしたが、今ではクラウドアカウントが必須となり、チームコラボレーション機能がプッシュされ、多くの機能が有料プランへと移行しました。ベンダーロックインを避け、単にAPIをテストしたいだけの開発者にとって、これはストレスの種となっています。
Brunoはこれを解決するために作られました。その核心的な原則は以下の通りです:
- ファイルシステムベースのコレクション: APIリクエストは、Bruマークアップ言語を使用したプレーンテキストファイルとして保存されます。クラウドも同期も、アカウント作成も不要です。
- Git親和性: コレクションがファイルであるため、コードと一緒にGitでバージョン管理が可能です。
- オフラインファースト: Brunoはインターネット接続がなくても完全に動作します。
- オープンソース: MITライセンスです。コードを検査、修正、そして貢献することができます。
インストール
Brunoは macOS、Windows、Linuxで利用可能です。
デスクトップアプリ
# macOS (Homebrew)
brew install bruno
# Windows (Chocolatey)
choco install bruno
# Windows (Scoop)
scoop install bruno
# Linux (Snap)
snap install bruno
# Linux (apt - Debian/Ubuntu)
sudo apt install bruno
または、usebruno.com から直接インストーラーをダウンロードしてください。
Bruno CLI
CI/CDパイプラインや自動テスト用に、CLIをインストールします:
npm install -g @usebruno/cli
# コレクションを実行する
bru run --env production
はじめに
コレクションの作成
- Brunoを開き、Create Collection をクリックします。
- コレクションファイルが保存されるローカルのフォルダを選択します。Gitで管理するために、プロジェクトのリポジトリ内の場所を選ぶのがおすすめです。
- コレクションに名前を付けます(例: "My API")。
Brunoは以下のようなフォルダ構造を作成します:
my-api/
bruno.json # コレクション設定
environments/
development.bru # 環境変数
production.bru
users/
get-all-users.bru # 個別のリクエスト
create-user.bru
get-user-by-id.bru
最初のリクエストを作成する
- サイドバーのコレクションを右クリックします。
- New Request を選択します。
- 名前を入力し、HTTPメソッドを選択します。
.bru ファイルの中身は以下のようになります:
meta {
name: Get All Users
type: http
seq: 1
}
get {
url: {{baseUrl}}/api/users
body: none
auth: bearer
}
auth:bearer {
token: {{authToken}}
}
headers {
Content-Type: application/json
Accept: application/json
}
assert {
res.status: eq 200
res.body.length: gt 0
}
tests {
test("should return users array", function() {
const data = res.getBody();
expect(data).to.be.an('array');
expect(data.length).to.be.greaterThan(0);
});
}
Bru言語は人間が読みやすく、diffも取りやすいため、バージョン管理に最適です。
環境(Environments)の設定
Environmentsを使用すると、development、staging、productionなどの変数を切り替えることができます。
# environments/development.bru
vars {
baseUrl: http://localhost:3000
authToken: dev-token-12345
}
# environments/production.bru
vars {
baseUrl: https://api.example.com
authToken: {{process.env.PROD_AUTH_TOKEN}}
}
BrunoのUI右上にあるドロップダウンから環境を切り替えます。
主要機能
スクリプティング
Brunoは、リクエストの前処理(Pre-request)および後処理(Post-request)スクリプトとして JavaScript をサポートしています。
// Pre-request script
const timestamp = Date.now();
bru.setVar("timestamp", timestamp);
// Post-request script
const response = res.getBody();
bru.setVar("userId", response.id);
アサーション (Assertions)
組み込みのアサーション機能により、本格的なテストスクリプトを書かなくてもレスポンスの検証が可能です。
assert {
res.status: eq 200
res.body.data.id: isNumber
res.body.data.email: contains @
res.responseTime: lt 500
}
コレクションランナー
コレクション内のすべてのリクエストを順次、または並列に実行できます。
- コレクションを右クリックします。
- Run Collection を選択します。
- 環境を選択します。
- ランナーの出力で結果を確認します。
Postmanからのインポート
Postmanからの移行は非常に簡単です。
- Postmanのコレクションを JSON (Collection v2.1) としてエクスポートします。
- Brunoで、File > Import Collection に移動します。
- Postman Collection を選択し、エクスポートしたファイルを選びます。
- Brunoがすべてを
.bruファイルに変換し、指定したフォルダに保存します。
# PostmanコレクションがGit管理可能なファイルになります
git add my-api/
git commit -m "Import API collection from Postman"
Bruno vs Postman: 完全比較
| 機能 | Bruno | Postman |
|---|---|---|
| 価格 | 無料 (オープンソース) | 無料枠 + 有料プラン ($14-$49/ユーザー/月) |
| ストレージ | ローカルファイルシステム | クラウド (アカウント必須) |
| Git 連携 | ネイティブ (プレーンテキスト) | 限定的 (JSON のエクスポート/インポート) |
| オフラインモード | 全機能利用可能 | クラウドなしでは制限あり |
| アカウント必須 | 不要 | 必要 (2023年より) |
| コレクション形式 | .bru (可読性が高い) |
JSON (冗長) |
| スクリプティング | JavaScript | JavaScript |
| 環境変数 | ファイルベース | クラウド同期 |
| CI/CD用 CLI | @usebruno/cli (無料) |
Newman (無料) + モニタリングは有料 |
| チーム開発 | Git (PR, ブランチ) | 組み込み (クラウドベース) |
| API ドキュメント | 組み込みなし | 組み込み (有料) |
| モックサーバ | コミュニティプラグイン | 組み込み (有料) |
| パフォーマンス | 高速 (軽量) | 重め (Electron + クラウド) |
| プライバシー | すべてのデータがローカルに留まる | データは Postman のサーバー上 |
Postmanの方が優れている場合
設定なしで組み込みのクラウドコラボレーション、APIドキュメント自動生成、モックサーバーを利用したいチームにとっては、依然としてPostmanが有利です。すでにチームがPostmanのワークフロー機能に依存している場合、移行コストが見合わない可能性があります。
Brunoの方が優れている場合
以下のような場合には、Brunoが最適な選択肢です:
- APIコレクションをコードと一緒にバージョン管理したい
- 頻繁にオフラインで作業する
- データのプライバシーを重視する(クラウドへの依存を避けたい)
- 強制的なアカウント作成を嫌う
- 高速で軽量なツールを使いたい
- すべてにおいて Git ベースのワークフローを使用している
CI/CDのための Bruno CLI
Bruno CLI を使用すると、CI/CD パイプラインでコレクションを実行できます。
# .github/workflows/api-tests.yml
name: API Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm install -g @usebruno/cli
- run: bru run --env production --output results.json
working-directory: ./api-collection
- name: Upload results
uses: actions/upload-artifact@v4
with:
name: api-test-results
path: ./api-collection/results.json
CLI オプション
| コマンド | 説明 |
|---|---|
bru run |
現在のコレクション内のすべてのリクエストを実行 |
bru run --env <name> |
指定した環境で実行 |
bru run --output <file> |
結果をファイルに保存 |
bru run request.bru |
特定のリクエストを実行 |
bru run folder/ |
フォルダ内の全リクエストを実行 |
bru run --recursive |
すべてのサブフォルダ内のリクエストを実行 |
アドバンスド・チップス
シークレット管理
機密情報を Git にコミットしてはいけません。環境変数を使用してください:
# environments/production.bru
vars {
baseUrl: https://api.example.com
}
vars:secret [
authToken
]
secret として指定された変数は、実行時にプロンプトで入力を求められ、.bru ファイルには保存されません。
大規模なコレクションの整理
大規模なAPIの場合、リソースごとにコレクションを整理します:
my-api/
bruno.json
environments/
auth/
login.bru
refresh-token.bru
logout.bru
users/
list-users.bru
create-user.bru
update-user.bru
delete-user.bru
orders/
list-orders.bru
create-order.bru
これにより、APIルートと綺麗に対応し、ナビゲーションが直感的になります。
よくある質問
BrunoでGraphQLは使えますか? はい。BrunoはネイティブでGraphQLリクエストをサポートしています。新しいリクエストを作成する際に、リクエストタイプとして「GraphQL」を選択してください。
WebSocketのテストはサポートしていますか? 新しいバージョンでWebSocketサポートが利用可能になっています。最新の機能については Bruno のチェンジログを確認してください。
Brunoは本当に無料ですか? Brunoのコアアプリは無料でオープンソース(MITライセンス)です。Brunoには、ビジュアルGit Diffやシークレット管理などの高度な機能を備えた、オプションの有料版「Golden Edition」もありますが、無料版でも大多数のユースケースをカバーしています。
チームでBrunoを使うことはできますか? はい。コレクションはファイルであるため、チームは Git を通じて共同作業を行います。プルリクエスト、コードレビュー、ブランチ作成、マージなどのワークフローが自然に行えます。
まとめ
Brunoは、開発者が求めていたAPIクライアントです。高速でオフラインファースト、Git親和性が高く、そして無料です。Postmanのクラウド要件に疲弊し、APIコレクションをコードの隣に置きたいと考えているなら、Brunoは2026年時点で最高の選択肢です。
クリーンなデスクトップUI、Bruマークアップ言語、そしてCI/CD用のCLIの組み合わせは、個人開発者にとってもチームにとっても完璧なツールとなります。
メディア生成のためのAI APIを使用するアプリケーションを構築している場合は、Hypereal AI を無料でお試しください。クレジットカードは不要です。Brunoは、Hypereal APIのテストやプロジェクトへの統合を行う際にも最適なツールとなります。
