# Espacenet API

> Espacenet returns patent families, publication details, and reported legal events as a workflow and API.

Espacenet, also called EPO, uses a publication number or invention title to find a patent family and publication details. Get patent family returns reported legal events; coverage varies by country, and a grant alone does not establish that a patent is in force.

- Page: https://fous.com/tools/espacenet
- Handle: `@espacenet`
- Category: [Legal](https://fous.com/tools/category/legal)
- Source website: https://worldwide.espacenet.com
- Last verified: Sep 29, 2026

## Methods

### Get patent family

Operation `get_patent_family`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find a patent family, publication details, and reported legal events by patent number or invention title. Legal-event coverage varies by country; a grant alone does not establish that a patent is currently in force.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `patent` | string | yes | `"Coherent LADAR using intra-pixel quadrature detection"` | Publication number or invention title, for example US10000000B2 or Coherent LADAR using intra-pixel quadrature detection. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "patent"
  ],
  "properties": {
    "patent": {
      "type": "string",
      "description": "Publication number or invention title, for example US10000000B2 or Coherent LADAR using intra-pixel quadrature detection.",
      "examples": [
        "Coherent LADAR using intra-pixel quadrature detection",
        "US10000000B2",
        "EP 1 000 000 B1"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "patent": "Coherent LADAR using intra-pixel quadrature detection"
    },
    {
      "patent": "US10000000B2"
    },
    {
      "patent": "EP 1 000 000 B1"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `title` | string or null | `"Coherent LADAR using intra-pixel quadrature detection"` |  |
| `family` | array |  |  |
| `family[].kind` | string | `"application"` |  |
| `family[].country` | string | `"European Patent Office"` |  |
| `family[].legal_status` | string | `"Granted; current status not confirmed"` |  |
| `family[].espacenet_link` | string | `"https://worldwide.espacenet.com/patent/search/family/055456961/publication/EP3268771A1"` |  |
| `family[].publication_date` | string or null | `"2018-01-17"` |  |
| `family[].publication_number` | string | `"EP3268771A1"` |  |
| `applicants` | array |  |  |
| `priority_date` | string or null | `"2015-03-10"` |  |
| `espacenet_link` | string | `"https://worldwide.espacenet.com/patent/search/family/055456961/publication/US10000000B2"` |  |
| `overall_status` | string | `"Granted publications in 4 jurisdictions; applications without a recorded grant in 0; recorded lapses in 0. Current prot` |  |
| `latest_legal_events` | array |  |  |
| `latest_legal_events[].date` | string or null | `"2026-04-20"` |  |
| `latest_legal_events[].event` | string | `"Annual fee paid to national office [announced via postgrant information from national office to epo]"` |  |
| `latest_legal_events[].country` | string | `"France"` |  |

**Example input**

```json
{
  "patent": "Coherent LADAR using intra-pixel quadrature detection"
}
```

**Example output**

```json
{
  "title": "Coherent LADAR using intra-pixel quadrature detection",
  "family": [
    {
      "kind": "application",
      "country": "European Patent Office",
      "legal_status": "Granted; current status not confirmed",
      "espacenet_link": "https://worldwide.espacenet.com/patent/search/family/055456961/publication/EP3268771A1",
      "publication_date": "2018-01-17",
      "publication_number": "EP3268771A1"
    },
    {
      "kind": "granted",
      "country": "European Patent Office",
      "legal_status": "Granted; current status not confirmed",
      "espacenet_link": "https://worldwide.espacenet.com/patent/search/family/055456961/publication/EP3268771B1",
      "publication_date": "2022-06-29",
      "publication_number": "EP3268771B1"
    }
  ],
  "applicants": [
    "RAYTHEON CO [US]"
  ],
  "priority_date": "2015-03-10",
  "espacenet_link": "https://worldwide.espacenet.com/patent/search/family/055456961/publication/US10000000B2",
  "overall_status": "Granted publications in 4 jurisdictions; applications without a recorded grant in 0; recorded lapses in 0. Current protection requires country-level confirmation.",
  "latest_legal_events": [
    {
      "date": "2026-04-20",
      "event": "Annual fee paid to national office [announced via postgrant information from national office to epo]",
      "country": "France"
    },
    {
      "date": "2026-04-13",
      "event": "Annual fee paid to national office [announced via postgrant information from national office to epo]",
      "country": "Germany"
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@espacenet",
  "visibility": "public",
  "operation": "get_patent_family",
  "version": 1,
  "input": {
    "patent": "Coherent LADAR using intra-pixel quadrature detection"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@espacenet\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_patent_family\",\n  \"version\": 1,\n  \"input\": {\n    \"patent\": \"Coherent LADAR using intra-pixel quadrature detection\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@espacenet",
  "visibility": "public",
  "operation": "get_patent_family",
  "version": 1,
  "input": {
    "patent": "Coherent LADAR using intra-pixel quadrature detection"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/espacenet`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_patent_family`: Get patent family. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-espacenet https://api.fous.com/mcp/tools/espacenet --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Find related publications for a patent.
- Review applicants and priority dates across a patent family.
- Check reported legal events by country.
- Compare publication dates and numbers across family members.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Espacenet tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Espacenet account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from worldwide.espacenet.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### Which publications belong to a patent family?

Get patent family returns family publications for a publication number or invention title.

### What legal events are reported for a patent?

Get patent family returns reported legal events and their dates and countries; coverage varies by country.

## Related

- [Google Patents API](https://fous.com/tools/google-patents.md): Google Patents searches public records and provides patent details and company summaries; legal status is estimated, and citations, claims, and company breakdowns have record limits.
- [USPTO API](https://fous.com/tools/uspto.md): USPTO provides U.S. trademark records, name searches for matching filings, and current status and prosecution history for selected marks.
- [EUR-Lex API](https://fous.com/tools/eur-lex.md): EUR-Lex provides official EU legislation, relevance-ranked filtered searches, and article text from the latest consolidation when available, with stated general application dates.
- [WIPO API](https://fous.com/tools/wipo.md): Search trademark records in the WIPO Global Brand Database.
- [Federal Register API](https://fous.com/tools/federal-register.md): Search United States federal rules, proposed rules, notices, and presidential documents.
- [PubMed API](https://fous.com/tools/pubmed.md): PubMed searches medical and life-science articles by topic and retrieves one article’s abstract and publication details; abstracts and free full-text links may be unavailable.
- [Find Case Law API](https://fous.com/tools/find-case-law.md): Search official UK court judgments and tribunal decisions from The National Archives.
- [GLEIF API](https://fous.com/tools/gleif.md): GLEIF provides official global LEI search, returning entity records with freshness shown by last-update dates—not renewal dates—and reported accounting parents and LEI-registered direct children.
- [All Legal tools](https://fous.com/tools/category/legal)
