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 modules, applications 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 feedback@ip-tools.org or send a pull request.

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 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

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

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)
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:

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.

Author: Andreas Motl
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:

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