開放資料與 API
把這些資料拿去用
站上看得到的資料都可以用程式讀取:不需要金鑰、不用註冊,回應是 JSON。AI 助理也可以直接呼叫,回答時就能附上原句與公報連結。
三種拿法
- API:
https://api.acta.tw,端點列在下面;機器可讀的說明在openapi.json(OpenAPI 3.1)。 - 整批下載:每個議題一份 CSV,一則主張一列,含原句、日期、會議與連結。核能政策、國會職權修法、人工智慧基本法
- 訂閱:新整理出來的主張有 Atom feed,可以加
?issue=或?actor=只看一個議題或一位立委。
給 AI 助理
把下面這段話貼給有上網能力的 AI 助理(或放進它的系統提示),它就會自己查:
要查台灣立法委員在立法院說過什麼時,請使用 Acta 的公開 API(說明:https://acta.tw/llms.txt ,OpenAPI:https://api.acta.tw/openapi.json)。回答時請引用逐字原句(quote)、寫出日期與會議,並附上 https://acta.tw/claims/<id> 或 https://acta.tw/evidence/<id> 的連結;主張文字是 AI 整理的摘要,可能有誤,以原句為準。查不到時請說明這份資料只收錄立法院內、和特定議題有關的發言,不要說成「沒有說過」。
llms.txt 是寫給 AI 讀的網站說明,裡面有同一份端點清單、引用方式與限制。
使用前請先知道
- 唯讀、不需要金鑰,回應都是 JSON,可以從瀏覽器跨網域呼叫(CORS)。
- 發言原文(evidence)取自立法院公報,只收立委本人說的話,目前只收錄和本站議題有關的發言。
- 主張(claim)是 AI 從發言抽出的摘要,附一句逐字原句(quote),經另一個 AI 審核後才發布,仍然可能出錯:引用時以原句為準,並附上主張頁或公報連結。
- 意見群組(group)依主張內容分群,分群時不看姓名與政黨;本站不替任何人標記支持或反對,也不打分數、不排名,使用這份資料時請不要自行加上。
- 每筆資料都有對應的頁面:主張 https://acta.tw/claims/<id>、發言 https://acta.tw/evidence/<id>、立委 https://acta.tw/actors/<id>、議題 https://acta.tw/issues/<slug>。
- 資料約每分鐘更新一次,請自行快取、不要高頻率重複抓取;要整批資料請用議題頁的 CSV(/issues/<slug>/claims.csv)。
- 授權是 CC BY 4.0:請同時標示「Acta.tw」與「立法院」。
端點
GET /search全文搜尋發言原文與已發布的主張
查詢以空白分成幾個詞,每個詞各自一字不差、全部都要出現。其中一個詞剛好是立委姓名、而且還有別的詞時,當成「這位立委說的」。結果依發言日期由新到舊;沒有語意搜尋。
q必填 | 關鍵字,以空白分開 |
|---|---|
type | 只找發言原文或只找主張(evidence/claim) |
actor | 立委 id(見 /actors) |
term | 屆期(8–11) |
from | 發言日期下限,YYYY-MM-DD |
to | 發言日期上限,YYYY-MM-DD |
limit | 一次回傳幾筆(預設 20,最多 100) |
offset | 從第幾筆開始(預設 0) |
GET /quotes/match引言查證:一句引言在收錄的發言裡最接近的原句
只比對文字(不計標點與空白),不用 AI。matches 是空的只代表收錄的發言裡沒有接近的句子,不代表沒有說過:這裡沒有記者會、社群貼文、節目上的發言,公報文字也可能和實際說出口的差幾個字。引言至少 6 個字、最多 300 個字。
quote必填 | 要查的引言 |
|---|---|
actor | 只比對這位立委的發言:立委 id 或完整姓名 |
limit | 最多回傳幾段(預設 5,最多 20) |
試試 https://api.acta.tw/quotes/match?quote=在確認核安無虞的情況下,我不反對核三延役
GET /issues所有議題、各議題的問題與討論量
GET /issues/{slug}一個議題的全部資料:問題、主張與原句、意見群組、記名表決
回應很大(主張多的議題有數 MB)。只想找特定內容時先用 /search 或 /claims/recent。claims[].questionId 對應 questions[].id;groups[].claimIds 對應 claims[].id,kind 是 group(一種意見)或 common_ground(幾個群組的共同點)。
slug必填 | 議題代號(見 /issues) |
|---|
GET /actors所有立委(第 8 屆起)
GET /actors/{id}一位立委:各屆黨籍、已發布的主張(含原句與所屬意見群組)、記名表決、最近的發言
id必填 | 立委 id(見 /actors) |
|---|---|
limit | 一次回傳幾筆(預設 20,最多 100) |
offset | 從第幾筆開始(預設 0) |
GET /claims/recent最近加入的主張(依加入本站的時間,新的在前)
issue | 只看這個議題(代號) |
|---|---|
actor | 只看這位立委(id) |
limit | 最多幾則(預設 50,最多 100) |
試試 https://api.acta.tw/claims/recent?issue=nuclear-energy&limit=10
GET /claims/{id}一則已發布的主張:原句、發言原文、出處、AI 審核的判定與理由、修改紀錄
id必填 | 主張 id |
|---|
GET /claims/{id}/withdrawal撤下紀錄:曾經公開、後來被判定有誤而撤下的主張
只說明何時、由 AI 或人、因為什麼撤下,不再提供主張的文字。從來沒有公開過的主張回 404。
id必填 | 主張 id |
|---|
GET /evidence/{id}一段發言:公報原文、完整對話、出處,以及從它整理出的主張
id必填 | 發言 id |
|---|
GET /coverage收錄範圍與審核統計:每個議題每一屆的發言數與主張數,退回、撤下、人工修改、讀者回報、人工抽查的數量
這些是處理過的數量,不是錯誤率;唯一由人判定的品質數字是 checks(人工抽查)。