Search for and return a set of full patent texts.

download_patents(ids = NULL, outFile = NULL, ids_type = "application",
  query = NULL, inventionTitle = NULL,
  inventionSubjectMatterCategory = NULL, assigneeEntityName = NULL,
  fromDate = NULL, toDate = NULL, filingDateFromDate = NULL,
  filingDateToDate = NULL, inventorNameText = NULL, claimText = NULL,
  abstractText = NULL, descriptionText = NULL, sortField = NULL,
  ascending = FALSE, grant = FALSE, limit = FALSE, series = "US",
  cores = detectCores() - 2, verbose = FALSE)

Arguments

ids

A vector of application numbers, patent numbers, or document IDs (e.g., "US9748552").

outFile

Path to a .csv file to write results to.

ids_type

Specifies what ids are, between applications (default), patents, publication (for publication document IDs), or grant (for grant document IDs).

query

Search query; either a term/phrase (searchText) or set of Boolean criteria (criteriaSearchText).

inventionTitle

Invention title, as it appears on the first page of the specification.

inventionSubjectMatterCategory

Patent category (e.g., DESIGN).

assigneeEntityName

Name of the patent assignee.

fromDate, toDate, filingDateFromDate, filingDateToDate

Publication/grant and/or filing date ranges in YYYY-MM-DD format (e.g., 2019-01-20).

inventorNameText, claimText, abstractText, descriptionText

Text to search for in specific portions; query will search in all portions if it is a term or phrase.

sortField

Field by which to sort results; defaults to date.

ascending

Logical; if TRUE, will sort in ascending order.

grant

Logical; if TRUE, searches for grants rather than publications.

limit

Maximum number of results to return, in steps of 100.

series

Series code to prepend to ids if they are application or patent numbers and not already included.

cores

Number of CPU cores to use when retrieving multiple pages of results.

verbose

Logical; if TRUE, will print status messages.

Value

Path to the downloaded package, if it exists and await was a number; otherwise NULL.

Examples

if (FALSE) {
# retrieve a specific set of patents:
patents <- download_patents(c(16978600, 17087826, 16041592, 16727940, 17070594))
}