EUIPO TMview Trademarks Scraper avatar

EUIPO TMview Trademarks Scraper

Pricing

Pay per event

Go to Apify Store
EUIPO TMview Trademarks Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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

FieldDescription
searchQueryQuery used for the run
st13TMview ST13 identifier
markNameTrademark / mark name
officeCodeTMview office code
officeNameFull office name when detail enrichment is enabled
applicationNumberApplication number
registrationNumberRegistration number when available
statusTrademark status
niceClassesNice class numbers
applicantsApplicant / owner names
representativesRepresentative names when details are enabled
applicationDateApplication date in YYYY-MM-DD format
registrationDateRegistration date when available
expiryDateExpiry date when available
goodsAndServicesGoods/services descriptions by Nice class
markFeatureWord/figurative/other mark feature when available
imageUrlTMview mark image URL when provided
sourceUrlOfficial source URL when provided
detailUrlTMview detail route
totalResultsTotal TMview result count for the query
scrapedAtISO 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

  1. Open the Actor on Apify.
  2. Enter a trademark query.
  3. Optionally add office codes, Nice classes, and status filters.
  4. Choose maxResults.
  5. Enable detail enrichment if you need goods/services or expiry dates.
  6. Start the run.
  7. 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 ApifyClient
import os
client = 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 nike in office EM and 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.

Use it as a data collection tool. A qualified trademark professional should review legal conclusions.

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.