API・AI連携
AIアシスタントから使う(MCP)
AIアシスタントに接続すると、「来週締切の横浜市の清掃案件を探して」と話しかけて案件を調べられます。登録やAPIキーは要りません。
- 接続先のURL
接続のしかた
Claude(claude.ai・デスクトップ)設定の「コネクタ」→「カスタムコネクタを追加」に上のURLを入力します。
ChatGPT設定の「アプリとコネクタ」で開発者モードを有効にし、新しいコネクタに上のURLを入力します。
Claude Code次のコマンドを実行します。
APIキーを付けると、キーごとの上限(1日10,000回)で利用できます。キーを付けるときは、接続設定のヘッダーに Authorization: Bearer APIキー を追加してください。
AIが使える機能
- 入札案件を探すキーワード・地域・期限で検索
- 案件の詳細期限・資料・原本のURL
- 落札結果落札金額と落札した会社
- 根拠と履歴原文の表記・訂正の履歴
- 資料の本文必要なページだけ取得
- 類似案件前年の同種案件・似た案件
- 前回からの変更変わった案件を順に取得
- 企業・発注機関落札実績・受付中の案件
- 収録範囲どの掲載元から取得しているか
AIの回答は、必ず原本のURLで公告・参加条件・期限を確認してください。参加資格や落札の見込みは保証していません。
1. APIキーを発行して使う
- ログインアカウント設定を開く
- キーを発行システム名を入れて発行
- キーを保存表示は一度だけです
- 呼び出す下の例のキーを置き換え
サーバー側のプログラムから、Authorization: Bearer APIキー ヘッダーを付けて呼び出します。JSONはUTF-8です。
読み込み中…
例のキーはダミーです。実際のキーをURL、公開リポジトリ、ブラウザ向けコードに含めないでください。不要なキーは設定画面で無効にできます。
ここで案内する公開APIは、キーなしでも少ない利用上限で使えます。案件の保存やアカウント変更はAPIキーでは操作できません。
2. エンドポイント
ベースURL:。{id} には検索結果の文字列IDを指定します。
| メソッドとパス | 内容 | レスポンス |
|---|---|---|
GET /api/tenders/search | 入札案件の検索 | total, total_kind, page, per, hits, facets |
GET /api/tenders/{id} | 案件詳細 | 案件概要、amounts、deadlines_detail、documents、changes、source |
GET /api/tenders/{id}/similar | 前年の案件・類似案件 | items(kind: prev_year / similar) |
GET /api/tenders/{id}/evidence | 期限・金額・契約の根拠 | 値ごとの原文の表記、確認の状態、根拠の資料IDとページ。訂正前の値も含みます |
GET /api/tenders/{id}/history | 変更の履歴と資料の一覧 | changes(訂正・期限の変更・資料の追加など)、documents |
GET /api/tenders/{id}/brief | 案件の概要と要点 | summary(概要), points(資料とページ付き)。収集の後に1件1回作成。全体で1日300件まで |
GET /api/documents/{id}/content | 資料の本文(ページ単位) | document(取得元のURLと取得日時)、pages、next_page。1回に10ページまで |
GET /api/changes | 前回からの変更 | items, has_more, next_cursor。直近31日まで |
GET /api/results/search | 落札結果の検索 | total, page, per, hits, facets |
GET /api/companies/search | 落札企業の検索 | total, page, per, hits |
GET /api/companies/{id} | 企業の落札実績 | company, stats, recent |
GET /api/organizations/search | 発注機関の名前検索 | 機関の配列(id, name, pref, org_kind, open_count)。最大20件 |
GET /api/organizations/{id} | 発注機関の詳細 | organization, stats, open_tenders, recent_contracts, top_companies |
GET /api/stats | 収録件数・更新日時 | open_count, new_24h, total, sources, updated_at |
GET /api/sources | 収集対象と取得状況 | 収集元の配列(id, name, url, kind, last_success_at, last_status, records) |
GET /api/documents/{id} | 案件の資料 | ファイルを返すか、原本のURLに転送。JSONではありません |
3. 検索パラメータ
入札案件:GET /api/tenders/search
| パラメータ | 指定方法 |
|---|---|
q / not | 含む語 / 除外語。空白区切り、それぞれ200文字以内 |
q_mode | all(省略時、全語一致)/ any(いずれか一致、10語以内) |
q_scope | all(省略時、案件名と公告本文)/ title(案件名だけ) |
pref / org_kind / category / method / org / dept / status | 都道府県名 / 機関種別 / 業種区分 / 入札方式 / 機関名 / 部局名 / 状態。カンマ区切りで複数指定、各50件まで。orgとdeptは完全一致 |
budget_min / budget_max | 予定価格の範囲(円の整数)。予定価格が分からない案件は含まれません |
tab | open=受付中、new=24時間以内の新着。省略時はすべて |
deadline | published=公示日、apply=参加申請、question=質問、submit=提出、bid=入札、open=開札 |
from / to | YYYY-MM-DD。日本時間で開始日・終了日を含みます。入札検索ではdeadlineも指定 |
sort | published / new / apply / bid / open / budget。期限は早い順、金額は高い順。省略時は関連度順(qなしは公示日順) |
page / per | pageは1から最大1000、perは既定20・最大100。索引の検索可能件数は最大10,000件 |
落札結果:GET /api/results/search
q(200文字以内)、pref、org_kind、org_id、company_id、from・to(落札決定日)、amount_min・amount_max(円の整数、0以上)、sort(date / amount)、page・per を指定できます。
企業:GET /api/companies/search
q(200文字以内)、pref(カンマ区切り)、sort(wins=落札件数 / amount=登録金額合計)、page・per を指定できます。
発注機関:GET /api/organizations/search
q(機関名、100文字以内)を指定します。最大20件を返します。q の代わりに pref(都道府県の番号 01〜47)を指定すると、その都道府県で最近1年に案件の多い機関を最大30件返します。
4. レスポンスの読み方
次は入札検索の構造を示す説明用の例です。実在する案件ではありません。
{
"total": 1,
"total_kind": "exact",
"page": 1,
"per": 20,
"hits": [
{
"id": "123",
"title": "庁舎清掃業務(説明用の例)",
"org": "○○市",
"pref": "東京都",
"published_on": "2026-09-30",
"deadlines": {
"apply": "2026-10-15"
},
"budget_yen": null,
"url": "https://example.jp/notice",
"source_name": "○○市"
}
],
"facets": {
"pref": [
{
"value": "東京都",
"count": 1
}
],
"org_kind": [],
"category": [],
"method": []
}
}total_kindが estimated のとき、totalは推定件数です。budget_yen、amount_yen、total_amount_yenは円(JPY、倍率1)。nullは不明で、0円ではありません。単価契約を含む可能性があり、登録額の合計を売上高や契約総額と断定しないでください。urlは公告やデータの掲載元です。最新条件は掲載元で確認してください。- 日付は
YYYY-MM-DD、日時は日本時間のISO形式です。受付中は取得した期限などに基づく判定です。 facetsは条件を絞り込むための候補と件数です。空配列・空検索結果も正常な応答です。
APIのデータには未収集・未確認の項目があります。収録範囲・更新状況も確認してください。
5. 前回からの変更を取る
自社のシステムに反映するときは、GET /api/changes を定期的に呼びます。初回は since(例:2026-10-01)を、2回目からは前回の応答の next_cursor を cursor に渡します。has_more が true のあいだは続けて取り、false になったら次の定期取得まで待ってください。
limitは既定100、最大200です。さかのぼれるのは直近31日までです。- 変更があった案件は
/api/tenders/{id}で取り直し、期限・金額の根拠は/api/tenders/{id}/evidenceで確認してください。 - 資料の本文は
/api/documents/{id}/content?from=1&to=10のように必要なページだけ取得できます。
6. 利用上限・エラー
| 認証 | 上限 |
|---|---|
| APIキーなし | 接続元IPごとに120回 / 60秒 |
| APIキーあり | キーごとに1,200回 / 60秒。日次上限は既定10,000回(日本時間0時にリセット)。設定画面にキーごとの上限と利用回数を表示 |
有効なAPIキーは1アカウントにつき最大20個です。短時間の制限はアクセス状況により前後することがあります。
| HTTPステータス | 意味・対応 |
|---|---|
| 400 | 条件や日付、ID等の指定を確認してください |
| 401 | APIキーが無効です。設定画面で確認してください |
| 404 | 対象の案件・資料などが見つかりません |
| 429 | 利用上限です。時間をおいて再試行し、日次上限なら翌日まで待ってください |
| 503 | まだ使えない条件です(部局・予定価格の範囲での絞り込みなど)。条件を外して再試行してください |
| 500 / 502 | 処理・検索基盤の一時的なエラーです。間隔を空けて再試行してください |
{ "error": "検索の言葉が長すぎます。200文字以内にしてください。" }