Access USPTO data (Patent Search, PEDS, TSDR, assignments) when you need to query patents/trademarks and retrieve prosecution or status information programmatically.
Start a fresh conversation. Replace the highlighted placeholders.
Use uspto-database to search USPTO patent records for [query], then retrieve prosecution history and available status signals for the resulting identifiers; API credentials must be supplied through the client configuration.
Required inputs
[query]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: uspto-databasedescription: Access USPTO data (Patent Search, PEDS, TSDR, assignments) when you need to query patents/trademarks and retrieve prosecution or status information programmatically.license: MITauthor: AIPOCH
Find relevant US patents by keyword, inventor, assignee, CPC/IPC class, or date range for prior-art screening.
Retrieve patent application/prosecution history (PEDS) to understand office actions, events, and timeline status.
Check trademark status and documents via TSDR for clearance, monitoring, or portfolio review.
Validate patent lifecycle signals such as maintenance-fee-related status or expiration indicators as part of diligence.
Pull assignment/ownership-related information to support chain-of-title checks.
Key Features
Patent search client for querying USPTO/PatentsView-style endpoints and returning matching patent identifiers/records.
PEDS client for fetching examination history and event data for applications.
TSDR access for trademark status and document retrieval.
Script-oriented workflow designed for automation (batch queries, pipelines, and integration into internal tools).
Dependencies
Python >=3.9
requests >=2.31.0
uspto-opendata-python >=0.3.0
Example Usage
# Example: search patents by abstract text and print results
# Prerequisite: set required API keys in environment variables as expected by your scripts/clients.
# For example (names may vary by implementation):
# export USPTO_API_KEY="..."
# export PATENTSVIEW_API_KEY="..."
from scripts.patent_search import PatentSearchClient
def main():
client = PatentSearchClient()
# Query example: search for patents whose abstract contains "AI"
query = {"_text_all": {"patent_abstract": "AI"}}
results = client.search_patents(query)
print(results)
if __name__ == "__main__":
main()
Implementation Details
Workflow
Search: Use scripts/patent_search.py to locate relevant patent numbers/records from a text or fielded query.
History: Use scripts/peds_client.py to retrieve prosecution/examination history (events, dates, and status signals).
Status checks: Use retrieved metadata to assess maintenance-fee/expiration-related status where available.
Query model
Patent search is driven by a JSON query object (e.g., full-text constraints such as "_text_all" over fields like patent_abstract).
Returned results are intended to be fed into downstream steps (e.g., PEDS lookups by application/patent identifiers).
Authentication
API keys for USPTO and/or PatentsView are required and should be provided via environment variables or configuration used by the clients.
Networking
HTTP requests are performed via requests; ensure timeouts/retries are configured in the underlying clients if running large batches.