API
DownloadPatent API
ご自身のスクリプトや AI エージェントから特許 PDF をダウンロードし、拒絶理由通知を引用文献リストに変換できます。API はウェブと同じアカウント・同じクレジットを使います。
認証
ログイン後、「設定」で API キーを作成します。完全なキーは作成時に一度だけ表示されるので、パスワードと同様に保管してください。すべてのリクエストで Authorization ヘッダーに Bearer トークンとして送信します。キーが作成されるたびにメールでお知らせします。キーを作成するときに有効期限(既定は 1 年、無期限も可)と利用上限額(既定は月 $50、上限なしも可)を選べ、どちらも後から「設定」で変更できます。入れ替えるときは新しいキーを作成して切り替えてから古いキーを無効化してください。無効化は次のリクエストから有効です。
無料アカウントを含むすべてのアカウントで API キーを作成できます。有効なキーは 1 アカウントにつき最大 5 個で、いつでも無効化できます。各キーは 1 分あたり 60 リクエストまでです。カウントされたレスポンスには IETF の RateLimit-Policy と RateLimit フィールドが付きます。例:RateLimit-Policy: "per-key";q=60;w=60、RateLimit: "per-key";r=59;t=42(残り 59 リクエスト、この 1 分は 42 秒後に終わります)。同じ数値の旧形式 X-RateLimit-Limit と X-RateLimit-Remaining ヘッダーも付きます。
Authorization: Bearer dpk_live_…料金と上限
API の利用はウェブと同じクレジット残高から、同じ料金で差し引かれます。クレジットはチャージ分(有効期限なし)と無償クレジット(登録特典は付与から 30 日、キャンペーン特典は付与時にお知らせする日に失効、先に使用)の合計です。
特許 PDF:API 経由では 1 アカウントにつき UTC の 1 日あたり最初の 50 件が無料です(ウェブの無料枠とは別に数えます)。それ以降は 1 件 $0.005 です。POST /patent-pdfs による取得は 1 アカウントにつき UTC の 1 日あたり最大 2,000 件で、超えると次の UTC 午前 0 時まで 429 daily_patent_cap_reached になります。他のエンドポイントはそのまま使えます。
2026-11-18から、特許PDFの無料枠は無料アカウントで月100件になります。月額プランには月3,000件の特許PDF(他言語版を含めて数えます)と拒絶理由通知50件が含まれます。超過分は特許1件US$0.01です。ウェブとAPIで同じ枠を使います。購入済みのクレジットの価値は変わりません。
拒絶理由通知の解析:引用文献リスト(mode quick)は 1 通 $0.15、全文引用(mode full)は 1 通 $0.25 です。Monthly プランでは、API から送った通知もウェブと同じ「契約期間ごとに 100 通」の枠に数えられ、100 通を超えた分だけクレジットを使います。ジョブ作成時にクレジットを確保し、結果を読み出したかどうかにかかわらず、ジョブの完了時に課金します。結果の読み出しに料金はかかりません。解析に失敗したファイルは課金されません。拒絶理由通知の引用特許 PDF と ZIP はその通知の料金に含まれます。無料枠を使わず、追加料金もかからず、1 日 2,000 件にも数えません。英語の対応特許は初回ダウンロード時に 1 件 $0.03(Monthly プランは込み)です。PDF に自身の番号が確認できない対応特許は無料でお渡しします。
エンドポイント
すべてのパスは https://downloadpatent.com/api/v1 からの相対パスです。特に記載がない限りレスポンスは JSON です。
- POST /patent-pdfs
- number フィールドに特許番号を入れた JSON を送ると、PDF そのもの(application/pdf)が返ります。ウェブと同じ取得元を使い、同じ特許への同時リクエストでも取得は 1 回だけです。番号にはスペース、カンマ、スラッシュ、ハイフンを含めてもよく、大文字・小文字も問いません(例: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 で英語以外の各引用特許の英語対応特許を探して一緒にお渡しします(Monthly プランは枠が残っている間は既定で 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
- 各通知で見つかった引用文献:特許番号とその分類(実体的引用、背景、PTO-892、IDS、審査官リスト)、英語・中国語のファミリー、非特許文献。ジョブの完了時に課金済みで、読み出しに料金はかかりません。deliver_files が有効な場合、ジョブ完了後しばらく job.filesStatus は preparing です。ready になるまで 5 秒ごとに結果を読み直してください。その後、ウェブのダウンロードで既定でチェックされる各引用特許に 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(通知が 1 通ならその ZIP、複数なら各 ZIP をまとめた ZIP)、1 通分の ZIP、または 1 件の PDF。ジョブと同じキー・同じアカウントで使います。引用特許 PDF は拒絶理由通知の料金に含まれます。英語の対応特許は、どの URL からでも初回のダウンロードで課金され、再ダウンロードは無料です。準備中は 409 files_not_ready になります。
- GET /balance
- 利用可能なクレジット(100 万分の 1 ドル単位、1,000,000 = $1)、patentPdfs.freeRemaining(無料で取得できる特許 PDF の残り件数)と freeResetsAt(数え直す日時。freeRemainingToday は同じ値で非推奨です)、Monthly プランの 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 時間以内であれば、2 つ目のジョブを作って課金する代わりに最初のジョブを返します。同じキーを別のファイルで使うと拒否されます。最初のリクエストがクレジット不足などで拒否された場合は、チャージ後に同じキーで再試行できます。
エラー
エラーはすべて同じ形式で、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:このキーの 1 分間のリクエストを使い切ったか、同じアドレスから無効なキーが何度も送られました。daily_patent_cap_reached:このアカウントの本日の API 経由の特許 PDF 2,000 件を使い切りました。他のエンドポイントはそのまま使えます。Retry-After ヘッダーの秒数だけ待ってください(1 日の上限は次の UTC 午前 0 時まで)。キー自身の上限による場合は、RateLimit ヘッダーの t も同じ数値です。
- 402 insufficient_credits
- クレジットが不足しています。チャージしてから再試行してください。
- 402 daily_free_limit_reached
- 無料の特許 PDF を使い切り、次の 1 件分のクレジットも不足しています。
- 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 の中では項目・エンドポイント・エラーコードの追加のみ行い、互換性のない変更は新しいバージョンで行います。知らない項目は無視してください。金額はすべて 100 万分の 1 ドル単位の整数です。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 エージェントでご利用ください。