Global Trademark Search Scraper - 77 Offices Worldwide avatar

Global Trademark Search Scraper - 77 Offices Worldwide

Pricing

from $13.00 / 1,000 results

Go to Apify Store
Global Trademark Search Scraper - 77 Offices Worldwide

Global Trademark Search Scraper - 77 Offices Worldwide

Search 145M+ trademarks from 77 national and regional registers at once: mark text, owner name and address, representative, status, Nice classes, goods and services wording, oppositions, priority and seniority claims. JSON, CSV, Excel.

Pricing

from $13.00 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Global Trademark Search Scraper

Global Trademark Search Scraper

Here is one real result, trimmed to show every field the actor returns:

{
"st13": "EM500000018396517",
"office": "EM",
"officeName": "European Union (EUIPO)",
"markText": "PIXELMATE",
"markFeature": "Word",
"kindOfMark": "Individual",
"status": "Registered",
"statusDetail": "Registered",
"statusDate": "2021-07-15",
"applicationNumber": "018396517",
"applicationDate": "2021-02-11",
"registrationNumber": "018396517",
"registrationDate": "2021-07-14",
"expirationDate": "2031-02-11",
"renewalStatus": "Not to be renewed",
"applicantNames": ["Framos Holding GmbH"],
"applicants": [
{
"name": "Framos Holding GmbH",
"street": "Wallbergstraße 9",
"city": "Pullach im Isartal",
"postcode": "82049",
"country": "DE",
"addressText": "Wallbergstraße 9, 82049, Pullach im Isartal",
"legalEntity": "Legal Entity",
"nationality": "DE",
"identifier": "1170902"
}
],
"applicantAddresses": ["Wallbergstraße 9, 82049, Pullach im Isartal"],
"representatives": [
{
"name": "DE CLERCQ & PARTNERS",
"street": "Edgard Gevaertdreef 10 a",
"city": "Sint-Martens-Latem",
"postcode": "9830",
"country": "BE",
"addressText": "Edgard Gevaertdreef 10 a, 9830, Sint-Martens-Latem",
"legalEntity": "Legal Person",
"identifier": "69847"
}
],
"niceClasses": [9],
"goodsAndServices": [
{
"classNumber": 9,
"description": "Connectors for electronic circuits; Plug-in connectors; Connectors for electronic devices; Electronic components, namely semiconductors, sensors, microprocessors, signal memories, A/D converters, D/A converters, multipliers, integrated circuits, amplifiers, diodes, transistors, rectifiers, CMOS circuits and thyristors; Interface circuits for video cameras; Graphics processing units (gpus); Semiconductors and semiconductor chip sets; System-on-chip processors; Electronic computer vision accelerators.",
"language": "en"
}
],
"goodsServicesText": "9: Connectors for electronic circuits; Plug-in connectors; …",
"goodsServicesLanguages": ["bg", "cs", "da", "de", "el", "en", "es", "et", "fi", "fr", "hr", "hu", "it", "lt", "lv", "mt", "nl", "pl", "pt", "ro", "sk", "sl", "sv"],
"protectionTerritories": ["DE", "BE", "FI", "PT", "BG", "DK", "LT", "LU", "HR", "LV", "FR", "HU", "SE", "SI", "BX", "SK", "IE", "EE", "MT", "EM", "GR", "IT", "ES", "AT", "CY", "CZ", "PL", "RO", "NL"],
"viennaCodes": [],
"priorities": [],
"seniorities": [],
"seniorityClaimed": false,
"oppositions": [],
"oppositionCount": 0,
"oppositionPeriodStart": "2021-04-06",
"oppositionPeriodEnd": "2021-07-06",
"publications": [
{ "identifier": "2021/063", "section": "A.1", "date": "2021-04-06" },
{ "identifier": "2021/131", "section": "B.1", "date": "2021-07-15" },
{ "identifier": "2022/136", "section": "C.3.2", "date": "2022-07-22" }
],
"markEvents": [
{
"identifier": "021607042",
"kind": "Proprietor - Change of name and address",
"status": "Published",
"statusDate": "2022-05-09",
"publicationDate": "2022-05-10"
},
{
"identifier": "022002276",
"kind": "Trade mark - Partial Surrender",
"status": "Published",
"statusDate": "2022-07-22",
"publicationDate": "2022-07-22"
}
],
"markTranscription": "PIXELMATE",
"filingLanguage": "nl",
"secondLanguage": "en",
"applicationReference": "STRF-212430-TM-EU",
"fastTrack": "false",
"acquiredDistinctiveness": "false",
"markImageUrl": "http://euipo.europa.eu/trademark/image/EM500000018396517",
"officeRecordUrl": "https://euipo.europa.eu/trademark/data/EM500000018396517",
"detailUrl": "https://www.tmdn.org/tmview/api/detail/EM500000018396517",
"fullRecordAvailable": true,
"matchedQuery": "PIXELMATE",
"source": "TMview global trademark search (EUIPO/TMDN)",
"observedAt": "2026-08-20T21:25:26.808Z"
}

One search across 77 trademark registers and more than 145 million marks, from the US, EU, China, Japan, Brazil and 72 more offices, plus the Madrid international register. Most trademark scrapers cover a single office. This one returns the same clean record shape for all of them, with the owner, the representative, the goods and services wording, and the opposition history attached. Export as JSON, CSV or Excel.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

Give it a brand name, an owner name, or no search term at all and just filters, and it returns matching trademarks from every register you selected, with the full public record attached: who owns the mark and where they are based, which IP firm represents them, what goods and services it covers in the language you ask for, which territories it is protected in, whether anyone opposed it and on what grounds, and when it expires.

Both search fields accept a list, so one run can cover many brands or many owners at once. Results are merged and de-duplicated across searches and across offices. Fields with no value at the publishing office are omitted, never guessed.

Large pulls are handled for you: when a filter combination matches more marks than a single query can return, the actor splits it into smaller office and filing-date slices automatically and keeps going, so maxTrademarks in the hundreds of thousands still works.

Offices covered

Albania, Argentina, Australia, Austria, Belize, Benelux, Bosnia and Herzegovina, Brazil, Brunei, Bulgaria, Cambodia, Canada, Chile, China, Colombia, Costa Rica, Croatia, Cuba, Cyprus, Czechia, Denmark, Dominican Republic, Egypt, Estonia, European Union (EUIPO), Finland, France, Georgia, Germany, Greece, Hungary, Iceland, India, Ireland, Israel, Italy, Japan, Jordan, Laos, Latvia, Liechtenstein, Lithuania, Malaysia, Malta, Mexico, Moldova, Monaco, Montenegro, Morocco, New Zealand, North Macedonia, Norway, Paraguay, Peru, Philippines, Poland, Portugal, Romania, Russia, San Marino, Serbia, Slovakia, Slovenia, South Korea, Spain, Sweden, Switzerland, Thailand, Trinidad and Tobago, Tunisia, Turkiye, Ukraine, United Kingdom, United States, Uruguay, Vietnam, and the WIPO Madrid international register.

Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 100 EU trademarks in Nice class 9 filed during 2025, each with the owner's postal address and the goods and services wording in English.

{
"offices": ["EM"],
"niceClasses": ["9"],
"applicationDateFrom": "2025-01-01",
"applicationDateTo": "2025-12-31",
"trademarkStatus": ["Registered"],
"maxTrademarks": 100,
"fetchFullRecord": true
}

Leave both search fields empty to browse a whole register purely by filter. All filters combine with AND; multi-value fields match any of the listed values.

Input reference

FieldTypeRequiredDefaultDescription
maxTrademarksintegerno10Maximum trademarks to collect. Hard cap; the actor stops once it is reached.
markTextsstring[]no(empty)Brand names or mark words to search. Each entry runs as its own search; results are merged and de-duplicated.
applicantNamesstring[]no(empty)Owner names to search, for example Nestle, Siemens. Each entry runs as its own search.
matchModeenumnocontainsHow mark text is matched: contains, exact, beginsWith, word, or fuzzy for clearance-style similar spellings.
officesstring[]no(all 77)Two-letter office codes to search, for example US, EM, CN, GB, WO.
territoriesstring[]no(all)Keep only marks in force in these territories. Useful for EU and Madrid marks whose protection reaches beyond the issuing office.
niceClassesstring[]no(all)Nice classification classes 1 to 45, for example 9, 25, 35.
trademarkStatusstring[]no(all)Registered, Filed, Expired, Ended.
trademarkTypesstring[]no(all)Word, Figurative, Combined, 3D shape, Sound, Colour, Position, and others.
viennaCodesstring[]no(all)Vienna classification codes for figurative elements, for example 26.11.12.
applicationDateFromstringno(empty)Only marks filed on or after this date (YYYY-MM-DD).
applicationDateTostringno(empty)Only marks filed on or before this date (YYYY-MM-DD).
registrationDateFromstringno(empty)Only marks registered on or after this date (YYYY-MM-DD).
registrationDateTostringno(empty)Only marks registered on or before this date (YYYY-MM-DD).
fetchFullRecordbooleannotrueOpen each mark's full register record for goods and services, priority and seniority claims, oppositions, publications and register events. Turn off for a faster, lighter run.
fetchPartyDetailsbooleannotrueAlso look up owner and representative postal addresses at the publishing office.
goodsServicesLanguagestringnoenPreferred language for goods and services wording. Falls back to English, then to whatever the office published.
proxyConfigurationobjectnoresidentialProxy settings. Leave as is unless you know you need something different.

Output reference

One dataset item per trademark. Types: string, integer, boolean, object[], string[], or the field is omitted when the publishing office has no value for it.

FieldTypeDescription
st13stringStable 13-character identifier, unique across all offices.
officestringTwo-letter office code.
officeNamestringOffice name, for example European Union (EUIPO).
markTextstringThe trademark text.
markFeaturestringMark type: Word, Figurative, Combined, 3D shape, Sound, and others.
kindOfMarkstringIndividual, Collective, Certification, and similar.
statusstringRegistered, Filed, Expired or Ended.
statusDetailstringThe office's own status wording, for example Application refused.
statusDatestringDate the current status took effect.
applicationNumberstringApplication number at that office.
applicationDatestringFiling date (YYYY-MM-DD).
registrationNumberstringRegistration number at that office.
registrationDatestringRegistration date (YYYY-MM-DD).
expirationDatestringDate protection expires (YYYY-MM-DD).
renewalStatusstringRenewal state recorded by the office.
applicantNamesstring[]Owner names.
applicantsobject[]Owners with name, street, city, state, postcode, country, addressText, legalEntity, nationality, and email / phone where the office publishes them.
applicantAddressesstring[]Flat owner addresses, convenient for CSV exports.
representativesobject[]IP firm or attorney of record, same shape as applicants.
niceClassesinteger[]Nice classification classes covered.
goodsAndServicesobject[]Per class: classNumber, description, language.
goodsServicesTextstringAll classes flattened into one string.
goodsServicesLanguagesstring[]Every language the office published the wording in.
protectionTerritoriesstring[]Territories where the mark is in force.
viennaCodesstring[]Vienna classification codes for the figurative elements.
prioritiesobject[]Priority claims: country, number, date.
senioritiesobject[]Seniority claims: country, applicationNumber, registrationNumber, dates, status.
seniorityClaimedbooleanWhether any seniority is claimed.
oppositionsobject[]Oppositions with identifier, date, grounds, status, statusDate, and the earlierMarks relied on.
oppositionCountintegerNumber of oppositions on record.
oppositionPeriodStartstringStart of the opposition window.
oppositionPeriodEndstringEnd of the opposition window.
publicationsobject[]Official bulletin entries: identifier, section, date.
markEventsobject[]Register events such as ownership changes, surrenders and transfers.
markDescriptionstringDescription of the mark, where published.
markDisclaimerstringDisclaimed elements.
markTranslationstringTranslation of a non-Latin or foreign-language mark.
markTranscriptionstringTransliteration of the mark.
colourClaimedstringColours claimed, for example Orange; Red; White.
filingLanguagestringLanguage the application was filed in.
secondLanguagestringSecond language of the application, where applicable.
applicationReferencestringThe applicant's own file reference.
fastTrackstringWhether the application used the office's fast-track route.
acquiredDistinctivenessstringWhether acquired distinctiveness was claimed.
markImageUrlstringImage of the mark, for figurative and combined marks.
officeRecordUrlstringLink to the record at the publishing office.
detailUrlstringLink to the multi-office record view.
fullRecordAvailablebooleanWhether the full register record was retrieved for this mark.
partyDetailsWithheldbooleanPresent when the office does not publish owner or representative details to automated requests.
matchedQuerystringWhich search or filter slice matched this record.
sourcestringConstant source label.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringPresent only on a failed run, where a single item with a populated error field is written instead of results.

Use cases

  • Global clearance searches. Run one fuzzy search for a proposed brand across all 77 offices and see every conflicting mark, its classes and its owner, before you file.
  • Portfolio and competitor mapping. Pull an owner's entire worldwide filing history in a single run, including marks filed under local subsidiary names.
  • Renewal and expiry pipelines. Filter by expiry window and office to get marks coming up for renewal, with the responsible IP firm and its address already attached.
  • IP firm business development. Find owners filing into your jurisdiction and see who currently represents them, with postal addresses for outreach.
  • Brand protection and watch services. Monitor new filings in your Nice classes and territories with a filing-date window, and catch lookalikes early with fuzzy matching.
  • Opposition and litigation research. Study which grounds succeed in a given office and class, and which earlier marks are relied on.

Run via API and CLI

Start a run via the REST API. Replace YOUR_TOKEN with your Apify API token.

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~tmview-global-trademarks-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"offices":["EM"],"niceClasses":["9"],"applicationDateFrom":"2025-01-01","maxTrademarks":100}'

Apify CLI:

apify call scrapers_lat/tmview-global-trademarks-scraper \
--input '{"markTexts":["nike"],"matchMode":"fuzzy","maxTrademarks":25}'

Fetch results

Results land in the run's dataset and can be exported as JSON, CSV or Excel from the Apify console or the API:

$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=csv&token=YOUR_TOKEN"

Billing and limits

This actor uses pay-per-event pricing. You are only charged on a successful result.

EventPrice (USD)When it is charged
result0.015Once per trademark written to the dataset.
  • No charge on failure. If a run errors, a single item with a populated error field is written and is not charged. Empty runs cost nothing.
  • Free Apify plans are capped at 10 results per run; upgrade for larger pulls.
  • Spend cap respected. Set maxTotalChargeUsd on the run to stop once a budget is reached.
  • De-duplicated. The same mark is never charged twice in a run, even when several searches or offices match it.
  • Set maxTrademarks to control run size and cost, and use the filters to target the exact segment you need.

FAQ and troubleshooting

Which trademarks are covered? Marks published by the 77 offices listed above, including applications, registrations, expired and ended marks. Each office decides how far back its own history goes.

How fresh is the data? It is read live from the public registers on each run, and every record carries observedAt.

Why do some rows have partyDetailsWithheld? A handful of offices publish owner and representative details only through a channel that refuses automated requests. Those rows still carry the owner name that the register itself returns, and the flag tells you the postal address was unavailable rather than absent. Owner addresses are available for most European and Latin American offices.

Why is goodsAndServices sometimes not in English? Many offices publish the wording only in their own language. The actor returns your requested language when it exists, then English, then whatever the office published. goodsServicesLanguages tells you which versions exist.

Can I search several brands at once? Yes. markTexts and applicantNames both accept lists, and results are merged and de-duplicated by the mark's global identifier.

What is st13? A 13-character identifier that is stable and unique across every office, so you can key on it when you re-run and diff.

Why are applicationDate and registrationDate sometimes inconsistent? A few offices record the registration date of an earlier related right. The dates are reported exactly as the office publishes them, never adjusted.

Can I get more than the count I set? No. maxTrademarks is a hard cap; the actor stops once it is reached.

Do I need an API key? No. The registers are public. Residential proxies are used by default because the registers throttle bulk traffic, and Apify Proxy is already included in your plan.


Not affiliated with, endorsed by or sponsored by EUIPO, WIPO or any national intellectual property office. All data is read from publicly available records.