跳到主要内容
DownloadPatent

API

DownloadPatent API

通过自己的脚本和 AI agent 下载专利 PDF,并将审查意见通知书转换为引用文献清单。API 与网站使用同一账号和同一份点数。

身份验证

登录后在“设置”中创建 API 密钥。完整密钥仅在创建时显示一次,请像保管密码一样妥善保存。每次请求都要在 Authorization 请求头中以 Bearer token 的形式发送密钥。每次创建密钥时,我们都会发送邮件通知你。创建密钥时可以选择到期时间(默认一年,也可以设为永不到期)和可用金额(默认每月上限 $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:每个账号每个 UTC 日通过 API 下载的前 50 篇免费(与网站的每日免费额度分开计算),之后每篇 $0.005。每个账号每个 UTC 日通过 POST /patent-pdfs 最多可下载 2,000 篇专利 PDF;超过后,API 将返回 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 已包含在该通知书的价格中:不占用免费专利 PDF 额度,不另外收费,也不计入每天 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 响应头会给出我们实际使用的写法。申请号(US 10/123,456,以及 CN、TW、JP 或 PCT 申请)会被拒绝并返回 reason application_number,不会进行查询;请改为发送公开号或专利号。如果 JP 号码被拒绝,请去掉空格后再发送(JP2022529962A)。
POST /oa-jobs
以 multipart form data 上传审查意见通知书: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,此时请改用 mode full 重新发送。
GET /oa-jobs/:id
返回任务状态(queued、running、partial、done 或 failed)以及每个已上传文件的状态。请每隔几秒轮询一次,直到状态变为 done、partial 或 failed。
GET /oa-jobs/:id/result
返回每份审查意见通知书中找到的引用文献:专利号及其分组(substantive、background、PTO-892、IDS、examiner list)、英文或中文同族专利,以及非专利文献。任务完成时已扣费,读取不收费。使用 deliver_files 时,任务完成后的短时间内 job.filesStatus 为 preparing;请每 5 秒读取一次结果,直到变为 ready。之后,网站下载默认选中的每篇引用专利都会带有 pdfUrl(找到英文对应专利时还有 englishPdfUrl),任务和每份审查意见通知书都会带有 zipUrl:文件和引用文献清单与网站的 ZIP 相同。请使用同一 API 密钥下载;文件保留 24 小时。pdfStatus 为 not_included 或 failed 的专利可通过 POST /patent-pdfs 获取。
GET /oa-jobs/:id/archive, /results/:resultId/archive, /files/:fileId
这些是结果中给出的 URL,分别对应任务的 ZIP(单份审查意见通知书的 ZIP,或由各份通知书的 ZIP 组成的 ZIP)、单份审查意见通知书的 ZIP,或单个 PDF。须使用与任务相同账号下的同一密钥。引用专利的 PDF 已包含在审查意见通知书的价格中。英文对应专利在首次下载时扣费,无论通过哪个 URL 下载;再次下载不收费。文件准备期间返回 409 files_not_ready。
GET /balance
返回以 micro-dollar 为单位的可用点数(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.pdf
curl 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 会返回第一次创建的任务,不会创建第二个任务或重复扣费。使用同一密钥值提交不同文件会被拒绝。如果第一次请求被拒绝(例如点数不足),充值后可以用同一个值重试。

错误

所有错误的结构都相同:一个包含 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 下载专利 PDF 的 2,000 篇额度已用完,其他接口不受影响。请等待 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 方法;Allow 响应头列出了它接受的方法。
409 / 422 idempotency_in_progress / idempotency_conflict
使用此键值的第一个请求仍在运行,或此键值已用于提交不同的文件。
409 result_not_ready / files_not_ready
任务尚未完成,或其文件仍在准备中。请继续轮询。
451 region_unavailable
DownloadPatent 在你所在的地区或对你的账号不可用。
503 unavailable
我们这边或专利局出现临时问题。请稍后重试。

版本与弃用

版本号是路径的一部分。在 /v1 内,我们只会新增字段、接口和错误代码;任何不兼容的变更都会发布新版本。请忽略无法识别的字段。所有金额都是以 micro-dollar 为单位的整数;在 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 使用。

DownloadPatent API:专利 PDF 与审查意见通知书引用文献 · DownloadPatent