I'm trying to programatically access updated application information for USPTO patents including transaction details, continuity information, and dates and codes from the Image File Wrapper (IFW) section. Here's what I've tried so far:

  1. The information I'm after is available on https://portal.uspto.gov/pair/PublicPair; however, this is a CAPATCHA website and not conducive to web-scraping.
  2. The information also is available for bulk download from http://patents.reedtech.com/ (which apparently is partnered with the USPTO to scrape data). Unfortunately, the data on Reed appears to often be much out of date compared to what is on the PublicPair site. This is the most hopeful path so far because it seems to show the data can be scraped somehow and it gives me everything I need, but is just out of date is many cases.
  3. I've tried using the USPTO bulk download API. This has a few problems. First, many of the applications I look for are not found and return "Packaging Error." (others return a package). Even when I do get a package back, I don't get transactions, IFW, continuity, etc.
  4. USPTO PAIR API - I can't get this site to work. I emailed the address at the bottom of the page and they responded: "The PAIR Bulk Data (BETA) site is being removed soon." and pointed me towards the PEDS API.
  5. PEDS - This API does give transaction detail, but nothing in the IFW or continuity.
  6. Bulk Data Downloads - The USPTO generates raw files in XML format. Perhaps I could download ALL of the historical data and generate my own transaction and continuity data? This seems like an overwhelming task, but perhaps is theoretically possible. Maybe this what Reed does? I haven't dug deep enough into this to know whether or not all the information I'm after is even there.

Any suggestions of where to look for this sort of information? Third party sites? Pay for services?

  • 1
    I fear we already have a few bulk-download questions without solutions, don't expect to much. Actually, this question could be a better answer to some of them than what we have.
    – user18033
    Commented Jan 22, 2018 at 17:04
  • 1
    The tentative plan for PEDS to integrate with Image File Wrapper (IFW) is scheduled in FY22/FY23 projects. This is an official reply from USPTO team.
    – Max
    Commented Feb 6, 2019 at 19:46

2 Answers 2


Here are two links to GitHub projects that can be used to help download and parse USPTO data.



I have also built a USPTO bulk data scraping and parsing software in Python3 => https://github.com/rippledj/uspto

If you would like dedicated access to up-to-date USPTO data via remote database connection it is also available: https://www.ripplesoftware.ca/?page_id=249

  • 1
    Any updates on your python tool? Commented Apr 11, 2018 at 23:26
  • You are welcome to check it out here => github.com/rippledj/uspto The app is working well, not sure if the documentation is updated. It's working with Postgres and MySql. The parsing time is about 3 weeks, but I still have a few issues to work out. I have not had time to look at the logs and see what needs attention. Commented Apr 11, 2018 at 23:35
  • Does it gather the image file wrapper date?
    – EpicAdv
    Commented Jul 26, 2018 at 12:09
  • No, it does not gather images. It parses front-page data. However I am partway through the application parsing software and I can surely add image file Commented Jul 26, 2018 at 17:05

You should take a look at patent_client! It's a python module that searches the live USPTO and EPO databases using a Django-style API. The results from any query can then be cast into pandas DataFrames or Series with a simple .to_pandas() call.

You can get the information you're looking for like this:

from patent_client import USApplicationn

USApplication.objects.get("<application number>").documents.to_pandas()

A great place to start is the User Guide Introduction

Patent Client Logo

PyPI | GitHub | Docs

(Full disclosure - I'm the author and maintainer of patent_client)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .