Espacenet Patents Scraper: EPO OPS API for 130M+ Patents avatar

Espacenet Patents Scraper: EPO OPS API for 130M+ Patents

Pricing

from $0.00005 / actor start

Go to Apify Store
Espacenet Patents Scraper: EPO OPS API for 130M+ Patents

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

Walid

Walid

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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?

FieldDescription
publication_numberEPODOC publication number (e.g. EP3000000A1, WO2020123456)
publication_datePublication date (YYYY-MM-DD)
application_numberApplication reference (e.g. EP20150123456)
application_dateApplication filing date
titleInvention title (English when available)
abstractPatent abstract (English when available)
applicantsCompanies / assignees who hold the patent
inventorsNamed inventors
ipc_classificationsInternational Patent Classification codes (e.g. H04L9/32)
cpc_classificationsCooperative Patent Classification codes (more granular than IPC)
priority_claimsEarliest priority documents + dates (priority chain)
family_idDOCDB family ID — groups equivalent patents across jurisdictions
family_membersSibling publications (EP + US + JP + CN…) when includeFamilyGraph=true
country_codePublication country (2-letter ISO)
kind_codeDocument kind (A1, A2, B1, B2…)
espacenet_urlDeep link to the record on worldwide.espacenet.com
languageTitle / abstract language
scraped_atUTC timestamp of extraction

How to use Espacenet Patents Scraper

  1. Register a free EPO OPS account — takes 2 minutes, no credit card. You get 4,000,000 requests/month free.
  2. Create an app in the EPO portal → copy your Consumer Key + Consumer Secret.
  3. Open Espacenet Patents Scraper on Apify Store.
  4. Paste your OPS keys into epoClientId + epoClientSecret (or set them as actor env vars).
  5. Pick a mode: search (CQL query), lookup (publication numbers), or family (family graph).
  6. 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 sizePatentsApify costTime
Quick test10~$0.15~15s
Standard100~$1.50~1min
Deep dive500~$7.50~5min
Massive2,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

ParameterTypeRequiredDefaultDescription
modestringsearchsearch, lookup, or family
querystringCQL query (e.g. ti=widget AND in=Smith)
publicationNumbersarray[]EPODOC numbers for lookup / family modes
applicantstringFilter by company name
inventorstringFilter by inventor last name
ipcClassstringIPC code (e.g. H04L)
cpcClassstringCPC code (e.g. G06N3/08)
publicationDateFromstringYYYYMMDD lower bound
publicationDateTostringYYYYMMDD upper bound
countrystring2-letter publication country
includeFamilyGraphbooleanfalseFetch family members per result
includeFullTextbooleanfalseEP / WO full description text
maxResultsinteger25Max records (1–2000)
epoClientIdstring✅*OPS consumer key
epoClientSecretstring✅*OPS consumer secret
proxyConfigobjectnoneApify 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) plus applicant=OpenAI for 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 requests
run = 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)

  1. Add an Apify module in your Make scenario
  2. Select Run Actor and choose this actor
  3. Configure the input (paste your JSON)
  4. Add a Get Dataset Items module to retrieve results
  5. Connect to Google Sheets, Airtable, Slack, or any other app

Zapier

  1. Use the Apify integration on Zapier
  2. Set trigger: Actor Run Finished
  3. Action: Get Dataset Items
  4. Send results to your CRM, IP-management tool, or spreadsheet

n8n

  1. Add an HTTP Request node to call the Apify API
  2. POST to https://api.apify.com/v2/acts/dltik~espacenet-patents-scraper/runs
  3. Wait for completion, then fetch dataset items
  4. 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

ActorWhat it doesPrice
EUR-Lex ScraperSearch EU laws, regulations, directives (CELEX)$8/1K
TED Europa ScraperEU public-procurement tenders (TED)$5/1K
Pappers / Sirene Scraper26M French companies (SIREN/SIRET)$5/1K
BODACC FR Scraper4.5M French court announcements$2/1K
SEC Edgar MCP ServerUS public-company filings for AI agents$10/1K