MO STORIES
Notion API Token 教學(2026):API Key 怎麼拿、授權資料庫與 curl 測試完整指南
先說結論(Notion API Token / API Key) 如果你正在找 Notion API 教學,最短的成功路徑其實只有三步: 拿到 Integration Token 把資料庫分享給該 Integration 用 curl 成功打通第一個 API 也就是說,你第一次不需要先學完整 SDK,也不用先碰太多抽象...

先說結論(Notion API Token / API Key)
如果你正在找 Notion API 教學,最短的成功路徑其實只有三步:
- 拿到 Integration Token
- 把資料庫分享給該 Integration
- 用
curl成功打通第一個 API
也就是說,你第一次不需要先學完整 SDK,也不用先碰太多抽象概念。先跑通 token、授權、curl 這三件事,成功率最高。
如果你搜尋的是下面這幾種詞,這篇其實都在回答同一件事:
notion api tokennotion api keynotion token 取得notion integration tokennotion secret keynotion access token
在 Notion 官方現在的命名裡,最準確的說法是 Integration Token。很多人說的 Notion API Key、Notion Secret Key、Notion Access Token,實務上大多都在指同一串 secret_... 憑證。
如果你是新手,Notion API 最穩的做法是先完成這 3 步:
- 建立 Integration 並拿到 Token。
- 把目標資料來源分享給該 Integration(Connections)。
- 用
curl依序跑通Search、Query、Create page。
先跑通再擴充,成功率最高。
如果你要把 Notion 做成「可交接、可維護」的工作系統,可先看:
- [[2026-02-26 Notion 企業數位大腦與自動化導入是什麼?|小企業把專案與知識放進同一套系統|Notion 企業數位大腦與自動化導入是什麼]]
- 如果你要看完整 n8n 圖解實作,可直接看這篇:[[2026-03-04 Notion 自動化怎麼做?用 Zapier 與 n8n 解放雙手的完整教學|Notion 自動化完整教學]]。
| 你要做什麼 | 最短路徑 | 你需要準備 | 最常卡住 |
|---|---|---|---|
| 驗證 Token 是否可用 | curl 打 POST /v1/search |
Token、Notion-Version header | 401(Token 錯) |
| 讀取資料 | POST /v1/data_sources/{id}/query |
Data Source ID、欄位型別 | 403(沒分享) |
| 寫入資料 | POST /v1/pages |
parent data_source、properties payload | validation_error(欄位對不上) |
Notion API 教學新手怎麼開始?
如果你是第一次接觸 Notion API,我建議不要一開始就想著:
- 串很多工具
- 直接做完整自動化
- 先研究很複雜的 SDK
比較穩的順序是:
- 先建立 Integration,確認 token 已經拿到
- 把一個測試用資料庫分享給 Integration
- 用
curl打POST /v1/search - 再打
POST /v1/data_sources/{id}/query - 最後才測
POST /v1/pages
這樣做的好處是,你會很快知道自己卡在哪一層:
- 是 token 問題
- 是授權問題
- 是 ID 問題
- 還是欄位型別問題
對新手來說,先把第一個 API 打通,比先理解全部文件更重要。
如果你只想先確認自己是不是走在對的路上,可以用下面這個 3 分鐘判斷表:
| 你現在卡住的地方 | 最先檢查什麼 | 多半是哪裡出錯 |
|---|---|---|
一送 request 就 401 |
Authorization: Bearer ... 與 Token 本身 |
Token 複製錯、漏了 Bearer |
Token 正常但 403 |
目標資料來源有沒有做 Connections 授權 |
Integration 沒被加進資料庫 |
query 打不通 |
你拿到的是不是正確的 data source ID | 直接從舊教學抄 ID、拿錯物件 |
create page 報 validation_error |
Notion 欄位名稱與型別 | select / title / rich_text 對不上 |
也就是說,Notion API 新手最有效率的排錯方式不是盲查文件,而是先把錯誤分成 401、403、ID、欄位型別 這四類。
Notion API key、Integration Token、secret key、access token 有差嗎?
短答:大多數情境下,你可以先把它們當成同一組搜尋意圖。 差別主要在叫法,不在用途。
| 你可能搜尋的詞 | 官方或較準確的說法 | 實際上指的是什麼 |
|---|---|---|
notion api key |
Integration Token | 呼叫 Notion API 用的憑證 |
notion api token |
Integration Token | 同一串 secret_... |
notion secret key |
Integration Token | 多半是在找 token 本體 |
notion access token |
Integration Token | 多半是在找授權後可用的 token |
notion integration token |
Integration Token | 官方最接近的叫法 |
所以如果你現在的問題是「Notion token 在哪裡拿」或「Notion API key 怎麼取得」,你不需要找另一套文件,而是直接去建立 Integration。
API 是什麼?新手怎麼理解?
短答:API 就是「兩個軟體溝通的標準說法」。你可以把它想成點餐:
- 你把「想要什麼」講清楚(Request)。
- 對方回你「結果是什麼」(Response)。
在 Notion API 裡,你常會看到這幾個關鍵字:
POST /v1/search:你問 Notion「有哪些符合條件的資料來源?」POST /v1/data_sources/{id}/query:你問 Notion「把這個資料來源的資料列給我」POST /v1/pages:你請 Notion「幫我新增一列資料」
你做對了,通常會回 200/201;做錯最常見就是 401(Token 錯)或 403(沒授權)。
Notion API 可以拿來做什麼?適合誰?
短答:適合把 Notion 當「資料中樞」的人。你可以用 Notion API 做表單收集、內容同步、CRM/專案資料流整合、備份與自動化寫入。
如果你只是想快速把流程串起來,先用 Typeform/Zapier/Make/n8n 跑通;當你需要更高的可控性(欄位驗證、條件寫入、資料一致性),再回到 API。
Notion API 2026 更新了什麼?為什麼改用 Search + Data Source?
短答:不建議再用舊教學作為主路線。
現在實務上建議用 Search + Data Source 為主。你仍可能在舊專案看到 Database 相關端點,但新流程應以官方現行文件優先。
| 用途 | 建議路線(2026) | 為什麼 |
|---|---|---|
| 找目標資料來源 | POST /v1/search |
先找到 page / data source,避免硬貼錯 ID |
| 讀取資料列 | POST /v1/data_sources/{id}/query |
結構更貼近現在 Notion 資料模型 |
| 新增資料列 | POST /v1/pages |
可直接指定 parent data_source |
Notion Markdown Content API:直接用 Markdown 讀寫頁面
2026 年 2 月,Notion 推出了 Markdown Content API。你可以直接用 Markdown 格式建立、讀取、更新頁面內容,不用再手動把 Markdown 拆成 block JSON。
對開發者來說,這是最大的生產力提升。
三個 Endpoint
| 操作 | Method | Endpoint | 說明 |
|---|---|---|---|
| 建立頁面 | POST |
/v1/pages(帶 markdown 參數) |
用 Markdown 建頁面,取代 children blocks |
| 讀取頁面 | GET |
/v1/pages/{id}/markdown |
回傳完整頁面的 Markdown 內容 |
| 更新內容 | PATCH |
/v1/pages/{id}/markdown |
全部替換(replace_content)或搜尋替換(update_content) |
所有 Markdown API 請求都需要 header:Notion-Version: 2026-03-11
建立頁面範例
curl -X POST "https://api.notion.com/v1/pages" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Notion-Version: 2026-03-11" \
-H "Content-Type: application/json" \
-d '{
"parent": { "database_id": "YOUR_DATABASE_ID" },
"properties": {
"Name": { "title": [{"text": {"content": "測試頁面"}}] }
},
"markdown": "# 標題\n\n這是用 Markdown API 建立的頁面。\n\n- 項目一\n- 項目二\n\n| 欄位 | 值 |\n|------|----|\n| A | 1 |\n| B | 2 |"
}'
讀取頁面範例
curl "https://api.notion.com/v1/pages/YOUR_PAGE_ID/markdown" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Notion-Version: 2026-03-11"
回傳格式:
{
"markdown": "# 標題\n\n這是頁面內容...",
"object": "page"
}
使用限制
① markdown 參數跟 children(block array)互斥,不能同時傳
② 圖片、檔案的 URL 是 pre-signed,會在短時間內過期
③ 支援 Notion 增強版 Markdown(Enhanced Markdown),包含 callout、toggle 等特殊語法
適合什麼場景
| 場景 | 用 Markdown API | 用 Block API |
|---|---|---|
本地 .md 同步到 Notion |
✅ 直接傳 | ❌ 要手動轉 blocks |
| Notion 匯出成 Markdown | ✅ 一個 GET 搞定 | ❌ 要遞迴抓 blocks 再轉 |
| 精確控制每個 block 樣式 | ❌ | ✅ |
| 操作 inline database / synced block | ❌ | ✅ |
如果你的工作流是「本地寫 Markdown → 同步到 Notion」或「Notion 內容匯出成 Markdown」,Markdown API 會省掉大量轉換程式碼。
/v1/views API:用程式管理資料庫 View
2026 年 3 月,Notion 推出 /v1/views API,讓開發者可以用程式建立、更新、刪除資料庫 View(包括新的 Dashboard View)。
Notion 入門套件
3 個模板,直接複製用
不用從零開始建系統。訂閱電子報,立即取得可直接使用的 Notion 模板包。
內容日曆
週/月主題規劃,一目瞭然
極簡習慣追蹤
每日打卡 + 月度回顧
個人 CRM
聯絡人管理,不再忘記誰是誰
訂閱即同意收取瘦桑週報,隨時可取消。不賣 email,不發廣告。
支援的操作
| Method | Endpoint | 說明 |
|---|---|---|
POST |
/v1/views |
建立新 View |
GET |
/v1/views/{id} |
取得 View 設定 |
PATCH |
/v1/views/{id} |
更新 View(篩選、排序、widget) |
DELETE |
/v1/views/{id} |
刪除 View |
GET |
/v1/databases/{id}/views |
列出資料庫的所有 View |
支援的 View 類型
Table、Board、Calendar、Timeline、Gallery、Chart、Dashboard 全部支援。
適合什麼場景
① 自動化建立 Dashboard:新專案建立時,腳本自動幫你建好標準 Dashboard View
② 批次更新篩選條件:用 API 一次更新多個 View 的 filter,不用手動逐一修改
③ 搭配 Webhook:資料庫變更時觸發 webhook → 自動調整 View 設定
開始前要準備什麼?
先確認這 5 項,後面就不會一直撞牆:
- Notion Integration(Internal)。
- Integration Token(
secret_...)。 - 目標資料來源已分享給 Integration(Connections)。
- 可跑 HTTP 請求的環境(建議直接用終端機
curl)。 - 固定的
Notion-Versionheader。
Notion token 取得在哪裡?Notion API Token 怎麼申請?(Integration Token)
如果你搜尋的是 notion token 取得、notion api token 或 notion api key 取得,現在 Notion 官方實際發給你的會是 Integration Token。也就是說,很多人嘴上說的 Notion API Token,本質上就是你在 Integrations 頁面建立 Internal Integration 後拿到的那串 secret_...。
在 Notion 的 Integrations 頁面建立一個 Internal Integration,建立完成就能拿到 Token。
讓我們從頭做一次:
一、從左上角的選單,點擊「Settings 」進入設定頁面。

二、在頁面中,點擊左下方的 Connections ,找到頁面下方的 Develop or manage integrations。

三、進入頁面後,點擊 Create a new integration。

幫它取個好記的名字

四、這樣就完成 Internal Integration Token 的申請,請將 Token 存在某個地方,等一下我們需要使用。

這一步做完後,你就完成了多數人搜尋的:
notion token 取得notion api key 取得notion secret key 在哪裡看
如果你看到的是一串 secret_...,那就是你之後放進 Authorization: Bearer ... 的值。
Notion API Token 是什麼?和 API key、secret key 有差嗎?
短答:對大多數新手來說,可以先把它理解成同一件事,但正式名稱請用 Integration Token。
很多人會搜尋:
- notion api token
- notion api key
- notion token 取得
- notion integration token
- notion secret key
- notion access token
它們想解決的通常是同一個問題:我要去哪裡拿那串可以呼叫 Notion API 的憑證?
實務上你先記住這 3 件事就夠了:
- 你現在要拿的是
Integration Token - 這串 token 只代表「你有鑰匙」,不代表自動擁有所有資料權限
- 真正能不能讀到資料,還要看該 page 或 data source 有沒有分享給這個 Integration
所以如果你拿到 token 之後還是打不通,不一定是 token 錯,也可能只是還沒做 Connections 授權。
Notion token 在哪裡看?拿到後要怎麼用?
短答:在 Integration 建立完成的畫面就能看到,之後請把它放進環境變數,不要直接硬寫在程式碼裡。
最基本的用法長這樣:
export NOTION_TOKEN="secret_xxx"
curl -sS https://api.notion.com/v1/search \
-H "Authorization: Bearer $NOTION_TOKEN" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
--data '{}'
你要確認的不是「有沒有找到 token」而已,而是:
- 這串 token 是否真的能通過
401驗證 - 目標資料來源是否已授權給 Integration
- 你有沒有把 token 放在安全的位置,而不是公開 repo
Notion API Token 拿到後,怎麼測試有沒有效?
最簡單的方式不是先打最複雜的資料庫 query,而是先用 POST /v1/search 測一次。
你只需要確認 3 件事:
Authorization: Bearer <YOUR_TOKEN>有帶到Notion-Version有指定- 回傳不是
401
一旦 search 能成功回資料,就代表:
- token 格式大致正確
- header 沒帶錯
- API 基本連線正常
接著你再往 data_sources/{id}/query 或 pages 走,排錯會快很多。
Notion API 403 怎麼解?(Connections 授權)
短答:因為 Token 只是鑰匙,資料來源沒有分享給 Integration,一樣沒權限。
你要做的事:
- 打開目標資料庫(或資料來源)頁面。
- 點
Connections/Add connections。 - 指定剛建立的 Integration。
- 重新送一次 API。
如果你明明拿得到 Token,也確認 Notion-Version 有帶,但還是 403,十之八九不是 API 壞掉,而是這一步沒做完。這也是為什麼很多人誤以為 Notion API 很難,其實只是授權模型和 Google Sheet 那種「拿到 key 就能跑」不一樣。

案例 1:用 Typeform 表單寫入 Notion(先做 no-code 驗證)
Typeform 是一個線上表單建立工具,可以讓你輕鬆地建立訪問者可以填寫的表單。( 官網 )
Typeform 是世界上最棒的表單之一,它還有多項整合的功能,像是將名單整合到 Google Excel 、 Mailchimp(Email 行銷系統),甚至是 Facebook pixel 可做到再行銷廣告。
如果使用 Typeform 和 Notion API 串接的話,讓人在美美的 Typeform 表單上填寫資料,並將資料儲存在 Notion 裡,更方便管理和使用,是不是聽起來還不錯。
所以先用 Typeform 跑通,確認資料真的會進 Notion,再上程式化流程,對新手最穩。
這個案例的目標是「表單送出後,Notion 會新增一列,而且欄位型別不會亂掉」。
你做完這個案例,應該得到 3 個明確結果:
- 每送出一份表單,Notion 會新增一列(代表串接真的寫進去了)。
- 每個欄位都落在正確型別(例如 Email 進 email,Need 進 select/multi_select)。
- 你已經有一組「真實資料樣本」,可拿來驗證後續 n8n 流程。
建議先把 Notion 資料來源做成這種結構(範例):
| Notion 欄位 | 建議型別 | 來源(Typeform) | 常見踩坑 |
|---|---|---|---|
| Name | title | 短文字 | 欄位名稱不一致導致寫不進 |
| 存成 rich_text 後續難驗證 | |||
| Need | select / multi_select | 單選/多選 | 選項值不一致造成落空 |
| Source | select | 隱藏欄位/UTM | 忘了設預設值,變成大量空值 |
| Note | rich_text | 長文字 | 長度過長或塞入不必要內容 |
使用上也很容易,只要這樣做:
Step1. 加入會員( 免費加入會員 )

Step2. 新增表單

Step3. 設定 Connect 到 Notion
表單完成後,我們要將表單 Connect 到 Notion。

在 Notion 設定資料庫,這樣就完成。

再後,不要忘了新增一個 Notion Database ,並且將 Notion Connecting 設定好。


案例 2:用 n8n + curl 跑一次 API(程式化驗證)
短答:當 Typeform 已經跑通,你就可以用 n8n + curl 驗證「不用表單,也能直接用 API 寫進 Notion」。
先準備環境變數:
export NOTION_TOKEN="<YOUR_NOTION_TOKEN>"
export NOTION_VERSION="2025-09-03"
用 curl 找出 Page 中帶有 Notion 關鍵字
Copy cURL
curl -sS https://api.notion.com/v1/search \
-H "Authorization: Bearer $NOTION_TOKEN" \
-H "Notion-Version: $NOTION_VERSION" \
-H "Content-Type: application/json" \
--data '{"query":"notion","filter":{"value":"page","property":"object"}}'
點擊 Import cURL

輸入你的 API KEY,Notion-Version = 2025-09-03,點擊 Execute Step。成功的話,就會像右側出現你的 Notion Page。

如果你想看 n8n 的完整圖解(Webhook 設定、按鈕觸發、排錯重點),可直接接這篇:[[2026-03-04 Notion 自動化怎麼做?用 Zapier 與 n8n 解放雙手的完整教學|Notion 自動化完整教學]]。
401/403/404/Validation Error 怎麼排查?
短答:先看狀態碼,再對應權限、ID、欄位型別,5 分鐘內通常能定位問題。
| 錯誤 | 最常見原因 | 快速修復 |
|---|---|---|
| 401 unauthorized | Token 錯、漏 Bearer |
重貼 Token,確認 Header 格式 |
| 403 forbidden | 沒把資料來源分享給 Integration | 到 Connections 補授權 |
| 404 object_not_found | ID 貼錯或資源不存在 | 先用 Search 重新取 ID |
| validation_error | 欄位名或型別不符 | 回 Notion 檢查 property 名稱與 type |
如果你想把排錯速度再拉快,順序建議固定成這樣:
- 先看 HTTP status code,不要一開始就重寫整段 request。
- 再檢查 Token、
Notion-Version、Content-Type三個 header。 - 確認 data source 是否真的有分享給 Integration。
- 最後才回去比對欄位型別與 payload。
這個順序的好處是,你不會把「授權問題」誤判成「程式碼問題」,也不會在欄位 payload 上浪費太久。
Notion API Token 怎麼保存才安全?
短答:Token 當密碼管理,不要硬寫在前端或公開文章。
建議實務:
- 放在
.env(例如NOTION_API_KEY)。 - CI/CD 用 Secrets 管理。
- 定期輪替,舊 Token 失效。
- 依環境拆分(dev/staging/prod 不共用)。
下一步行動
- 先跑
案例 1,用 Typeform 產生第一批可驗證資料。 - 再跑
案例 2,用curl驗證 n8n/API 寫入流程。 - 想看 n8n 完整圖解可直接看:[[2026-03-04 Notion 自動化怎麼做?用 Zapier 與 n8n 解放雙手的完整教學|Notion 自動化完整教學]]。
延伸閱讀:
- [[2026-04-02 Notion Database 教學:建立資料庫、欄位與 View 的完整入門|Notion Database 教學:資料庫完整入門]]
- [[2026-03-11 Notion 工作區(Workspace)如何創建及設定?|Notion Workspace 教學:工作區建立與設定]]
- [[2026-03-27 2026 Notion 模板推薦:10 款免費模板,工作、記帳、年度計畫一次搞定|2026 Notion 模板推薦]]
常見問題 FAQ
Q: Notion API Token 要去哪裡拿?
到 Notion Integrations 建立 Internal Integration 後即可取得 Token。取得後仍要把目標資料來源分享給該 Integration,否則常見 403。
Q: notion api token 跟 notion api key 是同一個東西嗎?
大多數情境下,你可以先把它當成同一件事理解;但在 Notion 官方現在的命名裡,較準確的說法是 Integration Token。真正重點不是名稱,而是你拿到 token 後,還要把資料來源分享給該 Integration。
Q: notion secret key 跟 notion access token 是什麼?
大多數時候,這兩個詞也是在找同一串可以呼叫 Notion API 的憑證。對 Notion 現行文件來說,最穩的叫法還是 Integration Token。如果你已經拿到 secret_...,那通常就是你要找的東西。
Q: notion token 在哪裡看?
到 Notion 的 Integrations 頁面建立 Internal Integration,建立完成的畫面就能看到 token。若你是回頭管理舊 integration,建議把 token 存進環境變數或 Secrets 管理工具,不要直接寫死在程式碼。
Q: 為什麼我用 curl 還是遇到 401/403?
401 多半是 Token 或 Header 格式錯;403 多半是沒有做 Connections 授權。先檢查 Authorization 與 Notion-Version,再檢查資料來源權限;不要一開始就懷疑整段 curl 指令。
Q: Data Source ID 要怎麼找?
建議先用 POST /v1/search 找,避免手動從網址截錯 ID。若手動複製,也要確認是你要操作的同一個資料來源,因為很多舊教學拿的是 page ID,不一定是現在該 query 的 data source ID。
Q: Notion API 新手第一個 curl 應該打哪個端點?
建議先打 POST /v1/search。因為它最適合用來驗證 token、header 與基本連線是否正常,成功後再往 query 和 create page 走,排錯會快很多。
Q: Typeform 串接後為什麼欄位會寫不進 Notion?
通常是欄位型別不一致(例如 Notion 要 select,Typeform 丟純文字)或必填欄位未映射。先用 3 筆測試資料逐欄驗證。
Q: Token 很敏感嗎?怎麼保存比較安全?
很敏感。請放環境變數或 Secrets Manager,不要放在公開 repo、前端程式碼或可被外部讀取的設定檔。
Q: 不想寫程式,可以怎麼入門 Notion 自動化?
可以先從 no-code 路線開始(Typeform、Zapier、Make、n8n),先把資料流跑通,再逐步換成 API 客製流程。
Q: Notion API 可以直接用 Markdown 嗎?
可以。2026 年 2 月推出的 Markdown Content API 支援用 Markdown 建立、讀取、更新頁面。請求時帶 Notion-Version: 2026-03-11,用 markdown 參數取代 children blocks。適合本地 Markdown 同步到 Notion 或從 Notion 匯出內容的場景。
資料來源
資料最後查核日期:2026-04-04

關於作者 | 10+ 經驗
MO 編輯
WordPress 效能優化專家 / MO Design Studio 共同創辦人
關注設計 × 工程的平衡協作,擅長以簡潔語言說故事。專門幫已有網站的品牌做速度升級。相信好網站不用重做,只需要正確的優化。
延伸閱讀

一人自媒體的內容自動化系統:Notion × WordPress × Claude Code 完整教學
用 Notion 管內容、WordPress 發文章、Claude Code 輔助寫作,再用腳本自動同步到 Threads、Facebook、電子報。這篇教你從零建起一套一人就能管的內容自動化系統。...

Notion 寫作模板教學:從靈感收集到多平台發文的完整系統(2026)
用 Notion 建一套寫作系統:靈感收集、大綱規劃、寫作、排程發文。一個模板管所有平台(部落格、Threads、電子報),不用每次從零開始。...

用 Notion 管理 WooCommerce:商品上架、訂單追蹤、庫存警示完整教學(2026)
用 Notion + n8n 串接 WooCommerce REST API,打造商品管理、訂單同步、庫存警示三合一電商大腦。從架構設計到實作步驟一次說清楚。不需要寫程式。...
Notion 入門套件
3 個模板,直接複製用
不用從零開始建系統。訂閱電子報,立即取得可直接使用的 Notion 模板包。
內容日曆
週/月主題規劃,一目瞭然
極簡習慣追蹤
每日打卡 + 月度回顧
個人 CRM
聯絡人管理,不再忘記誰是誰
訂閱即同意收取瘦桑週報,隨時可取消。不賣 email,不發廣告。