Endpoints

Every search you can run inside Patalyze is also a request you can send. The Global Patents REST API has four endpoints under the base URL https://search.patalyze.com. Authenticate every request as described in the API overview. Patents and classifications each have a search endpoint (POST with a JSON body) and a fetch endpoint (GET by id).

Search patents#

Runs boolean and semantic search over the patent corpus. Send a JSON body describing a list of filters, plus optional paging, sorting and family de-duplication.

POST/patents

Example code#

const res = await fetch("https://search.patalyze.com/patents", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.PATALYZE_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    filters: [
      { field: "Claims", operator: "similar to", value: "lithium-ion battery" },
      { field: "Territory", operator: "is any of", value: ["US", "EP"] },
      { field: "Priority date", operator: "after", value: "2018-01-01" },
      { field: "Status", operator: "is", value: "In-force" },
    ],
    sort: [{ field: "publication_date", order: "desc" }],
    deduplication: "family",
    limit: 20,
  }),
});

const data = await res.json();
console.log(data.total);

Example response#

Results come back as an array of patents with the total match count and the paging window you requested.

{
  "results": [
    {
      "publication_number": "US11735790B2",
      "country": "US",
      "kind": "B2",
      "publication_date": "2023-08-22",
      "status": "In-force",
      "title": "Solid-state electrolyte for lithium batteries",
      "assignees": ["SolidPower Inc."],
      "inventors": ["Jane Doe"],
      "cpc": ["H01M10/0562", "H01M10/052"],
      "earliest_priority_date": "2022-01-15",
      "family": [
        { "publication_number": "EP4123456A1", "country": "EP", "kind": "A1", "status": "Filed" }
      ]
    }
  ],
  "total": 1542,
  "offset": 0,
  "limit": 20
}

Body parameters#

Filter object#

Filter fields and operators#

Operator strings are matched exactly. Note the singular forms on the text-style fields.

Combining filters#

Each filter's combination controls how it joins the others. It is optional and defaults to And, so you only need it to broaden a query with Or:

  • And makes a positive filter required: every result must match it.
  • Or makes a positive filter optional: it broadens the result set so a result matching any Or filter is included.
  • A negative operator (for example does not contain or is not) always excludes matches, regardless of combination.

Territory defaults to US and EP

If you do not include a Territory filter, results are limited to US and EP publications. Add a Territory filter to widen or change the jurisdictions.

Use the similar to operator on Text or Claims to rank results by meaning rather than exact keywords. Pass a short description as the value:

{ "field": "Claims", "operator": "similar to", "value": "lithium-ion battery" }

The first similar to filter drives the ranking; other filters narrow the candidate set. You can combine it with the boolean filters above.

Response fields#

To fetch the complete stored record for a single patent, see Fetch patent.


Fetch patent#

Returns the complete stored record for one patent, including claims, description, legal events and family members. This is the full document behind the trimmed records returned by search.

GET/patents/US11735790B2

Example code#

const res = await fetch(
  "https://search.patalyze.com/patents/US11735790B2",
  { headers: { Authorization: `Bearer ${process.env.PATALYZE_API_KEY}` } },
);
const patent = await res.json();
console.log(patent.title);

Example response#

The response is the patent's full stored record. An unknown publication number returns 404 Not Found.

{
  "publication_number": "US11735790B2",
  "country": "US",
  "kind": "B2",
  "status": "In-force",
  "publication_date": "2023-08-22",
  "title": "Solid-state electrolyte for lithium batteries",
  "abstract": "A solid-state electrolyte composition for lithium-ion cells ...",
  "assignees": ["SolidPower Inc."],
  "inventors": ["Jane Doe"],
  "cpc": ["H01M10/0562", "H01M10/052"],
  "earliest_priority_date": "2022-01-15",
  "family": [
    { "publication_number": "EP4123456A1", "country": "EP", "kind": "A1", "status": "Filed" }
  ]
  // plus claims, application_number, ipc, priorities,
  // citations, legal_events, grant_date and more
}

Response fields#

The full stored record also carries application_number, application_date, grant_date, applicants, priorities, citations, language and legal_events.


Search classifications#

Searches the CPC/IPC scheme by exact symbol, by text, or by meaning.

POST/classifications

Example code#

const res = await fetch("https://search.patalyze.com/classifications", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.PATALYZE_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ mode: "text", query: "solid electrolyte", limit: 10 }),
});

const data = await res.json();
console.log(data.total);

Example response#

The response mirrors patent search: a results array of classifications plus total, offset and limit.

{
  "results": [
    {
      "symbol": "H01M10/0562",
      "title": "Solid materials for use as electrolytes",
      "depth": 0,
      "score": 0.91
    }
  ],
  "total": 12,
  "offset": 0,
  "limit": 10
}

Body parameters#

Response fields#


Fetch classification#

Returns a single classification and its tree of child groups, for example H01M10.

GET/classifications/H01M10

Example code#

const res = await fetch(
  "https://search.patalyze.com/classifications/H01M10",
  { headers: { Authorization: `Bearer ${process.env.PATALYZE_API_KEY}` } },
);
const classification = await res.json();
console.log(classification);

Example response#

The response is the classification and its nested child groups. An unknown symbol returns 404 Not Found.

{
  "symbol": "H04L",
  "title": "Transmission of digital information",
  "depth": 2,
  "parent": "H04"
  // plus optional notes, statement, glossary, synonyms
  // and a nested tree of child groups
}

Response fields#

The response also nests the classification's child groups, each with the same fields.

We use cookies to improve your experience.
You can opt out of certain cookies.
Find out more in our privacy policy.