关于 alterlab-uspto
alterlab-uspto 是面向知识产权研究者和分析人员的 USPTO 数据查询技能,涵盖专利与商标。它提供检索及辅助脚本,用于查看审查历史、转让、审查意见、PTAB 程序和 TSDR 记录,并说明已停用的 API。
主要功能
- 01专利与申请检索
- 02审查历史和申请关联关系
- 03转让记录与审查意见
- 04PTAB 程序和决定
- 05通过 TSDR 查询商标状态与历史
- 06用于 API 访问的 Python 脚本
适用场景
- 01按标题、申请人、发明人或日期查找专利
- 02查看审查事件和驳回理由
- 03追踪申请权属和专利族
- 04查询商标状态及组合记录
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-uspto安装后在 Claude Code 中输入/alterlab-uspto确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/additional_apis.mdpatentsearch_api.mdpeds_api.mdtrademark_api.mdusage_examples.mdscripts/patent_search.pypeds_client.pytrademark_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)/PMA | alterlab-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-documents | X-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/search | ODP 密钥 | 可用 |
| 请愿决定 | ODP /api/v1/petition/decisions/search | ODP 密钥 | 可用 |
| 批量数据(授权/授权前 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(完整分析示例)提供了完整示例。
最佳实践
- 密钥:将 ODP 和 TSDR 密钥保存在环境变量中,切勿写入代码或版本控制;这两种密钥不同,需通过不同的请求头发送。
- 速率限制:TSDR 每个密钥每分钟允许 60 次请求(PDF/ZIP 为每分钟 4 次);对于所有 USPTO API,遇到 HTTP 429 时都应采用指数退避。
- 覆盖范围:Patent File Wrapper 包含 2001-01-01 起提交的申请;对于更早的专利以及权利要求/说明书全文,请使用批量数据。
- 数据处理:待审申请或较早的申请可能缺少许多字段——请处理缺失的键,并将日期解析为
YYYY-MM-DD字符串。 - 可复现性:ODP 每日刷新;请将查询日期与结果一同记录。
资源
- Open Data Portal:https://data.uspto.gov/(APIs → 入门;交互式 Swagger UI 需要 ODP 密钥)
- PatentsView → ODP 迁移指南:https://data.uspto.gov/support/transition-guide/patentsview
- PEDS → ODP 迁移指南(PEDS-to-ODP API 映射):https://data.uspto.gov/support/transition-guide/peds
- TSDR 密钥管理器:https://account.uspto.gov/api-manager/
- ODP 支持:[email protected]
参考文件
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 商标 APIreferences/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 商标客户端