EUIPO Trademark & Design Search Scraper
Pricing
from $3.00 / 1,000 results
EUIPO Trademark & Design Search Scraper
Search the EU Intellectual Property Office's public eSearch plus register for EU trademarks (EUTM) and registered Community designs (RCD). Look up by number, owner name, or representative name, filter by legal status, Nice classification, mark type, and filing date. No login required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
11 days ago
Last modified
Categories
Share
Search the European Union Intellectual Property Office's public eSearch plus register for EU trademarks (EUTM) and registered Community designs (RCD). No login, no API key, no cookies required — this actor reads the same public register that powers euipo.europa.eu/eSearch.
What you can search
- Keyword search — free-text match against the registration number and the verbal/trademark element
- Exact number lookup — full record for one specific EUTM or RCD number
- Owner / applicant name — every trademark or design registered to a specific company or person
- Representative name — every trademark or design filed through a specific law firm or professional representative
- Opposition case number (EU trademarks only) — every trademark tied to a specific opposition proceeding
- Designer name (registered designs only) — every design credited to a specific designer/creator
Every name-based/keyword mode works against both trademarks and designs — pick which register to search with the recordType input. The two case-specific modes (opposition number, designer name) only exist on one register, matching how EUIPO's own data model works.
On top of the search modes, every mode can be narrowed with legal status, mark type/kind, Nice/Locarno classification, design representation means, filing/registration/expiry/publication date windows, and an applicant-reference substring filter — see the Input table below.
Output fields
| Field | Applies to | Description |
|---|---|---|
number | both | EUTM number (e.g. 000000753) or RCD number (e.g. 000032776-0001) |
name | both | Trademark word/verbal element, or design verbal element |
applicantName, applicantCountry, applicantId | both | Registered owner |
representativeName, representativeId | both | Professional representative / law firm of record |
status | both | Current legal status, e.g. Registered, Application published, Design lapsed |
markType | trademark | Word, Figurative, 3D shape, Colour, Sound, etc. |
kindMark | trademark | Individual, Collective, EU Certificate |
basis | trademark | Filing basis, e.g. EUTM, incoming/outgoing international registration |
niceClasses[] | trademark | Nice classification numbers |
distinctivenessAcquired | trademark | Whether the mark claims acquired distinctiveness |
productIndication | design | Product description, e.g. "Chairs" |
representationMeans | design | Static, 3D, Video |
locarnoClass | design | Locarno classification code, e.g. 09.03 |
images[] | design | { imageUrl, thumbnailUrl, viewId } for every design view |
receivingOfficeDate | design | Date the application was received by the office of first filing, ISO YYYY-MM-DD |
filingDate, registrationDate, expiryDate, publishedDate | both | ISO YYYY-MM-DD dates |
publishedSection | both | Bulletin section code for the latest publication, e.g. D.1 |
applicantReference | both | Applicant's own internal filing reference, when supplied |
firstLanguage, secondLanguage | both | Filing language and second language declared for the application |
publications[] | both | Bulletin publication history: { bulletinDate, bulletinNumber, section, url } |
imageUrl, thumbnailUrl | trademark | Mark representation images, when available |
publishedUrl | both | Link to the official bulletin entry |
sourceUrl | both | Link back into EUIPO's eSearch plus register for this record |
recordType, scrapedAt | both | "trademark" / "design" and the UTC scrape timestamp |
Fields EUIPO doesn't have data for on a given record are simply omitted — no null/"N/A" placeholders.
Input
| Field | Type | Applies to | Description |
|---|---|---|---|
mode | select | — | search / byNumber / byOwnerName / byRepresentativeName / byOppositionNumber / byDesignerName |
recordType | select | — | trademark or design |
searchQuery | string | search | Free-text keyword |
number | string | byNumber | Exact registration number |
ownerName | string | byOwnerName | Case-insensitive substring match |
representativeName | string | byRepresentativeName | Case-insensitive substring match |
oppositionNumber | string | byOppositionNumber (trademarks only) | Substring match on the opposition case number |
designerName | string | byDesignerName (designs only) | Case-insensitive substring match on the designer/creator |
status | select | all modes | Restrict to one legal status |
markType | select | all modes (trademark records only) | Restrict to one mark type |
kindMark | select | all modes (trademark records only) | Restrict to one mark kind |
niceClassContains | select | all modes (trademark records only) | Restrict to one Nice classification class (1–45) |
locarnoClass | select | all modes (design records only) | Restrict to one Locarno classification class (1–32) |
representationMeans | select | all modes (design records only) | Restrict to Static, 3D, or Video design representation |
applicationReferenceContains | string | all modes | Substring match on the applicant's own filing reference |
filingDateFrom / filingDateTo | date (YYYY-MM-DD) | all modes | Restrict to a filing-date window |
registrationDateFrom / registrationDateTo | date (YYYY-MM-DD) | all modes | Restrict to a registration-date window |
expiryDateFrom / expiryDateTo | date (YYYY-MM-DD) | all modes | Restrict to an expiry-date window |
publishedDateFrom / publishedDateTo | date (YYYY-MM-DD) | all modes | Restrict to a publication-date window |
maxItems | integer | all modes | Hard cap on emitted records (1–1000) |
proxyConfiguration | proxy | all modes | Optional — EUIPO does not block datacenter IPs; used only as an automatic fallback |
Example: keyword search for EU trademarks
{"mode": "search","recordType": "trademark","searchQuery": "apple","maxItems": 50}
Example: every registered design owned by a company
{"mode": "byOwnerName","recordType": "design","ownerName": "Apple Inc.","status": "Registered and fully published","maxItems": 100}
Example: exact trademark lookup
{"mode": "byNumber","recordType": "trademark","number": "000000753"}
Example: designs by Locarno class and representation type
{"mode": "search","recordType": "design","searchQuery": "chair","locarnoClass": "6","representationMeans": "Static","maxItems": 50}
Example: trademarks tied to an opposition case
{"mode": "byOppositionNumber","recordType": "trademark","oppositionNumber": "0000123"}
FAQ
Do I need a EUIPO account or API key? No. eSearch plus is a public register; this actor reads the same data anonymously.
What's the difference between a trademark and a registered Community design?
A trademark protects a brand name, logo, or other sign used to identify goods/services. A registered Community design (RCD) protects the visual appearance of a product. Set recordType to choose which register to search.
Can I filter by both owner name and legal status at once?
Yes — status, markType, kindMark, niceClassContains, and the filing-date range all combine with any search mode.
Why did my status filter return 0 results?
Trademark and design statuses are two separate lists (e.g. Registered is a trademark status; Registered and fully published is a design status). Make sure the chosen status matches the selected recordType.
Is this the same as TMview? It reads from the same underlying EUIPO register that also feeds TMview, but this actor talks directly to the EUIPO eSearch plus service.
Can I search by opposition case or designer name?
Yes. mode=byOppositionNumber finds every EU trademark tied to a given opposition case number (trademarks only — opposition proceedings don't exist for designs). mode=byDesignerName finds every registered design credited to a given designer or creator (designs only). Note that EUIPO's register accepts the designer name as a search filter but doesn't return the matched designer's name on the result record itself.
Can I filter by Nice or Locarno classification?
Yes. niceClassContains restricts EU trademark results to one of the 45 Nice classification classes; locarnoClass restricts registered design results to one of the 32 Locarno classification classes. Both are picked from a dropdown — no need to remember the class number's exact meaning.
Limitations
A few axes that EUIPO's eSearch plus register exposes are deliberately left out because they can't be reliably supported without extra input the platform doesn't take (a reference image, a Vienna/Locarno figurative-code lookup, or a specific owner/representative-directory number) or don't return usable data through this API:
- Image similarity search — eSearch plus supports uploading a logo/design image to find visually similar marks. This requires binary image upload, which isn't a fit for this actor's text-in/JSON-out contract.
- Vienna classification codes (figurative element codes, e.g.
03.01.02) — a controlled vocabulary of thousands of codes normally chosen from an autocomplete widget; not practical as a finite dropdown or a reliable free-text filter. - Owner / representative directory search — eSearch plus has a separate "Owners" and "Representatives" tab that searches entity records directly (with fields like legal form or nationality). This actor searches trademarks and designs, not the entity directories themselves; use
ownerName/representativeNameto find the trademarks or designs tied to an owner or representative instead. - Priority and seniority claims — present in EUIPO's data model but not reliably returned by this JSON endpoint across sampled records.
Data source
All data comes directly from EUIPO's public eSearch plus register (euipo.europa.eu/eSearch), the official EU trademark and design database covering registrations since the EU trademark/design systems began.