Skip to main content

Patents Beta Endpoint

GET /api/v1/patent/
POST /api/v1/patent/
GET /api/v1/patent/{patent_number}/

This will search for patents matching the query string (q) and returning the data fields listed in the field string (f) sorted by the fields in the sort string (s) using options provided in the option string (o).

Either the HTTP GET, or POST method can be used; however, when the query parameters exceed a reasonable size (around 2,000 characters), then the POST method may be preferable. When using the POST method, the query parameters should be embedded within a JSON string within the request body.

Requests using the lookup endpoint must include a single patent number and will use the default f, s, and o options.

A request may be submitted with an empty query string. This will return all records.

Name Description Defaults Details
q JSON formatted object containing the query parameters. See below for details on formatting this object.   string, required
example: {"patent_number":"10757852"}
f JSON formatted array of fields to include in the results. If not provided, defaults to "patent_number", "patent_title", "patent_date", "assignees_at_grant", and "inventors_at_grant" string, optional
example: ["patent_number", "patent_title", "patent_date"]
s JSON formatted array of objects to sort the results. If not provided, defaults to {"patent_number":"asc"} string, optional
example: [{"patent_date": "asc"}]

JSON formatted object of options to modify the results. Use these to page through results. Available options are: 
Size: Number of results to return. 
Offset: Number of results to skip. 

Size: Defaults to 100.
Offset: Defaults to 0.

string, optional
example: {"size": 100, "offset": 0}

An example of a complete API call using the GET verb is:{"patent_number":"10757852"}&f=["patent_title", "patent_date", "patent_country"]

An example of the equivalent API call using the POST verb is:

with the body containing:

{"q":{"patent_number":"10757852"}, "f": ["patent_title", "patent_date", "patent_country"]}

An example of an API call using the lookup endpoint is:


Return the patent number and patent title of all patents granted in 2020.{"patent_year":"2020"}&f=["patent_number","patent_title"]

Return all patent numbers and titles after 2006 where the inventor's last name was "Jobs" and the assignee was based in the US.{"_and":[{"_gte":{"patent_date":"2006-01-01"}},{"inventors_at_grant.name_last":"Jobs"},{"":"US"}]}&f=["patent_number","patent_title"]

Return the patent number, processing time, and patent kind for patents granted after 2001 that have the word "international" in the abstract and have a foreign company or corporation assignee.{"_and":[{"_gte":{"patent_date":"2001-01-01"}},{"_text_any":{"patent_abstract":"international"}},{"_neq":{"":"US"}}]}&f=["patent_number","patent_processing_days","patent_kind"]

Return location information at grant for all inventors mentioned on a given patent.{"patent_number":"8395459"}&f=["","inventors_at_grant.state",""]

Patent Field List

The patent endpoint field list can be viewed at the bottom of the API's Swagger interface page