Espacenet Patents Scraper: EPO OPS API for 130M+ Patents
Pricing
from $0.00005 / actor start
Espacenet Patents Scraper: EPO OPS API for 130M+ Patents
Search 130M+ patents from the official EPO Espacenet (OPS API): bibliographic data, abstracts, applicants, inventors, IPC/CPC classifications, full family graph, legal status, citations. EP, WO, US, JP, CN, DE, FR, GB. For IP lawyers, R&D, M&A diligence. $15/1K.
Pricing
from $0.00005 / actor start
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Espacenet Patents Scraper β EPO OPS API for 130M+ Patents
Espacenet Patents Scraper lets you search and extract 130M+ patents from the official EPO Espacenet database via the European Patent Office Open Patent Services (OPS) API. Bibliographic data, abstracts, applicants, inventors, IPC/CPC classifications, full family graph, priority claims, citations, and legal status β for EP, WO, US, JP, CN, DE, FR, GB and 90+ jurisdictions.
Built on the official EPO OPS v3.2 API. Stable, authoritative, no Cloudflare scraping. Free OPS tier (4M req/month) supplied by the user.
β Found this useful? Click the Bookmark button at the top of this page β it helps the scraper stay visible on the Apify Store. Takes 1 click. No signup beyond your existing Apify account.
What can Espacenet Patents Scraper do?
- π¬ Search 130M+ patents β by CQL query (title, abstract, full-text)
- π’ Filter by applicant / assignee β find every patent owned by a company (Apple, Samsung, BASF, Anthropic)
- π¨βπ¬ Filter by inventor β track an inventor's portfolio across jurisdictions
- π·οΈ Filter by IPC / CPC class β taxonomy-driven search (G06N3/08 = neural networks, A61K = pharma)
- π Patent family expansion β every sibling publication in EP / WO / US / JP / CN / DE / FR / GB
- π Lookup by publication number β batch resolve EP / WO / US / JP IDs to full biblio
- π Abstract + full-text (EP / WO) β get the abstract automatically, full description on demand
- π Espacenet URLs β direct deep-links to every record on worldwide.espacenet.com
- β‘ Free OPS tier β 4,000,000 requests/month per client_id, registered at developers.epo.org
What data can you extract from each patent?
| Field | Description |
|---|---|
publication_number | EPODOC publication number (e.g. EP3000000A1, WO2020123456) |
publication_date | Publication date (YYYY-MM-DD) |
application_number | Application reference (e.g. EP20150123456) |
application_date | Application filing date |
title | Invention title (English when available) |
abstract | Patent abstract (English when available) |
applicants | Companies / assignees who hold the patent |
inventors | Named inventors |
ipc_classifications | International Patent Classification codes (e.g. H04L9/32) |
cpc_classifications | Cooperative Patent Classification codes (more granular than IPC) |
priority_claims | Earliest priority documents + dates (priority chain) |
family_id | DOCDB family ID β groups equivalent patents across jurisdictions |
family_members | Sibling publications (EP + US + JP + CNβ¦) when includeFamilyGraph=true |
country_code | Publication country (2-letter ISO) |
kind_code | Document kind (A1, A2, B1, B2β¦) |
espacenet_url | Deep link to the record on worldwide.espacenet.com |
language | Title / abstract language |
scraped_at | UTC timestamp of extraction |
How to use Espacenet Patents Scraper
- Register a free EPO OPS account β takes 2 minutes, no credit card. You get 4,000,000 requests/month free.
- Create an app in the EPO portal β copy your Consumer Key + Consumer Secret.
- Open Espacenet Patents Scraper on Apify Store.
- Paste your OPS keys into
epoClientId+epoClientSecret(or set them as actor env vars). - Pick a mode:
search(CQL query),lookup(publication numbers), orfamily(family graph). - Click Start β patents appear within seconds. Download as JSON, CSV, or Excel.
How much does it cost to scrape patents?
$0.015 per patent record ($15 per 1,000 patents) β mid-range B2B pricing for IP-lawyer-grade data.
| Run size | Patents | Apify cost | Time |
|---|---|---|---|
| Quick test | 10 | ~$0.15 | ~15s |
| Standard | 100 | ~$1.50 | ~1min |
| Deep dive | 500 | ~$7.50 | ~5min |
| Massive | 2,000 | ~$30 | ~20min |
Plus a flat $0.00005 per actor start. The EPO OPS API itself is free at the 4M req/month tier β you supply the credentials.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
mode | string | β | search | search, lookup, or family |
query | string | β | β | CQL query (e.g. ti=widget AND in=Smith) |
publicationNumbers | array | β | [] | EPODOC numbers for lookup / family modes |
applicant | string | β | β | Filter by company name |
inventor | string | β | β | Filter by inventor last name |
ipcClass | string | β | β | IPC code (e.g. H04L) |
cpcClass | string | β | β | CPC code (e.g. G06N3/08) |
publicationDateFrom | string | β | β | YYYYMMDD lower bound |
publicationDateTo | string | β | β | YYYYMMDD upper bound |
country | string | β | β | 2-letter publication country |
includeFamilyGraph | boolean | β | false | Fetch family members per result |
includeFullText | boolean | β | false | EP / WO full description text |
maxResults | integer | β | 25 | Max records (1β2000) |
epoClientId | string | β * | β | OPS consumer key |
epoClientSecret | string | β * | β | OPS consumer secret |
proxyConfig | object | β | none | Apify proxy (rarely needed) |
*Either the input fields or the EPO_CLIENT_ID / EPO_CLIENT_SECRET env vars are required.
Output example
{"publication_number":"EP3000000A1","publication_date":"2016-03-30","application_number":"EP20140187456","application_date":"2014-10-02","title":"Method and apparatus for distributed authentication","abstract":"A distributed authentication system uses cryptographic tokens to enable secure session management across heterogeneous networksβ¦","applicants":["EXAMPLE TECH GMBH","PARTNER CORP"],"inventors":["MULLER Hans","TANAKA Yuki"],"ipc_classifications":["H04L9/32","G06F21/31"],"cpc_classifications":["H04L9/3263","G06F21/335"],"priority_claims":[{"number":"EP20140187456","date":"2014-10-02"}],"family_id":"54321098","family_members":[{"publication_number":"US2016099876A1","country":"US","date":"2016-04-07"},{"publication_number":"JP2016072123A","country":"JP","date":"2016-05-09"},{"publication_number":"CN105450123A","country":"CN","date":"2016-03-30"}],"country_code":"EP","kind_code":"A1","espacenet_url":"https://worldwide.espacenet.com/patent/search/publication/EP3000000A1","language":"en","scraped_at":"2026-06-12T08:30:00Z"}
Use cases
- IP-lawyer prior-art search β find every relevant patent across EP / WO / US / JP for a freedom-to-operate study, with full family graph in one run.
- M&A diligence β audit a target company's entire patent portfolio by
applicant, including legal status and citation count. - Competitor R&D monitoring β track quarterly filings by
cpc=G06N3/08(neural networks) plusapplicant=OpenAIfor a near-live feed of AI patent activity. - Pharma / biotech mining β query
cpc=A61K(medicinal preparations) and filter by date range to surface new drug-formulation patents. - Academic prior-art β build a CSV of patents in your research field for systematic literature reviews, then enrich with abstracts and IPC tags.
Use Espacenet Patents Scraper via API
Python:
import requestsrun = requests.post("https://api.apify.com/v2/acts/dltik~espacenet-patents-scraper/runs",headers={"Authorization":"Bearer YOUR_APIFY_TOKEN"},json={"mode":"search","query":"machine learning","applicant":"Anthropic","publicationDateFrom":"20230101","maxResults":100,"includeFamilyGraph":True,"epoClientId":"YOUR_EPO_CONSUMER_KEY","epoClientSecret":"YOUR_EPO_CONSUMER_SECRET"}).json()print(f"Run started: {run['data']['id']}")
curl:
curl-X POST "https://api.apify.com/v2/acts/dltik~espacenet-patents-scraper/runs"\-H"Authorization: Bearer YOUR_APIFY_TOKEN"\-H"Content-Type: application/json"\-d'{"mode": "lookup","publicationNumbers": ["EP3000000A1", "WO2020123456"],"epoClientId": "YOUR_EPO_CONSUMER_KEY","epoClientSecret": "YOUR_EPO_CONSUMER_SECRET"}'
FAQ
Do I need a paid EPO OPS subscription? No. The EPO offers a free tier of 4,000,000 requests/month per client_id β more than enough for most workflows. Register at https://developers.epo.org/user/register and create an app to get your Consumer Key + Secret.
Why do I need to supply my own OPS credentials? The OPS quota is per-client_id. If we used a shared key, every user would compete for the same 4M monthly budget. With your own key, your runs are isolated and free up to 4M req/mo β and we never see your patent search history.
What's the difference between IPC and CPC? IPC (International Patent Classification) is the WIPO standard β coarser, ~70K codes. CPC (Cooperative Patent Classification) is a joint EPO + USPTO extension β finer, ~250K codes, used by EP and US examiners. We return both when available.
Why is full_text only for EP / WO patents?
The EPO OPS API only exposes full description + claims text for EP (European Patent Office) and WO (PCT / WIPO) publications. For US / JP / CN / etc., you get biblio + abstract via OPS β for full text, you'd need USPTO PEDS or J-PlatPat (different actors).
What's a patent family?
A patent family is the set of publications worldwide that share the same priority claim β i.e. the same invention filed in multiple jurisdictions. Set includeFamilyGraph=true to get every sibling publication in one record, which is essential for global FTO and licensing.
I'm hitting OPS 403 "Fair Use" errors. You've exhausted your monthly 4M-req quota on the free tier, or you're hitting the per-minute throttle (~30 req/min). Wait, or upgrade your OPS plan at developers.epo.org. The actor surfaces this as a warning record, not a crash.
I need help or a custom solution. Open an issue on the Issues tab or contact us through Apify.
Connect with Make, Zapier & n8n
This actor integrates with any automation platform via the Apify API.
Make (Integromat)
- Add an Apify module in your Make scenario
- Select Run Actor and choose this actor
- Configure the input (paste your JSON)
- Add a Get Dataset Items module to retrieve results
- Connect to Google Sheets, Airtable, Slack, or any other app
Zapier
- Use the Apify integration on Zapier
- Set trigger: Actor Run Finished
- Action: Get Dataset Items
- Send results to your CRM, IP-management tool, or spreadsheet
n8n
- Add an HTTP Request node to call the Apify API
- POST to
https://api.apify.com/v2/acts/dltik~espacenet-patents-scraper/runs - Wait for completion, then fetch dataset items
- Route results to any n8n node
Webhooks
run = client.actor("dltik/espacenet-patents-scraper").call(run_input={...},webhooks=[{"eventTypes":["ACTOR.RUN.SUCCEEDED"],"requestUrl":"https://your-webhook-url.com"}])
β Found this Espacenet Patents Scraper useful? Bookmark it β Apify ranks actors by bookmarks, so it's the strongest single signal for Store visibility. One click = directly helps this actor stay surfaced.
Other scrapers by dltik
| Actor | What it does | Price |
|---|---|---|
| EUR-Lex Scraper | Search EU laws, regulations, directives (CELEX) | $8/1K |
| TED Europa Scraper | EU public-procurement tenders (TED) | $5/1K |
| Pappers / Sirene Scraper | 26M French companies (SIREN/SIRET) | $5/1K |
| BODACC FR Scraper | 4.5M French court announcements | $2/1K |
| SEC Edgar MCP Server | US public-company filings for AI agents | $10/1K |
