EUIPO Trademarks Scraper: 100M+ EU/Global Trademarks via TMview avatar

EUIPO Trademarks Scraper: 100M+ EU/Global Trademarks via TMview

Pricing

from $0.00005 / actor start

Go to Apify Store
EUIPO Trademarks Scraper: 100M+ EU/Global Trademarks via TMview

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.

Pricing

from $0.00005 / actor start

Rating

0.0

(0)

Developer

Walid

Walid

Maintained by Community

Actor stats

0

Bookmarked

21

Total users

15

Monthly active users

16 days ago

Last modified

Categories

Share

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

FeatureThis scraperOther EUIPO scrapers
Price per result$0.01$0.05 - $0.10
Coverage (offices)70+ IP offices via TMviewEUIPO-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 arrayspartial
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 an opposition_open window 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 a computed_conflict_band (high/medium/low/none).
  • AI tier (analyzeClearance: true, paid plans): adds semantic_similarity (catches translations & synonyms — "SUN" vs "SOLEIL"), goods_conflict, an overall likelihood_of_confusion, a verdict (clear / caution / high_risk), a recommended_action and one-line reasoning.

⚖️ 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.

FieldDescription
st13TMview unique global ID (office code + sequential ID)
application_numberOffice-level application number
mark_nameVerbal element of the mark
mark_typeWord, Figurative, Combined, 3-D, Sound, Colour, Hologram, Motion
office_codeTwo-letter IP office (EM = EUIPO, FR = INPI, DE = DPMA, US = USPTO, WO = WIPO, ...)
statusRegistered, Filed, Application published, Application opposed, Ended, Expired ...
lifecycle_stageNormalized: registered / pending / expired / ended / unknown
is_activetrue when the mark is registered or still in prosecution
days_until_expiryDays from today to expiration (negative if lapsed) — populated with enrichDetails
renewal_due_soontrue when expiry is within 180 days
opposition_open / opposition_days_leftWhether the opposition window is still open + days left
application_dateYYYY-MM-DD
nice_classesArray of Nice class numbers ([9, 38, 41, 42])
vienna_codesArray of Vienna image classification codes (figurative/combined marks)
applicant_name / applicant_namesPrimary applicant + full list
territories_protectedCountry codes where the mark is enforced (Madrid + EU)
mark_image_url / mark_thumbnail_urlTMview-hosted mark image + thumbnail
tmview_url / office_record_urlDeep links to TMview + the originating IP office
scraped_atISO-8601 UTC timestamp
registration_number / registration_date / expiration_dateOffice registration data
opposition_period_start / opposition_period_end / opposition_deadlineOpposition window dates
status_detail / status_date / kind_markDetailed status + Individual/Collective/Certification
goods_and_servicesArray of {nice_class, description} — full descriptive wording per class
applicants_detailArray of {name, country, address}
representatives / renewalsLegal representative(s) + renewal history
🏢 applicant_companyResolved French company: siren, legal_name, naf_code, sector, employee_range, is_active, risk_flag
🏢 registry_hintFor 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

  1. Create a free Apify account — no credit card required
  2. Open EUIPO Trademarks Scraper on Apify Store
  3. Enter query — brand name or keyword (apple, louis vuitton, tesla)
  4. Optionally filteroffices=['EM'], niceClasses=[9, 42], statuses=['Registered']; set enrichDetails=true for full dates + goods & services, enrichApplicant=true for company data, referenceMark + analyzeClearance=true for AI clearance
  5. 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:

EventWhenPrice
trademark-resultevery mark (identity, status, Nice/Vienna, applicant, + free lifecycle & conflict score)$0.01
trademark-detailenrichDetails — reg/expiry/opposition dates + full goods & services + representatives + renewals+$0.01
applicant-enrichedenrichApplicant — only for applicants resolved to a real company (FR SIREN)+$0.005
clearance-analyzedanalyzeClearance — 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 sizeTrademarksBase ($0.01)+ Detail ($0.02)+ AI clearance ($0.04)
Quick test30$0.30$0.60$1.20
Standard300$3.00$6.00$12.00
Deep1,000$10.00$20.00$40.00

Input parameters

ParameterTypeDefaultDescription
querystringBrand name / keyword search (required)
officesstring[][] (all)Office codes: EM, FR, DE, US, WO, JP, UK, ...
statusesstring[][] (all)Registered, Filed, Expired, Application published, ...
niceClassesint[][] (all)Nice class numbers 1-45
tmTypesstring[][] (all)Word, Figurative, Combined, 3-D, Sound, Colour
applicationDateFrom / applicationDateTostringYYYY-MM-DD window
enrichDetailsbooleanfalseFull detail per result (dates, goods & services, representatives, renewals). +$0.01/result. Fetched concurrently.
enrichApplicantbooleanfalseResolve applicant → company (FR SIREN live; other countries → registry pointer). +$0.005/resolved.
referenceMarkstringProposed brand name to clear → free computed conflict score on every result
referenceNiceClassesint[][]Intended Nice classes — sharpens the clearance score
analyzeClearancebooleanfalseAI likelihood-of-confusion vs referenceMark (paid plans). +$0.02/mark.
referenceGoodsstringFree-text intended goods/services, for AI clearance context
incrementalModebooleanfalseWatch mode: only NEW/UPDATED marks on recurring runs
includeUnchanged / includeExpiredbooleanfalseAlso emit unchanged marks / expired markers (watch mode)
stateKeystringdefaultNamespace for the watch baseline
detailConcurrencyinteger4Parallel detail requests (1-8) when enrichDetails is on
pageSizeinteger30TMview page size (1-200)
maxResultsinteger301-5000
proxyConfigobjectdatacenterApify 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 referenceMark with analyzeClearance and get every conflicting mark ranked by likelihood of confusion across EU + national offices
  • 👀 Trademark watch services — schedule incrementalMode on a watchlist and receive only newly-filed or status-changed marks (competitor look-alikes) each day/week
  • 🏢 Brand-owner lead-gen & competitive intelenrichApplicant turns "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 X across EU + national offices in seconds, ranked by Nice class, with full goods & services text
  • 🚨 Opposition & renewal alerts — surface every mark whose opposition_open window or renewal_due_soon flag fires within your horizon
  • 📊 IP portfolio analytics — aggregate application_date × office × Nice class × applicant to map filing trends and competitor portfolios

Use the EUIPO scraper via API

import requests
run = 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:

ActorWhat it doesPrice
Espacenet Patents Scraper130M patents from EPO (Espacenet)$0.015/patent
USPTO Patents ScraperUS patents via PatentsView$0.01/patent
Pappers Sirene Scraper26M French companies (SIREN/SIRET) — powers enrichApplicant$0.008/result
INPI MCP ServerFrench IP (patents/trademarks/designs) for AI agents$0.01/tool-call
BODACC ScraperFrench commercial court announcements$0.003/record
SEC EDGAR MCP ServerUS public companies for AI agents$0.01/tool-call
TED Europa ScraperEU public procurement tenders$0.005/tender
Pappers MCP ServerFrench company data for Claude / GPT$0.01/tool-call

License: MIT · Author: dltik