Endpoints

Every search you can run inside Patalyze is also a request you can send. The Data API has four endpoints, all under the base URL https://data.patalyze.com. Patents and classifications each get a search endpoint (POST a JSON query) and a fetch endpoint (GET by id).

Every request needs a bearer token. See the API overview for keys, credits, and rate limits.


Search patents#

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

POST/patents

Example code#

const res = await fetch("https://data.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 defaults to And, so you only set it to broaden a query with Or.

  • And makes a positive filter required: every result must match it.
  • Or makes a positive filter optional: a result that matches any Or filter is included.
  • A negative operator (such as does not contain or is not) always excludes its 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; the rest narrow the candidate set. Mix it freely 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://data.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. One mode picks how the query is matched: by exact symbol, by text, or by meaning.

POST/classifications

Example code#

const res = await fetch("https://data.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://data.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.