Fork me on GitHub

IP Tools

We are developing innovative software for processing intellectual property information based on modern components and technologies. Open source and a friendly community.

A curated list of software applications, modules, and resources.

Open source software projects live from collaboration, contribution and participation. You are welcome to join our efforts.

If you feel your project is missing here or when you have other suggestions, please drop
us a line at info@ip-tools.org, send a pull request or join us at https://meta.ip-tools.org/.

Software modules written in the Python programming language.

EPO Open Patent Services clientmore_vert

Python Client for the European Patent Office's Open Patent Services API (OPS).

Author: George Song and contributors
EPO Open Patent Services clientclose

Python Client for the European Patent Office's Open Patent Services API (OPS).

Currently, it implements access to:

Synopsis
    # Instantiate client
    import epo_ops
    client = epo_ops.Client(key='abc', secret='xyz')

    # Retrieve bibliography data
    response = client.published_data(

        # publication, application, priority
        reference_type = 'publication',

        # original, docdb, epodoc
        input = epo_ops.models.Docdb('1000000', 'EP', 'A1'),

        # optional, defaults to "biblio"
        # in case of published_data
        endpoint = 'biblio',

        # optional, list of constituents
        constituents = []
    )
    
USPTO PatFT clientmore_vert

pypatent is a tiny Python package to easily search for and scrape US Patent and Trademark Office Patent Data.

Author: Dan Eads
USPTO PatFT clientclose

pypatent is a tiny Python package to easily search for and scrape US Patent and Trademark Office Patent Data.

Currently, it implements access to:

USPTO Open Data API clientmore_vert

A client library and command line program for accessing the USPTO Open Data APIs (PBD and PEDS), written in Python.

Author: Andreas Motl
USPTO Open Data API clientclose

A client library and command line program for accessing the USPTO Open Data APIs (PBD and PEDS), written in Python.

Currently, it implements access to:

Synopsis
# Initialize
from uspto.pbd.client import UsptoPairBulkDataClient
client = UsptoPairBulkDataClient()

# Search by expression
result = client.search('firstNamedApplicant:(nasa)')

# Acquire single document in JSON and XML formats
result = client.download_document('PP28532')
Command line usage
# Fetch document by US application publication
# number and pretty-print JSON result
uspto-pbd get "2017/0293197" \
    --type=publication --format=json --pretty
USPTO TSDR clientmore_vert

Plumage is a library to obtain trademark status and other information from the USPTO Trademark Status & Document Retrieval system (TSDR) with implementations for Python and .NET.

Author: Terry Carroll
USPTO TSDR clientclose

Plumage is a library to obtain trademark status and other information from the USPTO Trademark Status & Document Retrieval system (TSDR) with implementations for Python and .NET.

Currently, it implements access to:

Synopsis

Python
# Initialize
from Plumage import plumage
client = plumage.TSDRReq()

# Get info on application serial no. 75/181,334
client.getTSDRInfo("75181334", "s")

# Access some attributes
print "Trademark text: ", \
    client.TSDRMap["MarkVerbalElementText"]

C#
// Initialize
Plumage.TSDRReq client = new Plumage.TSDRReq();

// Get info on registration no. 2,564,831
client.getTSDRInfo("2564831", "r");

// Access some attributes
Console.WriteLine("Trademark text: " +
    client.TSDRMap["MarkVerbalElementText"]);

Software modules written in the Ruby programming language.

USPTO PAIR Bulk Data API clientmore_vert

API wrapper around the PAIR Bulk Data US patent office database, written in Ruby.

Author: James Rubingh
USPTO PAIR Bulk Data API clientclose

API wrapper around the PAIR Bulk Data US patent office database, written in Ruby.

Currently, it implements access to:

Synopsis
# Create a pd object, and go to town
client = Pairdata::Client.new()
res = client.pair_sync(searchText: '12432343')
puts res.appStatus
puts res.patentTitle
WIPO PATENTSCOPE clientmore_vert

Library for accessing data from the WIPO PATENTSCOPE Web Service, written in Ruby.

Author: Chong-Yee Khoo
WIPO PATENTSCOPE clientclose

Library for accessing data from the WIPO PATENTSCOPE Web Service, written in Ruby.

Currently, it implements access to:

It allows you to get the ...
  • International Application Status Report (IASR)
  • list of available documents by application number
  • binary content of a document
  • text of a document in PDF format (high quality OCR)
  • list of page IDs for a document
  • binary content for a document and page

Software modules written in the R programming language.

R package to access OPSmore_vert

R package to access the European Patent Office Open Patent Services API (OPS).

Author: Paul Oldham
R package to access OPSclose

R package to access the European Patent Office Open Patent Services API (OPS).

Currently, it implements access to:

Synopsis
# Install package
    devtools::install_github("poldham/opsrdev")

    # Load library
    library(opsrdev)

    # Get count for patent biblios (front pages)
    ops_count("drones", "ta", start = 1990, end = 2015)

    # Submit query and return result as data.frame
    drones <- ops_fetch_biblio(
        query = "drones", type = "ta",
        service = "biblio",
        start = 1990, end = 2015, timer = 10)
    
R package to access PatentsViewmore_vert

An R client to obtain data from the PatentsView API.

Author: Chris Baker
R package to access PatentsViewclose

An R client to obtain data from the PatentsView API.

Currently, it implements access to:

Synopsis
# Install package
devtools::install_github("ropensci/patentsview")

# Load library
library(patentsview)

# Perform search
search_pv(
    query = '{"_gte":{"patent_date":"2007-01-01"}}')
R package to access The Lensmore_vert

R package to access patent data from the Lens Patent Database.

Author: Paul Oldham
R package to access The Lensclose

R package to access patent data from the Lens Patent Database

Currently, it implements access to:

Synopsis
# Install package
devtools::install_github("poldham/lensr")

# Load library
library(lensr)

# Get count for patent biblios (front pages)
lens_count("drones")

# Submit query and return result as data.frame
drones <- lens_search(
    query = "drones", type = "tac",
    families = TRUE, timer = 20)

Applications from the community.

Patent2Netmore_vert

Patent2Net helps to collect, study and analyze patent data from the European Patent Office's Open Patent Services API (OPS).

Patent2Netclose

Patent2Net is free software, dedicated to ...

  • provide statistical analysis and representations of a set of patents.
  • promote the use of patent information in the academic field, nano and small firms, developing countries and all those without pay mode access.
  • study and practice how to collect, treat and communicate "textual bibliographic information" and learn the automation process.
Patent2Net is maintained by an international team of university professors and researchers on a free basis. Contributions are welcome.

Currently, it implements access to:

Under the hood, these fine pieces are the main workhorses:

phpIPmore_vert
phpIP is a portfolio manager and docketing system for patents and other IP rights. It is intended to satisfy most needs of an IP law firm. The tool was designed to be flexible and simple to use.
phpIPclose
About

phpIP is a portfolio manager and docketing system for patents and other IP rights. It is intended to satisfy most needs of an IP law firm. The tool was designed to be flexible and easy to use. It is based on Apache, MySQL and the Laravel PHP framework.

Mission

We found that existing docketing systems are designed to satisfy the needs of a majority – hence they have more features than what each individual user needs. So, these systems are usually very complicated to use, yet not all specific needs of the individual user are satisfied.

Mostly, the user needs to adapt to the system, whereas it should be just the other way round.

Background

As we are patent attorneys, we don't have the resources for selling and maintaining our software. We decided to open source phpIP as we would like others to benefit from it and hopefully contribute. This is an important step in reaching the goal of creating a tool adapted to the user's specific needs. We also designed phpIP to be extremely flexible, so that, hopefully, most users will be able to configure it (and not redesign it) to fit their needs.

PatZilla IP Navigatormore_vert

PatZilla is a modular patent information research platform and toolkit with a modern user interface. It provides convenient and efficient access to a number of professional patent search APIs.

Authors: Andreas Motl and contributors
PatZilla IP Navigatorclose

PatZilla is a modular patent information research platform and toolkit with a modern user interface. It provides convenient and efficient access to a number of professional patent search APIs.

Currently, it implements access to:

Under the hood, it uses contemporary software components and technologies:

Applications from the USPTO.

Patents View Appmore_vert

A mobile application for iOS and Android accessing the PatentsView API.

Authors: USPTO Developers
Patents View Appclose

A mobile application for iOS and Android accessing the PatentsView API.

Currently, it implements access to:

Users can ...

  • search patents using various criteria like Assignee, Date, Id, Inventor, Title.
  • search results can be sorted in ascending or descending order by title and date.
  • bookmark interesting patents or search results and organize them into Notebooks.
  • access related documents and text content.
  • view previous search results or last viewed document.

Trademark Status Appmore_vert

A mobile application for iOS and Android accessing the USPTO TSDR system.

Authors: USPTO Developers
Trademark Status Appclose

A mobile application for iOS and Android accessing the USPTO TSDR system.

Currently, it implements access to:

Users can ...

  • search for trademarks.
  • bookmark interesting trademarks and group them into notebooks.
  • receive notifications on status changes to bookmarks.
  • indicate preference for specific trademark statuses.
  • share bookmarks.

The WIPO Manual on Open Source Patent Analytics

In this book, Paul and Irene provide a practical guide to free and open source software tools for patent analytics. Its aim is to provide a practical introduction to patent analytics without assuming prior knowledge of patents or programming languages. It focuses on answering two main questions:

  • How to obtain patent data in a form that is useful for different types of analysis?
  • How to tidy, analyse, visualize and share patent data using open source and free software?

Authors: Paul Oldham and Irene Kitsara
The Raw Patent Data blog

Gianluca maintains scripts and writes about how to import the EPO PATSTAT data into a MySQL database but also covers a whole lot of more topics around raw patent data and beyond.

Author: Gianluca Tarasconi