CtrlK
BlogDocsLog inGet started
Tessl Logo

uspto-database

Access USPTO data (Patent Search, PEDS, TSDR, assignments) when you need to query patents/trademarks and retrieve prosecution or status information programmatically.

59

Quality

69%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./scientific-skills/Other/uspto-database/SKILL.md
SKILL.md
Quality
Evals
Security

Source: https://github.com/aipoch/medical-research-skills

When to Use

  • 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

    1. Search: Use scripts/patent_search.py to locate relevant patent numbers/records from a text or fielded query.
    2. History: Use scripts/peds_client.py to retrieve prosecution/examination history (events, dates, and status signals).
    3. 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.
Repository
aipoch/medical-research-skills
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.