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.
/patentsExample 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 containoris 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.Semantic search#
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.
/patents/US11735790B2Example 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.
/classificationsExample 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.
/classifications/H01M10Example 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.
Related topics