API
DownloadPatent API
從自己的程式與 AI agent 下載專利 PDF、把審查意見通知書轉成引證清單。API 使用同一個帳號、同一份點數。
驗證
登入後在「設定」建立 API 金鑰。完整金鑰只在建立時顯示一次,請像密碼一樣保管。每個請求都在 Authorization 標頭以 Bearer token 送出。每次建立金鑰都會寄信通知你。建立金鑰時可以選擇到期時間(預設 1 年,也可以永不到期)與花費上限(預設每月 $50,也可以不設上限),之後都能在「設定」修改。要輪替時,先建立新金鑰、換上後再撤銷舊的。撤銷在下一個請求就生效。
所有帳號(含免費帳號)都能建立 API 金鑰。每個帳號最多 5 把使用中的金鑰,可隨時撤銷。每把金鑰每分鐘最多 60 個請求。計入次數的回應都帶 IETF 的 RateLimit-Policy 與 RateLimit 欄位,例如 RateLimit-Policy: "per-key";q=60;w=60 與 RateLimit: "per-key";r=59;t=42(還剩 59 個請求,這一分鐘 42 秒後結束),也帶數字相同的舊式 X-RateLimit-Limit 與 X-RateLimit-Remaining 標頭。
Authorization: Bearer dpk_live_…價格與上限
API 呼叫和網頁扣同一份點數,價格也相同。點數包括儲值(沒有使用期限)與贈送點數(註冊贈點發放後 30 天到期,活動贈點依發放時告知的日期到期,都會先扣)。
專利 PDF:經 API 每個帳號每個 UTC 日前 50 篇免費(和網頁的每日免費篇數分開計算),之後每篇 $0.005。每個帳號每個 UTC 日經 POST /patent-pdfs 最多 2,000 篇,超過時回 429 daily_patent_cap_reached,到下一個 UTC 午夜恢復,其他端點照常可用。
自 2026-11-18 起,免費帳號每月可免費下載 100 份專利 PDF。月方案每月含 3,000 份專利 PDF(其他語言版本計入)與 50 份審查意見通知。超過後每份專利 US$0.01。網站與 API 共用同一份額度。已購買的點數價值不變。
審查意見解析:引證清單(mode quick)每份 $0.15,全文引證(mode full)每份 $0.25。月方案帳號經 API 送出的審查意見與網頁共用每個訂閱週期 100 份的額度,超過 100 份才扣點數。建立工作時先保留點數,工作完成時扣款,不論是否讀取結果;讀取結果不另收費。解析失敗的檔案不收費。審查意見的引證專利 PDF 與 ZIP 已含在這份審查意見的價格裡:不占免費篇數、不另外收費,也不計入每天 2,000 篇。英文對應案每篇第一次下載時 $0.03(月方案內含);PDF 裡核對不到自身號碼的對應案照樣交付、不收費。
端點
所有路徑都以 https://downloadpatent.com/api/v1 為前綴。除另有說明外,回應都是 JSON。
- POST /patent-pdfs
- 送出 JSON,number 欄位放專利號碼,回應就是 PDF 本身(application/pdf)。使用和網頁相同的來源;多個請求同時要同一篇專利時只抓一次。號碼可以帶空白、逗號、斜線或連字號,大小寫不拘(例如 US 9,876,543 B2);回應的 X-Patent-Number 標頭是實際使用的號碼。申請號(美國 10/123,456、中國、台灣、日本或 PCT 申請號)不會代為查詢,回 reason 為 application_number;請改送公開號或專利號,日本號碼被拒時請去掉空格再送(例如 JP2022529962A)。
- POST /oa-jobs
- 以 multipart 表單上傳審查意見通知書:mode(quick 或 full)與 file。quick 最多 10 份 PDF,full 一次 1 份;每份不超過 25 MB、整個請求不超過 28 MB,較大的批次請分成幾個工作送出。可選:find_english=true 為每篇非英文引證專利找英文對應案並一起交付(月方案內含額度還有時預設 true,用完後與其他帳號一樣預設 false;明確帶 true 超過額度照價扣款);只要引證清單時送 deliver_files=false(預設 true)。成功回 202 與工作內容。加上 Idempotency-Key 標頭即可安全重試。quick 只讀審查意見通知書所附的檢索報告;沒有附時結果會寫 searchReportFound false,請改用 full 再送一次。
- GET /oa-jobs/:id
- 工作狀態(queued、running、partial、done 或 failed)與每個上傳檔案的狀態。每隔幾秒查詢一次,直到 done、partial 或 failed。
- GET /oa-jobs/:id/result
- 每份審查意見找到的引證:專利號碼與分組(實質引證、背景、PTO-892、IDS、審查員清單)、英文或中文同族,以及非專利文獻。工作完成時已扣款,讀取不另收費。開著 deliver_files 時,工作完成後 job.filesStatus 會先是 preparing 一小段時間,請每 5 秒重讀結果直到變成 ready。之後網頁下載預設勾選的每篇引證專利都有 pdfUrl(找到英文對應案時另有 englishPdfUrl),整個工作與每份審查意見都有 zipUrl,內容與網頁下載的 ZIP 相同(PDF 加引證清單)。用同一把 API 金鑰下載,保留 24 小時。pdfStatus 是 not_included 或 failed 的專利可以用 POST /patent-pdfs 下載。
- GET /oa-jobs/:id/archive、/results/:resultId/archive、/files/:fileId
- 結果裡的網址:整個工作的 ZIP(一份審查意見就是它的 ZIP,多份時是各份 ZIP 再包成一個)、單份審查意見的 ZIP,或單篇 PDF。要用同一把金鑰、同一個帳號。引證專利 PDF 已含在審查意見的價格裡;英文對應案在第一次下載時計費,不論從哪個網址下載,再次下載不另收費。檔案準備中時回 409 files_not_ready。
- GET /balance
- 可用點數(以百萬分之一美元為單位,1,000,000 = $1);patentPdfs.freeRemaining 是還剩幾篇免費專利 PDF,freeResetsAt 是何時重新計算(freeRemainingToday 是同一個數字,已標示棄用);以及月方案的 monthlyOas:本期包含的審查意見份數、已用份數(網頁與 API 合計)與本期結束時間(沒有方案時為 null)。
範例
curl https://downloadpatent.com/api/v1/patent-pdfs \
-H "Authorization: Bearer $DOWNLOADPATENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"number": "US10000000B2"}' \
-o US10000000B2.pdfcurl https://downloadpatent.com/api/v1/oa-jobs \
-H "Authorization: Bearer $DOWNLOADPATENT_API_KEY" \
-H "Idempotency-Key: matter-1234-oa-1" \
-F mode=quick \
-F [email protected]curl https://downloadpatent.com/api/v1/oa-jobs/$JOB_ID \
-H "Authorization: Bearer $DOWNLOADPATENT_API_KEY"
curl https://downloadpatent.com/api/v1/oa-jobs/$JOB_ID/result \
-H "Authorization: Bearer $DOWNLOADPATENT_API_KEY"安全重試
重試 POST /oa-jobs 時送出相同的 Idempotency-Key(英數字與 . _ : -,最多 128 個字元)。24 小時內 API 會回傳第一次建立的工作,不會再建立、再扣款。同一個 key 搭配不同檔案會被拒絕。第一次請求若被拒絕(例如點數不足),儲值後可以用同一個 key 重試。
錯誤
所有錯誤格式相同:一個含 code 與 message 的 error 物件,有時會多帶 retryAfterSeconds 等欄位(見下方範例)。請依 code 處理;message 是給人看的說明。
{
"error": {
"code": "rate_limited",
"message": "Too many requests. Retry after the indicated delay.",
"retryAfterSeconds": 12
}
}- 401 invalid_api_key
- 沒有帶金鑰、格式不對、已撤銷,或帳號已停用。
- 401 key_disabled / key_expired
- 金鑰擁有者在「設定」停用了這把金鑰,或已超過到期日。停用的金鑰重新啟用後就能再用;到期的金鑰不能恢復,請建立新的。
- 403 api_not_available
- API 尚未開放給這個帳號。DownloadPatent 對所有帳號開放 API 之前,其他帳號的金鑰都會被拒絕。
- 429 rate_limited / daily_patent_cap_reached
- rate_limited:這把金鑰這一分鐘的請求已用完,或同一個位址送了太多次錯誤的金鑰。daily_patent_cap_reached:這個帳號今天經 API 的 2,000 篇專利 PDF 已用完,其他端點照常可用。請等 Retry-After 標頭的秒數後再試(每日上限要等到下一個 UTC 午夜);若是金鑰自己的每分鐘上限,RateLimit 標頭的 t 是同一個數字。
- 402 insufficient_credits
- 點數不足以支付這個請求。儲值後再試。
- 402 daily_free_limit_reached
- 免費專利 PDF 已用完,點數也不足以支付下一篇。
- 403 terms_consent_required
- 需先同意更新後的服務條款才能開始新工作。請登入網站同意;讀取既有結果與餘額不受影響。
- 402 key_spend_limit_reached
- 這次請求會讓這把金鑰超過本期的花費上限。請在「設定」提高上限,或等到回應裡的重置時間。
- 400 invalid_request
- 請求格式錯誤;回應會帶出欄位與原因。
- 413 payload_too_large
- 有檔案超過 25 MB,或整個請求超過 28 MB。檔案較多時請分成幾個工作送出。
- 404 not_found / patent_not_found
- 這個帳號沒有這個工作,或該號碼沒有公開的 PDF。
- 405 method_not_allowed
- 這個端點存在,但不接受這個 HTTP method;Allow 標頭會列出它接受的 method。
- 409 / 422 idempotency_in_progress / idempotency_conflict
- 使用這個 key 的第一個請求還在處理,或這個 key 已搭配不同檔案使用過。
- 409 result_not_ready / files_not_ready
- 工作還沒完成,或檔案還在準備中,請繼續查詢。
- 451 region_unavailable
- 你所在的地區或你的帳號無法使用 DownloadPatent。
- 503 unavailable
- 我們或專利局暫時有問題,請稍後再試。
版本與棄用
版本寫在路徑裡。/v1 之內只會新增欄位、端點與錯誤碼;不相容的變更會開新版本。請忽略不認得的欄位。所有金額都是以百萬分之一美元為單位的整數;API 開放給所有帳號之前,key_spend_limit_reached 的 limitMicros 與 spentMicros 已由字串改為數字。
要棄用某個端點、欄位或版本時,至少在它停止運作前 90 天公告。公告後,它的回應會帶 Deprecation 標頭(RFC 9745,標示棄用日期)、Sunset 標頭(RFC 8594,標示停止運作的日期)與連到公告的 Link 標頭;本頁會寫明替代方式,並寄信給前 90 天內呼叫過它的金鑰擁有者。目前沒有任何棄用項目。
準確度
審查意見通知書以 OCR 讀取,引證由規則擷取,規則不足處再以 AI 補充;兩者都可能出錯,使用前請對照原通知書核對每一筆引證。由 AI 補回的引證在結果中標示 source 為 ai。
OpenAPI 描述
這些端點有 OpenAPI 3.1 格式的機器可讀描述,可給程式碼產生器與 AI agent 使用。