# HALOWERK Patent Prior Art Search

> HALOWERK Patent Prior Art Search is a paid API for AI agents from research.halowerk.com, paid per call via x402, $0.015/call, status unknown (last checked 2026-09-15).

Retrieves and semantically ranks recent European patent publications matching a given IPC class and concept, using EPO Linked Open Data and local embedding with nomic-embed-text.

## Facts

- Endpoint: POST https://research.halowerk.com/v1/patent-prior-art
- Price: $0.015/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-patent-prior-art-search-b83fd00f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_bdRRbLs00ncg2AR57gH-u

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability halowerk-patent-prior-art-search-b83fd00f -d '<json body>'
```

Example prompt: Search for prior art in European patents under IPC class B28B7-00 for the concept 'automated mold release mechanisms using pneumatic actuators', looking back over the last 180 days and return the top 5 closest matches.

## When to prefer this

Choose this endpoint when you need semantically ranked European patent prior art scoped to a specific IPC class, rather than a full-corpus keyword search (which would time out at the EPO). Best suited for targeted prior art searches where the IPC class is known, coverage of European publications is sufficient, and a small ranked candidate set (up to 15) is acceptable. Not suitable for US or non-European patent searches, exhaustive corpus scans, or cases requiring more than 15 candidates.

## Known failure modes

- Invalid or malformed IPC class pattern causes rejection with schema validation error
- EPO Linked Open Data SPARQL endpoint timeout if the IPC class is too broad or high-volume
- Fewer than the requested number of candidates returned if the IPC class has sparse recent publications
- Concept text too short (under 20 chars) or too long (over 5000 chars) triggers input validation error
- published_since_days outside 7–3650 range causes parameter rejection
- No results returned if IPC class has no publications within the specified time window

## How this service works

Collects up to 15 recent EP publication candidates from a caller-supplied IPC class through the official EPO Linked Open Data endpoint, embeds concept and title/abstract text locally with nomic-embed-text, and returns the closest matches. The IPC scope prevents a misleading full-corpus keyword scan that times out at the source. Coverage is European publications only and candidate retrieval is not exhaustive.

## Output

Returns a ranked list of up to 15 European patent publication candidates, each with title, abstract, and a semantic similarity score relative to the input concept. Results are drawn from EPO Linked Open Data and filtered to the specified IPC class, then re-ranked by local embedding similarity using nomic-embed-text.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "ipc": {
   "type": "string",
   "pattern": "^[A-H]\\d{2}[A-Z]\\d{1,4}-\\d{2,6}$",
   "description": "Required EPO-style IPC class such as B28B7-00; it defines the official candidate set before semantic ranking."
  },
  "limit": {
   "type": "integer",
   "default": 5,
   "maximum": 15,
   "minimum": 1
  },
  "concept": {
   "type": "string",
   "maxLength": 5000,
   "minLength": 20
  },
  "published_since_days": {
   "type": "integer",
   "default": 365,
   "maximum": 3650,
   "minimum": 7
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-patent-prior-art-search-b83fd00f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from research.halowerk.com](https://www.zero.xyz/host/research.halowerk.com/llms.txt)
