Since our last data update, PatentsView data scientists and developers have been hard at work rewriting disambiguation algorithms and streamlining our data pipeline processes for smoother and more replicable update cycles in future months and years to come. With this latest update, which includes patent data through March 30, 2021, we are now two full update cycles into use of our revised algorithms for disambiguating data. For more information on data changes, please visit our release notes page.
As the data sets get larger and more complex and as new fields and attributes are added to the PatentsView database, our servers, domains, and other hardware must also be upgraded to continue to support our work. Our latest upgrade is the PatentsView application programming interface (affectionately known as the API). The PatentsView API serves 3,000–300,000 requests every day. While a majority of these requests succeed, over the past few years the number of requests that fail has increased due to the size of the data sets. To address this and to stay up to date with industry standards, PatentsView has begun the process of redesigning the API.
For more information about API changes, please read on.
- Enable a search-centric approach to the API rather than a querying/filter-based approach.
- Achieve response times in range of seconds rather than minutes.
- Improve user experience by limiting number and size of individual API requests from the server.
- Align the API design with industry standards in terms of request and response format, headers, and documentation.
The technology and design choices for the new API were made with the above goals in mind. The v0.1 API will apply this approach to a narrow scope of patent citations and application citations. As a result, the corresponding fields in the current API, shown below, will be discontinued.
|API Field Name||Group||Common Name||Type||Query||Description|
|appcit_app_number||application_citations||Application Number||string||Y||Application ID (issued by USPTO) for application cited by the selected patent|
|appcit_category||application_citations||Entity Category||string||Y||Entity that cited an application in the selected patent|
|appcit_date||application_citations||Filing Date||date||Y||Filing date for application cited in the selected patent|
|appcit_kind||application_citations||Kind Code||string||Y||Patent kind code of application cited by patent|
|appcit_sequence||application_citations||Sequence||integer||N||Order in which a citation is cited by patent|
|cited_patent_category||cited_patents||Patent Category||string||Y||Category of cited patent|
|cited_patent_date||cited_patents||Patent Date||date||Y||Grant date of cited patent|
|cited_patent_kind||cited_patents||Patent Kind||string||Y||Patent kind of cited patent (see patent_kind for details)|
|cited_patent_number||cited_patents||Patent Number||string||Y||Patent number of cited patent|
|cited_patent_sequence||cited_patents||Patent Sequence||string||N||Order in which patent is cited by the selected patent|
|cited_patent_title||cited_patents||Patent Title||string||Y||Title of cited patent|
|citedby_patent_category||citedby_patents||Patent Category||string||Y||Category of citing patent|
|citedby_patent_date||citedby_patents||Patent Date||date||Y||Grant date of patent citing the selected patent|
|citedby_patent_kind||citedby_patents||Patent Kind||string||Y||Patent kind of citing patent (see patent_kind for details)|
|citedby_patent_number||citedby_patents||Patent Number||string||Y||Patent number of citing patent|
|citedby_patent_title||citedby_patents||Patent Title||string||Y||Title of citing patent|
New API Fields
Patent Citation Endpoint
|API Field Name||Group||Common Name||Type||Description|
|patent_number||patent_citations||Patent Number||string||Patent of interest|
|cited_patent_number||patent_citations||Cited Patent Number||string||Patent number cited by patent of interest (i.e., backward citation)|
|citation_category||patent_citations||Citing Entity Type||string||Entity type (e.g., examiner, applicant, etc.) that made the citation on the patent of interest.|
|citation_date||patent_citations||Patent Date||date||Grant date of the cited patent|
|citation_sequence||patent_citations||Patent Sequence||string||Order in which the cited patent is listed on the patent of interest|
Application Citation Endpoint
|API Field Name||Group||Common Name||Type||Description|
|patent_number||application_citations||Patent Number||string||Patent of interest|
|cited_application_number||application_citations||Cited Application Number||String||Application number of the application cited by patent of interest|
|citation_category||application_citations||Citing Entity Type||string||Entity type (e.g., examiner, applicant, etc.) that made the citation on the patent of interest|
|citation_date||application_citations||Filing Date||date||Filing date for application cited on the patent of interest|
|citation_sequence||application_citations||Sequence||integer||Order in which the cited application listed on the patent of interest|
To achieve the design goals related to performance, the scope of the citations’ endpoint has been reduced, as outlined below.
- Patent Fields
What has changed: Patent-related information such as patent title, patent type, patent kind, etc., will not be available in the citations’ endpoint.
How this affects users: API clients will need to make two requests, one to the citations’ endpoint to obtain the patent numbers and a second to the patent’s endpoint to get the patent-related information.
- Citedby and Cited Patents
What has changed: Previously, users were able to send a patent number (or other queries) and obtain patent numbers that cite the requested patent (called forward citations) as well as the patent numbers that the requested patent has cited (called backward citations). With the new API, users will only be able to obtain patent numbers that the requested patent has cited (i.e., backward citations).
How this affects users: API clients will need to send two requests:
- once with the patent numbers of interest in the “patent_number” field to get the list of patents that the requested patent has cited (i.e., backward citations); and
- again with patent numbers of interest in the “cited_patent_number” field to get the list of patents that cite the requested patent number (i.e., forward citations).
To support the above changes, the new citations API and the current API will both support a “bulk” request wherein API clients can send up to 1,000 values in either patent number field. The maximum number of patents that can be sent will depend on the mechanism of request (POST vs. GET), and this maximum will be revisited at the end of the pilot phase.
What Else Is New?
Swagger-based API documentation will be released along with the v0.1 public release. A summary of the changes are as follows:
- Developers will need to obtain an API key to access the API.
- Each API key will be allowed 45 requests per minute.
- GET request format remains unchanged.
- POST requests will need to send JSON data (instead of string representation of JSON).
- The response from the server will have the following:
- an “error” field indicating if the request resulted in an error;
- X-Status-Reason and X-Status-Reason-Code in case of an error; and
- Retry-After header in case of throttled requests.
Aug. 1: Citations Endpoints API (v0.1) released to pilot users
Sept. 1: Citations Endpoints API (v0.1) released to public users