EUIPO Trademarks Scraper: 100M+ EU/Global Trademarks via TMview
Pricing
from $0.00005 / actor start
EUIPO Trademarks Scraper: 100M+ EU/Global Trademarks via TMview
Search 100M+ trademarks from EUIPO + 70 IP offices (USPTO, INPI, DPMA, WIPO Madrid). Filter by Nice class, status, office, date. No API key. $0.01/result.
EUIPO Trademarks Scraper — 100M+ EU & Global Trademarks (TMview) + AI Brand Clearance
⭐ Bookmark this actor → apify.com/dltik/euipo-trademarks-scraper — Apify ranks by bookmarks, so it directly drives the visibility of this scraper. One click. No signup beyond your existing Apify account.
Scrape 100M+ trademarks from EUIPO and 70+ national IP offices (USPTO, INPI France, DPMA Germany, WIPO Madrid, JPO Japan, UKIPO, CNIPA China and more) via the official TMview backend (
tmdn.org) operated by the EU Intellectual Property Office. Filter by Nice class, status, office, application date, mark type — then go further than any other scraper: AI likelihood-of-confusion brand clearance, applicant → company resolution, free lifecycle & renewal signals, and a scheduled trademark-watch mode. No API key, no OAuth, no monthly quota — $0.01 per trademark, the disruptive sweet spot vs $0.10 elsewhere.
✨ What makes this EUIPO trademarks scraper different
| Feature | This scraper | Other EUIPO scrapers |
|---|---|---|
| Price per result | $0.01 | $0.05 - $0.10 |
| Coverage (offices) | 70+ IP offices via TMview | EUIPO-only |
| Full goods & services text (per Nice class) | ✅ (enrichDetails) | ❌ / extra fee / needs your OAuth |
| No OAuth / no API key (self-serve) | ✅ | often needs your EUIPO credentials |
| AI likelihood-of-confusion (brand clearance) | ✅ (analyzeClearance) | ❌ |
| Free computed conflict score (phonetic + name + Nice) | ✅ (referenceMark) | ❌ |
| Applicant → company record (SIREN + size + status) | ✅ (enrichApplicant) | ❌ |
| Free lifecycle signals (days-to-expiry, opposition window, renewal-due) | ✅ | rare / paid |
| Trademark watch (only new/updated marks on a schedule) | ✅ (incrementalMode) | ❌ |
| Nice + Vienna classification arrays | ✅ | partial |
| Concurrent detail enrichment (fast on big runs) | ✅ | ❌ |
| Success rate (live 30d) | 100% | varies |
What can this EUIPO trademark scraper do?
- 🇪🇺 100M+ live trademarks indexed by the EU IP Office's TMview (every active EUIPO trademark + 70+ national IP offices including USPTO, INPI, DPMA, WIPO Madrid)
- 🔎 Multi-criteria search — name, Nice class, status, office, mark type, application date range
- 🧠 AI brand-clearance / likelihood-of-confusion (analyzeClearance) — score every existing mark against a proposed brand name the way an EU examiner would: semantic (meaning) similarity, goods & services conflict, an overall confusion score, a verdict and a recommended action
- 🎯 Free computed conflict score (referenceMark) — even without AI, every result is scored against your proposed mark: Jaro-Winkler name distance + phonetic match (Metaphone/Soundex) + Nice-class overlap → a 0-100
computed_conflict_score - 🏢 Applicant → company intelligence (enrichApplicant) — resolve the brand owner to a real company: French applicants to their SIREN + size + sector + active/ceased status, other countries to the matching national company-registry actor
- 📅 Free lifecycle & renewal signals — every mark returns
lifecycle_stage,days_until_expiry,renewal_due_soon, and anopposition_openwindow with days left — no enrichment needed - 👀 Trademark watch (incrementalMode) — schedule it and receive only NEW and UPDATED marks (competitor filings, status changes) since the last run
- 📝 Full goods & services text (enrichDetails) — the complete descriptive wording per Nice class, the field most EUIPO scrapers omit or hide behind your own OAuth
- 🎨 Nice + Vienna classification — numeric Nice classes plus Vienna image codes for figurative/combined marks
- 🚀 HTTP-only, no API key — TMview is a free public service from the EUIPO (Apify datacenter proxy is enabled by default to avoid edge IP filtering)
Brand clearance & likelihood of confusion — the premium wedge
Commercial trademark platforms (Corsearch, CompuMark, Markify) sell likelihood-of-confusion screening for $300–500 per mark per year. This actor puts the same core capability behind a single input flag.
Set referenceMark to the brand name you want to clear (and optionally referenceNiceClasses for the goods/services you'd use it in). Every result then carries a clearance object:
- Free tier (just
referenceMark):mark_similarity(Jaro-Winkler),phonetic_match(Metaphone/Soundex),nice_overlap,computed_conflict_score(0–100) and acomputed_conflict_band(high/medium/low/none). - AI tier (
analyzeClearance: true, paid plans): addssemantic_similarity(catches translations & synonyms — "SUN" vs "SOLEIL"),goods_conflict, an overalllikelihood_of_confusion, averdict(clear / caution / high_risk), arecommended_actionand one-linereasoning.
⚖️ Screening triage to prioritise professional review — not legal advice.
What data can you extract per trademark?
Fields marked ⭐ require enrichDetails: true (billed as trademark-detail). 🏢 requires enrichApplicant. 🧠 requires referenceMark / analyzeClearance. Everything else comes from the base search at $0.01/result.
| Field | Description |
|---|---|
st13 | TMview unique global ID (office code + sequential ID) |
application_number | Office-level application number |
mark_name | Verbal element of the mark |
mark_type | Word, Figurative, Combined, 3-D, Sound, Colour, Hologram, Motion |
office_code | Two-letter IP office (EM = EUIPO, FR = INPI, DE = DPMA, US = USPTO, WO = WIPO, ...) |
status | Registered, Filed, Application published, Application opposed, Ended, Expired ... |
lifecycle_stage | Normalized: registered / pending / expired / ended / unknown |
is_active | true when the mark is registered or still in prosecution |
days_until_expiry | Days from today to expiration (negative if lapsed) — populated with enrichDetails |
renewal_due_soon | true when expiry is within 180 days |
opposition_open / opposition_days_left | Whether the opposition window is still open + days left |
application_date | YYYY-MM-DD |
nice_classes | Array of Nice class numbers ([9, 38, 41, 42]) |
vienna_codes | Array of Vienna image classification codes (figurative/combined marks) |
applicant_name / applicant_names | Primary applicant + full list |
territories_protected | Country codes where the mark is enforced (Madrid + EU) |
mark_image_url / mark_thumbnail_url | TMview-hosted mark image + thumbnail |
tmview_url / office_record_url | Deep links to TMview + the originating IP office |
scraped_at | ISO-8601 UTC timestamp |
⭐ registration_number / registration_date / expiration_date | Office registration data |
⭐ opposition_period_start / opposition_period_end / opposition_deadline | Opposition window dates |
⭐ status_detail / status_date / kind_mark | Detailed status + Individual/Collective/Certification |
⭐ goods_and_services | Array of {nice_class, description} — full descriptive wording per class |
⭐ applicants_detail | Array of {name, country, address} |
⭐ representatives / renewals | Legal representative(s) + renewal history |
🏢 applicant_company | Resolved French company: siren, legal_name, naf_code, sector, employee_range, is_active, risk_flag |
🏢 registry_hint | For non-FR applicants: pointer to the matching national company-registry actor |
🧠 clearance | {mark_similarity, phonetic_match, nice_overlap, computed_conflict_score, computed_conflict_band} + AI {semantic_similarity, goods_conflict, likelihood_of_confusion, verdict, recommended_action, reasoning} |
How to scrape EUIPO trademarks in 5 steps
- Create a free Apify account — no credit card required
- Open EUIPO Trademarks Scraper on Apify Store
- Enter
query— brand name or keyword (apple,louis vuitton,tesla) - Optionally filter —
offices=['EM'],niceClasses=[9, 42],statuses=['Registered']; setenrichDetails=truefor full dates + goods & services,enrichApplicant=truefor company data,referenceMark+analyzeClearance=truefor AI clearance - Click Start — clean JSON in seconds, exportable to CSV / JSON / Excel
How much does it cost to scrape EUIPO trademarks?
PAY_PER_EVENT — $0.01 per trademark result ($10 per 1,000). Failed/empty runs are not charged. Optional add-ons are OFF by default and billed only when you enable them:
| Event | When | Price |
|---|---|---|
trademark-result | every mark (identity, status, Nice/Vienna, applicant, + free lifecycle & conflict score) | $0.01 |
trademark-detail | enrichDetails — reg/expiry/opposition dates + full goods & services + representatives + renewals | +$0.01 |
applicant-enriched | enrichApplicant — only for applicants resolved to a real company (FR SIREN) | +$0.005 |
clearance-analyzed | analyzeClearance — AI likelihood-of-confusion per mark (paid plans) | +$0.02 |
Still far under the $0.05–$0.10 competitors charge for less data — and none of them offer AI clearance, applicant intelligence, or watch mode at any price.
| Run size | Trademarks | Base ($0.01) | + Detail ($0.02) | + AI clearance ($0.04) |
|---|---|---|---|---|
| Quick test | 30 | $0.30 | $0.60 | $1.20 |
| Standard | 300 | $3.00 | $6.00 | $12.00 |
| Deep | 1,000 | $10.00 | $20.00 | $40.00 |
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
query | string | — | Brand name / keyword search (required) |
offices | string[] | [] (all) | Office codes: EM, FR, DE, US, WO, JP, UK, ... |
statuses | string[] | [] (all) | Registered, Filed, Expired, Application published, ... |
niceClasses | int[] | [] (all) | Nice class numbers 1-45 |
tmTypes | string[] | [] (all) | Word, Figurative, Combined, 3-D, Sound, Colour |
applicationDateFrom / applicationDateTo | string | — | YYYY-MM-DD window |
enrichDetails | boolean | false | Full detail per result (dates, goods & services, representatives, renewals). +$0.01/result. Fetched concurrently. |
enrichApplicant | boolean | false | Resolve applicant → company (FR SIREN live; other countries → registry pointer). +$0.005/resolved. |
referenceMark | string | — | Proposed brand name to clear → free computed conflict score on every result |
referenceNiceClasses | int[] | [] | Intended Nice classes — sharpens the clearance score |
analyzeClearance | boolean | false | AI likelihood-of-confusion vs referenceMark (paid plans). +$0.02/mark. |
referenceGoods | string | — | Free-text intended goods/services, for AI clearance context |
incrementalMode | boolean | false | Watch mode: only NEW/UPDATED marks on recurring runs |
includeUnchanged / includeExpired | boolean | false | Also emit unchanged marks / expired markers (watch mode) |
stateKey | string | default | Namespace for the watch baseline |
detailConcurrency | integer | 4 | Parallel detail requests (1-8) when enrichDetails is on |
pageSize | integer | 30 | TMview page size (1-200) |
maxResults | integer | 30 | 1-5000 |
proxyConfig | object | datacenter | Apify datacenter proxy enabled by default |
Output example
Record with enrichDetails + enrichApplicant + referenceMark: "APPEL" + analyzeClearance:
{"st13": "EM500000000000753","mark_name": "APPLE","mark_type": "Word","office_code": "EM","status": "Registered","lifecycle_stage": "registered","is_active": true,"days_until_expiry": 3562,"renewal_due_soon": false,"opposition_open": false,"application_date": "1996-04-01","registration_date": "1999-02-03","expiration_date": "2036-04-01","nice_classes": [9, 16, 38, 41, 42],"goods_and_services": [{"nice_class": 9, "description": "Computers, computer terminals, keyboards ..."}],"applicant_name": "Apple Inc.","applicant_company": null,"registry_hint": {"country": "US", "registry_actor": "usa-ny-company-registry-scraper", "registry_actor_url": "https://apify.com/dltik/usa-ny-company-registry-scraper"},"clearance": {"reference_mark": "APPEL","mark_similarity": 0.907,"phonetic_match": true,"nice_overlap": [9, 42],"computed_conflict_score": 88,"computed_conflict_band": "high","semantic_similarity": 20,"goods_conflict": 90,"likelihood_of_confusion": 82,"verdict": "high_risk","recommended_action": "avoid","reasoning": "Near-identical spelling and phonetics with heavy Nice-class 9/42 overlap makes confusion likely."},"tmview_url": "https://www.tmdn.org/tmview/#/tmview/detail/EM500000000000753","scraped_at": "2026-07-01T12:32:01Z"}
Use cases — trademark watch, brand clearance & IP intelligence
- 🧠 Brand clearance / naming — before you file, run your candidate name as
referenceMarkwithanalyzeClearanceand get every conflicting mark ranked by likelihood of confusion across EU + national offices - 👀 Trademark watch services — schedule
incrementalModeon a watchlist and receive only newly-filed or status-changed marks (competitor look-alikes) each day/week - 🏢 Brand-owner lead-gen & competitive intel —
enrichApplicantturns "who owns this mark" into a full company profile (SIREN, size, sector, active/ceased) — impossible with a trademark-only scraper - ⚖️ IP attorney prior-art search — pull every trademark named
Xacross EU + national offices in seconds, ranked by Nice class, with full goods & services text - 🚨 Opposition & renewal alerts — surface every mark whose
opposition_openwindow orrenewal_due_soonflag fires within your horizon - 📊 IP portfolio analytics — aggregate
application_date × office × Nice class × applicantto map filing trends and competitor portfolios
Use the EUIPO scraper via API
import requestsrun = requests.post("https://api.apify.com/v2/acts/dltik~euipo-trademarks-scraper/run-sync-get-dataset-items",headers={"Authorization": "Bearer YOUR_APIFY_TOKEN", "Content-Type": "application/json"},json={"query": "lumina","offices": ["EM", "FR"],"referenceMark": "lumina","referenceNiceClasses": [9, 42],"analyzeClearance": True,"enrichDetails": True,"maxResults": 50}).json()print(f"Scraped {len(run)} trademarks")
FAQ
Is this an official EUIPO API?
TMview (tmdn.org) is the official EU Intellectual Property Office trademark search backend, aggregating EUIPO + 70 national IP offices. This scraper hits the same public JSON endpoint the TMview web UI calls — no HTML parsing, no anti-bot circumvention.
How is the AI likelihood-of-confusion different from the free conflict score?
The free computed_conflict_score (from referenceMark) is string-level: Jaro-Winkler distance + phonetic keys + Nice-class overlap. The AI layer (analyzeClearance) adds meaning: it catches translations, synonyms and conceptual overlap ("SUN"/"SOLEIL"), and it reasons about goods & services conflict the way an EU examiner does. Use the free score to triage cheaply, then AI on the shortlist. It's screening triage, not legal advice.
What's the difference vs the nexgendata/euipo-esearch-trademarks actor?
Price ($0.01 vs $0.10), coverage (70+ offices vs EUIPO-only), and depth: we return goods & services, opposition data, applicant-company resolution, lifecycle signals and AI clearance — none of which it offers. And we're self-serve (no BYO EUIPO OAuth, unlike the actors that do return goods & services).
Will TMview rate-limit my runs? TMview has a soft ~3-5 req/s limit. Detail enrichment runs through a small concurrent pool with exponential backoff on 429, so even a 5,000-mark enriched run finishes comfortably inside the actor timeout. Datacenter proxy is enabled by default.
Does the watch mode charge me for everything every run?
No. In incrementalMode only NEW and UPDATED marks are emitted and billed; unchanged marks are skipped (unless you set includeUnchanged). That's what makes daily brand monitoring cheap.
⭐ Found this EUIPO Trademarks Scraper useful? Bookmark it — Apify ranks actors by bookmarks, so it's the strongest single signal for Store visibility. One click.
The dltik IP intelligence suite
Trademarks are one right — cover the whole IP + company graph with the rest of the suite:
| Actor | What it does | Price |
|---|---|---|
| Espacenet Patents Scraper | 130M patents from EPO (Espacenet) | $0.015/patent |
| USPTO Patents Scraper | US patents via PatentsView | $0.01/patent |
| Pappers Sirene Scraper | 26M French companies (SIREN/SIRET) — powers enrichApplicant | $0.008/result |
| INPI MCP Server | French IP (patents/trademarks/designs) for AI agents | $0.01/tool-call |
| BODACC Scraper | French commercial court announcements | $0.003/record |
| SEC EDGAR MCP Server | US public companies for AI agents | $0.01/tool-call |
| TED Europa Scraper | EU public procurement tenders | $0.005/tender |
| Pappers MCP Server | French company data for Claude / GPT | $0.01/tool-call |
License: MIT · Author: dltik