USPTO-PEDS <https://ped.uspto.gov/peds/> is an access to US patent register data <https://portal.uspto.gov/pair/PublicPair> that allows to download bundles of US register records. In addition it provides an API for automated access to this dataset.

A user manual is available for both the web interface and the API.  The API manual examples are given as command line curl instructions <https://en.wikipedia.org/wiki/CURL> and leaves the translation to other options to the reader.

The search options are quite extensive.  I intend to use it mainly for automated monitoring of US applications.


For those of you that wish to interact  with this interface using php <https://www.php.net/>, i have included an example in curl as in the manual and a possible translation to php below.  The example simply downloads all data related to application number "15/673,346". In the curl example this data will be stored in a local file called "usptotest.json". The php example defines the relevant parameters, sends the request , stores the result in the variable $uspto_result and displays this variable's content.  I leave it up to you to play with the parameters and data.

  • A crucial aspect is to json_encode() the parameters in php.  Alternative methods like url_encode() or http_build_query() do not produce a functioning request.
  • According to the data mapping section of the API manual, it should be possible to submit an application number as 12/345678 or as 12345678.  I have not yet succeeded in getting a response using the 12/345678 format, so please stick to the 12345678 format.  I have not yet tested other fields.

Admin - Tom Wolff : I think this page would be better located somewhere in <Patent Resources> but I could not really decide in which of the subsections it belongs, so I placed it here in the knowledge pages.  Should you, or anyone else, know where this page belongs, please inform me.


In curl:

curl -X POST -H "Content-Type:application/json" -d '{"searchText":"applId:(15673346)","fl":"*","qf":"applId","facet":"false"}' https://ped.uspto.gov/api/queries -o usptotest.json

In php:

<?php
  $appl_num = '15673346';
  $parameters = array(
    'searchText' => "applId:($appl_num)",
    'fl' => '*',
    'qf' => 'applId',
    'facet' => 'false',
  );

  $uspto_options = array (
    CURLOPT_HTTPHEADER => array('Content-Type:application/json'),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode($parameters)
  );
  $uspto_channel = curl_init("https://ped.uspto.gov/api/queries");
  curl_setopt_array($uspto_channel, $uspto_options);
  if ($uspto_result = curl_exec($uspto_channel)){
    echo '<pre>';print_r(json_decode($uspto_result));echo '</pre>';
  } else {
    echo curl_error($uspto_channel);
  }
  curl_close($uspto_channel);
?>