EUIPO TMview Trademarks Scraper
Pricing
Pay per event
EUIPO TMview Trademarks Scraper
Search public TMview trademark records by mark name, office, Nice class, status, and filing date. Export legal IP data for monitoring and diligence.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Search public EUIPO/TMDN TMview trademark records and export structured trademark data for brand monitoring, clearance research, IP diligence, and portfolio review.
This Actor queries the public TMview search workflow and saves clean dataset rows with mark names, offices, application numbers, statuses, Nice classes, applicants, source links, and timestamps. Turn on detail enrichment when you also need registration numbers, expiry dates, representatives, mark features, and goods/services descriptions.
What does EUIPO TMview Trademarks Scraper do?
EUIPO TMview Trademarks Scraper automates public trademark searches on TMview.
It helps you collect trademark records for a mark name or keyword without manually clicking through the TMview web application.
The Actor supports searches across all TMview offices or narrowed to office codes such as EM, US, GB, DE, FR, JP, or CN.
It can also filter by Nice classes and common status values such as Registered, Filed, Expired, and Ended.
Who is it for?
⚖️ Trademark attorneys can export filing/status evidence for clearance checks and watch reports.
🛡️ Brand-protection teams can monitor marks similar to key brand names across jurisdictions.
📊 IP researchers can build repeatable datasets for market and competitor analysis.
🤝 M&A and diligence teams can collect owner, registration, and expiry signals before deeper legal review.
🧑💻 Data teams can schedule runs and feed trademark records into BI, enrichment, or alerting workflows.
Why use this Actor?
Manual TMview searches are useful for one-off lookups but slow for repeated monitoring.
This Actor gives you a repeatable export with stable field names.
It is designed for automation: schedule it, call it from the API, export JSON/CSV/Excel, or connect it to downstream tools.
Use the default search mode for fast result exports and enable detail enrichment when your workflow needs deeper legal fields.
Data you can extract
| Field | Description |
|---|---|
searchQuery | Query used for the run |
st13 | TMview ST13 identifier |
markName | Trademark / mark name |
officeCode | TMview office code |
officeName | Full office name when detail enrichment is enabled |
applicationNumber | Application number |
registrationNumber | Registration number when available |
status | Trademark status |
niceClasses | Nice class numbers |
applicants | Applicant / owner names |
representatives | Representative names when details are enabled |
applicationDate | Application date in YYYY-MM-DD format |
registrationDate | Registration date when available |
expiryDate | Expiry date when available |
goodsAndServices | Goods/services descriptions by Nice class |
markFeature | Word/figurative/other mark feature when available |
imageUrl | TMview mark image URL when provided |
sourceUrl | Official source URL when provided |
detailUrl | TMview detail route |
totalResults | Total TMview result count for the query |
scrapedAt | ISO timestamp for the scrape |
How much does it cost to scrape EUIPO TMview trademarks?
This Actor uses pay-per-event pricing.
There is a small start charge for each run and a per-record charge for every trademark record saved.
The final Store price is shown in the Apify pricing panel before you run the Actor.
Start with small limits such as 50 or 100 records when testing a new query.
Enable detail enrichment only when you need the additional fields because it performs one extra request per trademark record.
Input options
query is required. Use a brand name, mark name, or keyword such as nike, tesla, or your client name.
maxResults controls how many records are saved.
includeDetails fetches the public detail endpoint for each record.
offices narrows the search to TMview office codes.
niceClasses narrows by Nice class numbers.
status narrows by TMview status values.
dateFrom and dateTo apply a client-side application-date filter in YYYY-MM-DD format.
Example input
{"query": "nike","offices": ["EM"],"niceClasses": [25],"status": ["Registered"],"maxResults": 100,"includeDetails": true}
Example output
{"searchQuery": "nike","st13": "EM500000000827824","markName": "nike","officeCode": "EM","officeName": "European Union Intellectual Property Office","applicationNumber": "000827824","registrationNumber": "000827824","status": "Registered","niceClasses": [25, 28, 18],"applicants": ["NIKE Innovate C.V."],"representatives": ["..."],"applicationDate": "1998-05-19","registrationDate": "1999-02-24","expiryDate": "2028-05-19","goodsAndServices": [{ "niceClass": "25", "description": "Clothing, footwear, headgear..." }],"detailUrl": "https://www.tmdn.org/tmview/#/tmview/detail/EM500000000827824","scrapedAt": "2026-07-10T00:00:00.000Z"}
How to run it
- Open the Actor on Apify.
- Enter a trademark query.
- Optionally add office codes, Nice classes, and status filters.
- Choose
maxResults. - Enable detail enrichment if you need goods/services or expiry dates.
- Start the run.
- Download the dataset as JSON, CSV, Excel, XML, or HTML.
Tips for better results
Use exact brand names for high-precision watchlists.
Use shorter stems or product names for broader clearance research.
Use office filters when your workflow focuses on specific jurisdictions.
Use Nice class filters to reduce irrelevant results.
Run a small sample first, inspect the output, then increase maxResults.
Integrations
Send results to Google Sheets for attorney review.
Load CSV exports into BI tools for portfolio dashboards.
Use webhooks to notify Slack or email when a scheduled watchlist run completes.
Push dataset items into your CRM, legal database, or brand-protection queue.
Combine this Actor with enrichment Actors when you need company, website, or contact context for trademark owners.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/euipo-tmview-trademarks-scraper').call({query: 'nike',offices: ['EM'],niceClasses: [25],maxResults: 100,includeDetails: true,});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/euipo-tmview-trademarks-scraper').call(run_input={'query': 'nike','offices': ['EM'],'niceClasses': [25],'maxResults': 100,'includeDetails': True,})print(run['defaultDatasetId'])
API usage with cURL
curl "https://api.apify.com/v2/acts/automation-lab~euipo-tmview-trademarks-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"query":"nike","offices":["EM"],"niceClasses":[25],"maxResults":100,"includeDetails":true}'
MCP usage
Use Apify MCP to run the Actor from Claude Desktop or Claude Code.
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/euipo-tmview-trademarks-scraper
Claude Code setup:
$claude mcp add apify-trademarks --transport http https://mcp.apify.com/?tools=automation-lab/euipo-tmview-trademarks-scraper
Claude Desktop JSON config:
{"mcpServers": {"apify-trademarks": {"url": "https://mcp.apify.com/?tools=automation-lab/euipo-tmview-trademarks-scraper"}}}
Example prompts:
- “Run the EUIPO TMview trademarks scraper for
nikein officeEMand summarize active registrations.” - “Find registered class 25 TMview marks for this brand list and return a CSV.”
- “Monitor this mark weekly and flag new filed or registered records.”
Scheduling trademark monitoring
Create one Apify task per watchlist query.
Schedule daily, weekly, or monthly runs depending on your monitoring cadence.
Use dataset item timestamps and st13 identifiers to detect new records across runs.
For high-value brands, keep detail enrichment enabled so you capture expiry and goods/services changes.
Common office codes
EM is EUIPO / European Union trademark coverage.
US is the United States.
GB is the United Kingdom.
DE, FR, IT, ES, and BX are common European office filters.
TMview supports many more national and regional offices; use the code shown in TMview filters.
Limitations
TMview is a public web application and can change its internal API payloads.
Date filters are applied client-side in this MVP because the public app's date payload is less stable than office/status/class filters.
Detail enrichment depends on the public detail endpoint for each office; if one office returns a transient detail error, the Actor still saves the base search result.
This Actor does not provide legal advice.
Legality and responsible use
This Actor extracts public trademark information from TMview.
Use it for legitimate research, monitoring, compliance, and diligence workflows.
Respect Apify terms, TMview terms, and applicable laws in your jurisdiction.
Do not use scraped data to spam trademark owners, representatives, or offices.
Troubleshooting
If you get fewer rows than expected, check whether office, Nice class, status, or date filters are too narrow.
If detail fields are empty, confirm includeDetails is enabled.
If some detail fields are missing, the source office may not publish that field through TMview.
If a run is slow, disable detail enrichment or lower maxResults.
FAQ
Can I search all TMview offices?
Yes. Leave offices empty to search all public TMview offices.
Can I export only EUIPO records?
Yes. Set offices to ["EM"].
Can I search by owner?
This MVP focuses on mark-name keyword search. Owner-specific search can be added in a future version if demand is strong.
Can I use this for legal clearance decisions?
Use it as a data collection tool. A qualified trademark professional should review legal conclusions.
Related scrapers
- https://apify.com/automation-lab/uspto-trademark-status-scraper
- https://apify.com/automation-lab/ip-australia-trademarks-scraper
- https://apify.com/automation-lab/website-contact-finder
Changelog
See .actor/CHANGELOG.md for release notes.
Support
If you need a field that TMview exposes but this Actor does not yet output, open an issue on the Actor page with a sample mark and expected field.