Using the API

The Data API is the patent search engine behind Patalyze, exposed as a plain HTTP service. It runs the same boolean and semantic queries over the same normalized global corpus as the search box in the app, so filings from any patent office come back in one consistent shape.

It is built for the work that happens outside the Patalyze UI: pulling a landscape into your own data pipeline, screening candidates from a script, or backing an agent that needs to look up patents on demand. Anywhere you would otherwise search by hand, you can search by request instead.

The API is read-only: four reference endpoints under one base URL, with search and fetch for patents and search and fetch for CPC/IPC classifications. This page gets you authenticated and through a first search; the Endpoints reference documents every field, operator, and response shape in full.

Base URL

https://data.patalyze.com

Authentication#

Every request authenticates with a bearer token. Create the token in the Patalyze app under Settings → API Key. Each organization has a single key, which you can reveal or rotate from that page at any time.

Send it in the Authorization header on every request:

Authorization: Bearer patalyze_...

Keep your key secret

The key grants access to your organization's credits. Store it in an environment variable, keep it out of client-side code and version control, and rotate it from Settings the moment you suspect it has leaked.

Credits and rate limits#

Every request (search or fetch) draws from your organization's credit balance, and the charge lands before the query runs, so a request that returns no matches still counts. Requests are also capped at 100 per minute per organization.

Errors#

A failed request comes back as JSON with a short error code and a human-readable message:

{ "error": "forbidden", "message": "No remaining credits" }

The status codes you may see:

  • 400: a filter is invalid, for example an operator the field does not accept or a malformed date. The message says which.
  • 401: the bearer token is missing or invalid.
  • 403: your organization is out of credits.
  • 404: no patent or classification exists for that id (the fetch endpoints).
  • 422: the request body could not be parsed, for example an unknown filter field or a value of the wrong type.
  • 429: more than 100 requests in a minute. Slow down and retry.

Make your first request#

A search is a POST to /patents with a JSON body. The body's filters array describes what to match; optional fields like limit control paging. The example below finds patents whose text contains the phrase solid state electrolyte and prints the total match count.

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: "Text", operator: "contains", value: "solid state electrolyte" },
    ],
    limit: 5,
  }),
});

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

The response is a page of matching patents alongside a total count and the paging window you asked for. To pull the complete record for a single patent, use the fetch endpoint: GET /patents/{publication_number}.

Every query is a list of filters, and each filter pairs a field (such as Text, Claims or Territory) with an operator and a value. There are two ways to match, and you can mix them in one request.

Boolean filters match exact terms. Operators like contains, is, and after are precise and predictable, which makes them the right tool for hard constraints: a jurisdiction, a date range, an assignee, a classification code.

{ "field": "Text", "operator": "contains", "value": "solid state electrolyte" }

The similar to operator on Text or Claims ranks results by meaning rather than exact wording. Pass a short description and the corpus comes back ordered by conceptual closeness, so you catch relevant patents that use different terminology from your query.

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

In practice you combine the two: a similar to filter drives the ranking while boolean filters narrow it to the territories, dates, and statuses you care about.

Defaults to US and EP

With no Territory filter, results are limited to US and EP publications. Add one to widen or change the jurisdictions.

That is the whole model. For the full set of fields and operators, how filters combine with And/Or, family de-duplication, sorting, and the exact response shape, see Search patents in the Endpoints reference.

The same engine as MCP tools

These four endpoints are exactly what the Global Patents MCP server exposes to AI assistants, with an identical filter syntax. Everything on this page and in the Endpoints reference carries over to the MCP tools unchanged.

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