EUIPO Trademark & Design Search Scraper avatar

EUIPO Trademark & Design Search Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
EUIPO Trademark & Design Search Scraper

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

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

11 days ago

Last modified

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.

  • 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

FieldApplies toDescription
numberbothEUTM number (e.g. 000000753) or RCD number (e.g. 000032776-0001)
namebothTrademark word/verbal element, or design verbal element
applicantName, applicantCountry, applicantIdbothRegistered owner
representativeName, representativeIdbothProfessional representative / law firm of record
statusbothCurrent legal status, e.g. Registered, Application published, Design lapsed
markTypetrademarkWord, Figurative, 3D shape, Colour, Sound, etc.
kindMarktrademarkIndividual, Collective, EU Certificate
basistrademarkFiling basis, e.g. EUTM, incoming/outgoing international registration
niceClasses[]trademarkNice classification numbers
distinctivenessAcquiredtrademarkWhether the mark claims acquired distinctiveness
productIndicationdesignProduct description, e.g. "Chairs"
representationMeansdesignStatic, 3D, Video
locarnoClassdesignLocarno classification code, e.g. 09.03
images[]design{ imageUrl, thumbnailUrl, viewId } for every design view
receivingOfficeDatedesignDate the application was received by the office of first filing, ISO YYYY-MM-DD
filingDate, registrationDate, expiryDate, publishedDatebothISO YYYY-MM-DD dates
publishedSectionbothBulletin section code for the latest publication, e.g. D.1
applicantReferencebothApplicant's own internal filing reference, when supplied
firstLanguage, secondLanguagebothFiling language and second language declared for the application
publications[]bothBulletin publication history: { bulletinDate, bulletinNumber, section, url }
imageUrl, thumbnailUrltrademarkMark representation images, when available
publishedUrlbothLink to the official bulletin entry
sourceUrlbothLink back into EUIPO's eSearch plus register for this record
recordType, scrapedAtboth"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

FieldTypeApplies toDescription
modeselectsearch / byNumber / byOwnerName / byRepresentativeName / byOppositionNumber / byDesignerName
recordTypeselecttrademark or design
searchQuerystringsearchFree-text keyword
numberstringbyNumberExact registration number
ownerNamestringbyOwnerNameCase-insensitive substring match
representativeNamestringbyRepresentativeNameCase-insensitive substring match
oppositionNumberstringbyOppositionNumber (trademarks only)Substring match on the opposition case number
designerNamestringbyDesignerName (designs only)Case-insensitive substring match on the designer/creator
statusselectall modesRestrict to one legal status
markTypeselectall modes (trademark records only)Restrict to one mark type
kindMarkselectall modes (trademark records only)Restrict to one mark kind
niceClassContainsselectall modes (trademark records only)Restrict to one Nice classification class (1–45)
locarnoClassselectall modes (design records only)Restrict to one Locarno classification class (1–32)
representationMeansselectall modes (design records only)Restrict to Static, 3D, or Video design representation
applicationReferenceContainsstringall modesSubstring match on the applicant's own filing reference
filingDateFrom / filingDateTodate (YYYY-MM-DD)all modesRestrict to a filing-date window
registrationDateFrom / registrationDateTodate (YYYY-MM-DD)all modesRestrict to a registration-date window
expiryDateFrom / expiryDateTodate (YYYY-MM-DD)all modesRestrict to an expiry-date window
publishedDateFrom / publishedDateTodate (YYYY-MM-DD)all modesRestrict to a publication-date window
maxItemsintegerall modesHard cap on emitted records (1–1000)
proxyConfigurationproxyall modesOptional — 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 / representativeName to 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.