P政策ポータルPOLICY PORTALウォッチ
GET認証不要CORS 許可

/api/search?q={キーワード}&limit={1-20}

国会発言・法令・補助金を同時に検索します。

q
必須。検索キーワード。2文字未満の場合、補助金はスキップされます。
limit
任意。各ソースの返却件数(既定 5、最大 20)。

例: /api/search?q=経済安全保障&limit=3

GET認証不要CORS 許可

/api/projects?q=&ministry=&fiscalYear=&minBudget=&maxExecutionRate=

行政事業レビューの事業を検索します。予算額・執行率・最大の支出先を返します。

q
任意。事業名に含まれる語。
ministry
任意。府省名。
fiscalYear
任意。2021〜2025(既定は最新年度)。
minBudget
任意。予算確定額の下限(円)。
maxExecutionRate
任意。前年度執行率の上限(%)。
limit / page
任意。件数(既定20・最大50)とページ。

例: /api/projects?q=半導体&minBudget=1000000000

GET認証不要CORS 許可

/api/recipients?fiscalYear=&limit=&page=

公金の支出先を金額順に返します。除外した記録の件数も含みます。

fiscalYear
任意。省略すると2021〜2025の合計。
limit / page
任意。件数(既定30・最大100)とページ。

例: /api/recipients?limit=10

GET認証不要CORS 許可

/api/{bills|projects|recipients}/csv

画面と同じ絞り込み条件でCSVを書き出します。UTF-8(BOM付き)なのでExcelでそのまま開けます。

絞り込み
各画面のクエリパラメータをそのまま受け取ります(ページ番号は不要)。
行数
1リクエストあたり最大 50,000 行。
来歴
本体はヘッダ行+データ行のみです。出典と取得時刻はレスポンスヘッダ X-Source / X-Retrieved-At に入れています。

例: /api/projects/csv?ministry=デジタル庁&fiscalYear=2025

GET認証不要CORS 許可

/api/themes

政策テーマの一覧と、各テーマの国会発言ヒット数を返します。

例: /api/themes

GET認証不要CORS 許可

/api/themes/{slug}

1テーマの横断データ(発言の年別推移・会派内訳・法令・補助金)を返します。

slug
必須。semiconductor / ai / gx / economic-security / space / medical / agriculture / regional / defense / disaster / childcare / education / digital / labor / energy / tourism / housing / startup / welfare / trade

例: /api/themes/semiconductor

MCP サーバー

ChatGPT や Claude から直接このデータを検索できます。MCPクライアントに https://seisaku-portal.kazuma-45a.workers.dev/mcp を登録してください。 Streamable HTTP transport、認証不要です。

提供しているツール: search_diet_speeches(国会発言)、search_bills(議案と会派別賛否)、search_laws(法令の条文)、search_subsidies(募集中の補助金)、search_budget_projects(行政事業と予算)、top_spending_recipients(公金の支出先)、get_policy_theme(テーマ横断サマリ)、list_policy_themes(テーマ一覧)。

応答には出典と、件数の母集団・単位の但し書きが含まれます。モデルが数値を 取り違えないようにするためです。

レスポンスの約束事

すべてのレスポンスに meta.retrievedAt(取得時刻)と meta.disclaimer が含まれます。各データ区画には出典元の名称とURLを示す source が付きます。

totalHits の単位は区画ごとに異なり、unit で明示しています。 特に法令は「該当した条文の数」であり法令数ではありません。1つの法令が複数の 該当条文を持つことがあります。

いずれかの上流APIが失敗した場合、その区画だけが error を含む形になり、 他の区画は通常どおり返ります。全体が 500 になることはありません。

レスポンスは max-age=300 でキャッシュ可能です。上流は公的機関の 公開APIのため、短時間に大量のリクエストを送らないでください。