mcpField
A
alterlab-uspto

alterlab-uspto

github.com/alterlab-ieu数据与数据库7867 次安装5 周前更新
代码仓库

关于 alterlab-uspto

alterlab-uspto 是面向知识产权研究者和分析人员的 USPTO 数据查询技能,涵盖专利与商标。它提供检索及辅助脚本,用于查看审查历史、转让、审查意见、PTAB 程序和 TSDR 记录,并说明已停用的 API。

主要功能

  1. 01专利与申请检索
  2. 02审查历史和申请关联关系
  3. 03转让记录与审查意见
  4. 04PTAB 程序和决定
  5. 05通过 TSDR 查询商标状态与历史
  6. 06用于 API 访问的 Python 脚本

适用场景

  1. 01按标题、申请人、发明人或日期查找专利
  2. 02查看审查事件和驳回理由
  3. 03追踪申请权属和专利族
  4. 04查询商标状态及组合记录

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alterlab-ieu/alterlab-academic-skills --skill alterlab-uspto

安装后在 Claude Code 中输入/alterlab-uspto确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
references/
additional_apis.md
patentsearch_api.md
peds_api.md
trademark_api.md
usage_examples.md
scripts/
patent_search.py
peds_client.py
trademark_client.py

详细介绍

USPTO 数据库

概述

用于知识产权分析和现有技术检索的 USPTO 专利和商标数据:申请和专利书目检索、审查(申请审查)历史、延续关系、转让、审查意见、PTAB 程序以及商标状态(TSDR)。目前,大多数专利 API 均位于 USPTO Open Data Portal (ODP),网址为 https://api.uspto.gov;多个较早的服务已于 2025–2026 年停用,因此在复用旧代码前,请先查看下方的状态表。

何时使用此技能

  • 专利/申请检索:按标题关键词、申请人、发明人、日期、状态检索
  • 审查历史:交易记录、审查意见、授权/放弃、审理周期
  • 延续关系和所有权:母案/子案申请、登记的转让
  • 审查意见:文本、引用文献和驳回类型(101/102/103/112)
  • PTAB:IPR/PGR 审理、上诉和干涉决定
  • 商标:通过 TSDR 查询状态、所有人、商品/服务以及审查历史
  • 专利组合分析:公司或发明人的专利和商标
不适用场景
场景改用
学术文献(非专利现有技术)、引用次数alterlab-openalex
生物医学文献检索alterlab-pubmed
FDA 药品/器械批准、标签、510(k)/PMAalterlab-fda
来自 SEC EDGAR 的公司申报文件和财务数据alterlab-edgartools
市场规模/竞争格局报告alterlab-market-research

USPTO API 状态(已于 2026-09-23 验证)

需求当前服务身份验证状态
书目信息搜索、状态、交易、连续性、转让、文档(2001-01-01 起提交的申请,每日更新)ODP Patent File Wrapper:https://api.uspto.gov/api/v1/patent/applications/search(GET q= 或 POST JSON)以及 /{applicationNumberText},加上 /meta-data、/transactions、/continuity、/assignment、/documents、/adjustment、/attorney、/foreign-priority、/associated-documentsX-API-KEY(ODP 密钥)可用 — 取代 PEDS
Office action:文本、引文、驳回、增强引文ODP POST https://api.uspto.gov/api/v1/patent/oa/{oa_actions/v1, oa_citations/v2, oa_rejections/v2, enriched_cited_reference_metadata/v3}/records(表单字段 criteria [Lucene]、start、rows)ODP 密钥自 2026 年初起在 ODP 主机上可用
PTAB 审理、审理决定/文档、上诉、干扰程序ODP /api/v1/patent/trials/proceedings/search、/trials/decisions/search、/trials/documents/search、/appeals/decisions/search、/interferences/decisions/searchODP 密钥可用
请愿决定ODP /api/v1/petition/decisions/searchODP 密钥可用
批量数据(授权/授权前 XML 全文、PatentsView 表、每周 OA 存档等)ODP /api/v1/datasets/products/search、/api/v1/datasets/products/{productIdentifier}ODP 密钥可用
商标状态和文档TSDR https://tsdrapi.uspto.gov/ts/cd/casestatus/sn{serial}/info(XML;也提供 info.json)USPTO-API-KEY 请求头(TSDR 密钥)可用;每个密钥每分钟 60 次请求,PDF/ZIP 每分钟 4 次
带有消歧发明人/受让人的专利全文搜索PatentsView PatentSearch API(search.patentsview.org)—离线:PatentsView 于 2026-03-20 迁移到 ODP 时暂停;主机名已无法解析;尚未公布恢复日期;旧 PatentsView 密钥无法用于 ODP
审查历史PEDS(ped.uspto.gov)、uspto-opendata-python PEDS 客户端—已于 2025-03-14 退役(主机已下线)— 使用 Patent File Wrapper
专利/商标转让搜索assignment-api.uspto.gov—已下线(主机名已无法解析)— 使用 /{app}/assignment 或转让批量数据
旧版 DSAPI 端点(developer.uspto.gov/ds-api/...)——已退役 — 主机重定向至 data.uspto.gov

影响:目前没有可公开使用的 API,能通过消歧受让人进行全文权利要求/摘要搜索。使用 ODP 书目信息搜索来发现专利,使用 ODP 批量授权/pgpub XML(或 ODP 上的 PatentsView 批量表)获取全文;用户询问 PatentsView 风格的查询时,请说明这一情况。

快速入门

API 密钥
  • ODP 密钥(Patent File Wrapper、Office action、PTAB、请愿、批量数据): 使用 USPTO.gov 账户登录 https://data.uspto.gov(自 2026-06-18 起,使用 ODP 必须拥有该账户),然后在 APIs → Getting Started 下申请密钥。发送时使用 X-API-KEY。ODP 会删除连续 90 天未使用的密钥。
  • TSDR 密钥(商标):在 https://account.uspto.gov/api-manager/ 申请 TSDR 产品,并使用 USPTO-API-KEY 发送 — X-Api-Key 请求头会被忽略,因此该调用会被视为未提供密钥(HTTP 401)。
export USPTO_ODP_API_KEY="..."    # ODP scripts (USPTO_API_KEY is read as a fallback)
export USPTO_TSDR_API_KEY="..."   # trademark_client.py
辅助脚本
  • scripts/patent_search.py — ODP Patent File Wrapper 搜索(标题、 发明人、申请人、授权日期范围、专利号查询)
  • scripts/peds_client.py — ODP 文件封装器客户端,PEDS 的后继工具 (FileWrapperClient,别名 PEDSHelper):状态摘要、交易、 Office action 事件、申请审查统计、连续性、转让
  • scripts/trademark_client.py — TSDR 客户端,用于商标状态、所有人、 商品/服务和审查历史

这些脚本已根据 ODP OpenAPI 规范和实时端点路由进行检查(不提供密钥时返回 401/403);请使用自己的密钥运行脚本,再依赖其结果。

任务 1:搜索专利

向 https://api.uspto.gov/api/v1/patent/applications/search 发送 JSON 请求体:

import os, requests

body = {
    "q": 'applicationMetaData.inventionTitle:"lidar"',
    "filters": [{"name": "applicationMetaData.applicationTypeLabelName", "value": ["Utility"]}],
    "rangeFilters": [{"field": "applicationMetaData.grantDate",
                      "valueFrom": "2024-01-01", "valueTo": "2024-12-31"}],
    "sort": [{"field": "applicationMetaData.grantDate", "order": "desc"}],
    "pagination": {"offset": 0, "limit": 25},
}
r = requests.post("https://api.uspto.gov/api/v1/patent/applications/search",
                  headers={"X-API-KEY": os.environ["USPTO_ODP_API_KEY"]}, json=body, timeout=60)
for rec in r.json().get("patentFileWrapperDataBag", []):
    meta = rec["applicationMetaData"]
    print(rec["applicationNumberText"], meta.get("patentNumber"), meta.get("inventionTitle"))

查询语言类似 Solr(field:value、AND/OR/NOT、通配符、带引号的短语)。有用的 applicationMetaData 字段包括:inventionTitle、patentNumber、filingDate、grantDate、applicationStatusDescriptionText、firstApplicantName、firstInventorName、cpcClassificationBag、groupArtUnitNumber、examinerNameText。搜索无匹配项时返回 HTTP 404(“No matching records found”),而不是空的 200 响应。文件封装内容只有书目信息,不包含权利要求或摘要。

references/patentsearch_api.md 记录了离线的 PatentsView PatentSearch API(查询运算符、字段),可用于阅读旧代码,以及 USPTO 恢复该 API 后使用;references/usage_examples.md(任务 1)提供了可运行的代码示例。

任务 2:检索专利审查数据

GET https://api.uspto.gov/api/v1/patent/applications/{applicationNumberText}/transactions 返回 eventDataBag[] 条目,格式为 {eventCode, eventDescriptionText, eventDate};/meta-data 返回状态、日期、审查员和技术中心。scripts/peds_client.py 封装了这些功能(get_status_summary、get_transaction_history、get_office_actions、analyze_prosecution、get_continuity、get_assignments)。

常见交易代码:CTNF(非最终驳回)、CTFR(最终驳回)、NOA(授权通知)、WRIT(已提交答复)、ISS.FEE(授权费)、ABND(已放弃)、AOPF(已寄出审查意见通知)。申请状态代码(并非事件代码)列于 GET /api/v1/patent/status-codes。

references/peds_api.md 介绍了交易代码和审查分析;其中关于 PEDS/库的部分已过时。

任务 3:搜索和监控商标

使用 TSDR(商标状态与文档检索)

GET https://tsdrapi.uspto.gov/ts/cd/casestatus/sn{serial}/info(或 rn{registration})返回 ST96 XML 状态记录;casedocs/{caseid}/info 列出案件文档,.../content.pdf/download.zip 用于获取文档(每分钟 4 次)。scripts/trademark_client.py 中的 TrademarkClient 可按序列号或注册号查询商标、获取状态、运行 check_trademark_health,并支持作品集监控。

常见状态:REGISTERED、PENDING、PUBLISHED FOR OPPOSITION、ABANDONED、CANCELLED、SUSPENDED、REGISTERED AND RENEWED。

有关可运行的代码示例,请参阅 references/usage_examples.md(任务 3);有关状态代码、审查历史和所有权跟踪,请参阅 references/trademark_api.md。

任务 4:跟踪转让和所有权

转让搜索 API 的主机(assignment-api.uspto.gov)已停用。对于指定申请,GET https://api.uspto.gov/api/v1/patent/applications/{app}/assignment 会返回包含 reelAndFrameNumber、conveyanceText、assignmentRecordedDate、assignorBag 和 assigneeBag 的 assignmentBag[](scripts/peds_client.py --assignments {app})。如需查询公司范围的所有权,请使用 ODP 批量数据目录中的转让数据集。

常见转让类型:ASSIGNMENT OF ASSIGNORS INTEREST(所有权转让)、SECURITY AGREEMENT、MERGER、CHANGE OF NAME、ASSIGNMENT OF PARTIAL INTEREST。

任务 5:审查意见、引证和 PTAB

  • 审查意见(文本检索、PTO-892/1449 中的引证、依据 101/102/103/112 条款及双重专利权提出的驳回,以及 AI 提取的增强引证)通过 ODP 主机以表单编码的 POST 请求提供,使用 Lucene criteria 字符串,例如 criteria=patentApplicationNumber:12190351、start=0、rows=25,请求地址为 https://api.uspto.gov/api/v1/patent/oa/oa_rejections/v2/records。
  • PTAB 程序(IPR、PGR、CBM)、决定、文件和单方复审决定均有 ODP 搜索端点(见上表)。
  • 诉讼和 Cancer Moonshot 数据集曾是已停用的 developer.uspto.gov 上的 DSAPI 服务;请在 ODP 批量数据目录中查找。

references/additional_apis.md 介绍了各数据集包含的内容及其组合方式。

完整分析示例

如需全面的专利情报:通过 Patent File Wrapper 搜索找到申请,获取 /meta-data 和 /transactions 以查看审查历史,获取 /continuity 查看专利族,获取 /assignment 查看所有权,然后调用审查意见驳回 API 查看驳回理由。references/usage_examples.md(完整分析示例)提供了完整示例。

最佳实践

  1. 密钥:将 ODP 和 TSDR 密钥保存在环境变量中,切勿写入代码或版本控制;这两种密钥不同,需通过不同的请求头发送。
  2. 速率限制:TSDR 每个密钥每分钟允许 60 次请求(PDF/ZIP 为每分钟 4 次);对于所有 USPTO API,遇到 HTTP 429 时都应采用指数退避。
  3. 覆盖范围:Patent File Wrapper 包含 2001-01-01 起提交的申请;对于更早的专利以及权利要求/说明书全文,请使用批量数据。
  4. 数据处理:待审申请或较早的申请可能缺少许多字段——请处理缺失的键,并将日期解析为 YYYY-MM-DD 字符串。
  5. 可复现性:ODP 每日刷新;请将查询日期与结果一同记录。

资源

参考文件
  • references/usage_examples.md - 各任务对应的 Python 示例
  • references/patentsearch_api.md - PatentsView PatentSearch API(自 2026-03-20 起离线;历史资料)
  • references/peds_api.md - 交易代码和审查分析(PEDS 部分为历史资料)
  • references/trademark_api.md - TSDR 商标 API
  • references/additional_apis.md - 审查意见、引证、PTAB、诉讼数据集
脚本
  • scripts/patent_search.py - ODP Patent File Wrapper 搜索客户端
  • scripts/peds_client.py - ODP file-wrapper 客户端(PEDS 的后继者)
  • scripts/trademark_client.py - TSDR 商标客户端

评论

支持 Markdown