EPO Publication Evidence MCP Server
Pricing
from $50.00 / 1,000 tool calls
EPO Publication Evidence MCP Server
Retrieve official European patent publications by number or publication day from the EPO publication server, with the INID-coded front page parsed into fields, inside the source's stated fair-use limits.
Pricing
from $50.00 / 1,000 tool calls
Rating
0.0
(0)
Developer
NexGen Watch
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Share
Retrieve official European patent publications — by publication day, or by publication number — from the EPO publication server, live, inside the source's stated fair-use limits.
Built for patent research.
Fair use is enforced in code, not promised in a README
The EPO publishes a 10 GB per 7 days per IP fair-use allowance and links it from its own
robots.txt. This server counts every byte over a rolling 7-day window and refuses
a read that would cross a self-imposed ceiling of 1 GB — a tenth of the charter — kept
deliberately small because this IP is shared with our EPO watch products.
A refusal shows its arithmetic, fetches nothing, and charges nothing. Every answer reports how much of the budget is spent and how much remains.
The arithmetic that makes this comfortable:
one publication day ~506 KB in ONE request, covering every publication that weekone front page ~13 KB
The kind code lives inside the publication id, so classifying a whole day of 6,241 publications costs no extra reads at all. This server never fetches a document it was not asked for.
Three things this server gets right that a naive read gets wrong
Measured live on 2026-07-30.
1. A bare patent number does not resolve — it is an HTTP 500
/patents/EP4780196NWA1/document.html -> 200, 13,292 B/patents/EP4780196/document.html -> 500/patents/EP4780196A1/document.html -> 500/patents/4780196/document.html -> 500
The middle token (NW, W1) is not derivable from the number — it is only discoverable
from a publication-day index. So if you hold a bare number, give it together with the
publication day and this server resolves the id for you. If more than one publication
carries that number on that day, you get the candidates, never a guess.
2. The middle token is not always letters — and the obvious fix is worse
Corrections arrive as EP4395092W1A8 — a digit in the middle token. On 2026-07-29,
39 of 6,241 ids carried one, and they are exactly the A8/B8/B9 correction slice. A
parser written for [A-Z]{2} drops all 39 while appearing to work.
But loosening it to [A-Z0-9]{2} is wrong in the more dangerous direction — it makes
EP4780196A1 match as number 47801, token 96, kind A1, accepting an id the source rejects
and decomposing it into the wrong patent number. Measured over 12,008 ids across two
weeks, the token alphabet is NW (11,922), W1 (85), W2 (1) — always letter-first. The
pattern used here is [A-Z][A-Z0-9], and any id that still fails to parse is counted and
reported, never silently skipped.
3. There is no cheap metadata endpoint
/bibliographic-data and /document.pdf both return HTTP 500. Only document.html
serves — and it is parsed here into INID-coded fields (application number, filing date,
IPC and CPC classes, PCT numbers, designated states) rather than handed back as a blob.
Tools
| tool | what it answers |
|---|---|
list_publication_days | The EPO's weekly publication days, newest first — the archive runs back to 1978-12-20 (2,424 weeks) |
get_publications_for_day | Every EP publication issued on one day, filterable by kind code or number prefix, with kind-code counts |
get_publication | One publication's INID-coded front page — by full id, or by number plus the day it published |
explain_limits | The fair-use budget, the three traps above, and the kind-code table. Read before acting. |
Scope
EP publications only, from the EPO publication server. There is no full-text search on this source — this is retrieval by day or by number, not a patent search engine. National patents, legal status and register events are outside it.
robots.txt on the publication server is User-agent: * with an empty Disallow —
everything is permitted — followed by a pointer to the EPO terms of use and fair-use
charter. That charter is why the budget above exists. Every call is additionally paced
through one strict-pacing bucket at 2 requests/second.
This server retrieves what the EPO published. It does not assess novelty, validity, freedom to operate or infringement, and it is not legal advice.
Pricing
| Event | Price |
|---|---|
Server start (apify-actor-start) | $0.05, charged once per server run by the platform |
Tool call (mcp-tool-call) | $0.05 flat per completed tool call |
No other events. Memory is pinned to 1024 MB so the start fee is charged once — on this platform the start event bills once per gigabyte.
Errors and notices are not charged. A malformed publication id, a malformed publication day, an unknown kind code, an EPO read failure — and a fair-use refusal — all return without billing. If this server declines to spend more of a shared allowance, it fetched nothing and it bills nothing.
A sourced "nothing published under that number on that day" IS charged, and so is a day whose filter matches nothing — those are the answers to the questions asked.
If a tool call cannot be billed correctly, the call fails rather than serving free.

