
Congress Stock Trades Scraper
scrape.ly/store/querystone/congress-trades-scraperNewsBusiness
3 monthly users

Search 100M+ trademarks from the EUIPO and 70+ national and international offices in TMview. Filter by office, Nice class, status, type and dates. Owners, classes, dates, images, full goods and services, addresses and representatives. No login needed.
Search more than 100 million trademarks from the EUIPO and 70+ national and international offices (WIPO Madrid, Germany, France, Spain, Italy, Benelux, UK, US, China, Japan and more) through TMview, the EU's public trademark search. Get each mark's name, owner, Nice classes, status, filing, registration and expiry dates and image in seconds. Optionally add the full record, a free brand-clearance score and a watch mode for new filings. No login or API key needed.
tesla), owners in Owner (applicant) names, or IDs and links in Trademark IDs, links or numbers.To browse new filings, leave the names empty and set an office plus a filing date range, for example EM and 2026-10-01 to 2026-10-15.
| Field | What it does |
|---|---|
searchQueries | Trademark names or words to search (one search each) |
applicantNames | Owner names; alone each one is a search, with names they narrow the search |
trademarkIds | TMview IDs (ST13), TMview or office links, application or registration numbers |
maxResults | Marks per search (default 20, 0 = all, up to 100,000) |
offices | Office codes such as EM, WO, DE, FR, ES, IT, BX, GB, US, CN, JP |
niceClasses | Nice classes 1-45 |
statuses | Registered, Filed, Ended, Expired (or active / dead) |
markTypes | Word, Figurative, Combined, 3-D, Sound, Colour, ... |
applicationDateFrom / applicationDateTo | Filing date range |
registrationDateFrom / registrationDateTo | Registration date range |
matchMode | contains, word, begins, ends, exact or fuzzy |
sortBy | relevance, newest, oldest, recently_registered, name, office |
includeDetails | Load the full record of every mark |
goodsLanguage | Preferred language of the goods and services wording |
referenceMark / referenceNiceClasses | Your proposed brand and classes for the conflict score |
watchMode / watchKey / includeUnchanged | Save only new or changed marks between runs |
{
"searchQueries": ["tesla"],
"offices": ["EM", "DE", "WO"],
"niceClasses": ["9", "12"],
"statuses": ["Registered"],
"maxResults": 50,
"includeDetails": true,
"referenceMark": "Teslar",
"referenceNiceClasses": ["9", "12"]
}
One row per trademark. The main fields:
| Field | Description |
|---|---|
st13 | TMview unique ID |
mark_name, mark_type | Trademark name and type |
office_code | Office (EM = EUIPO, WO = WIPO, DE, FR, US, ...) |
application_number, registration_number | Numbers at the office |
status, lifecycle_stage, is_active | Registered, Filed, Ended or Expired, plus a simple stage |
application_date, registration_date, expiration_date, days_until_expiry | Key dates |
opposition_period_start, opposition_period_end, opposition_open | Opposition window |
nice_classes, vienna_codes | Classes and figurative codes |
applicant_name, applicant_names | Owners |
territories_protected | Where the mark applies |
mark_image_url, mark_thumbnail_url, tmview_url, office_record_url | Image and links |
goods_and_services | Wording per class (full details) |
applicants_detail, representatives_detail | Addresses, countries, legal forms (full details) |
priorities, publications, renewals, oppositions_count | History (full details) |
clearance, conflict_score, conflict_band | Brand-clearance screening (with referenceMark) |
change_type | NEW, UPDATED or UNCHANGED (watch mode) |
A full-detail row from a test run (trimmed):
{
"st13": "EM500000018607107",
"application_number": "018607107",
"mark_name": "TESLA",
"mark_type": "Figurative",
"office_code": "EM",
"status": "Registered",
"lifecycle_stage": "registered",
"is_active": true,
"application_date": "2021-11-23",
"registration_date": "2022-03-23",
"expiration_date": "2031-11-23",
"nice_classes": [43],
"vienna_codes": ["27.05.25"],
"applicant_name": "Tesla, Inc.",
"mark_image_url": "https://www.tmdn.org/tmview/api/trademark/image/EM500000018607107",
"tmview_url": "https://www.tmdn.org/tmview/#/tmview/detail/EM500000018607107",
"office_record_url": "https://euipo.europa.eu/eSearch/#details/trademarks/018607107",
"kind_mark": "Individual",
"goods_and_services": [
{"nice_class": 43, "description": "Restaurant services, pop-up restaurant services, self-service restaurant services, take-out restaurant services."}
],
"goods_and_services_language": "en",
"applicants_detail": [
{"name": "Tesla, Inc.", "legal_form": "Incorporation", "country": "US", "address": "1 Tesla Road, 78725, Austin, Texas"}
],
"representatives": ["BIRD & BIRD LLP"],
"priorities": [{"country": "US", "number": "90/740072", "date": "2021-05-27", "status": "Claimed"}],
"publications": [{"identifier": "2021/237", "section": "A.1", "date": "2021-12-14"}],
"enriched": true
}
You pay per trademark saved:
includeDetails is on, and for lookups by TMview ID, which always return the full record).Example: 1,000 trademarks cost about $8, or about $16 with full details. Platform usage (compute and datacenter proxy traffic) is billed on top and is small: in our tests a 1,000-mark run used under $0.001 and a 15,890-mark run about $0.013.
Is it legal to scrape TMview? TMview is a free public search run by the EU Intellectual Property Office, and trademark registers are public by law. The scraper reads the same public data the website shows. Check the rules that apply to how you use the data, especially for personal data of individual owners.
Do I need a login, API key or proxy? No login and no API key. The default datacenter proxy works; if TMview starts refusing those exits, the run switches to residential proxies by itself.
How many results can I get? Up to 100,000 per search. TMview itself returns at most 10,000 rows per search, so larger searches are split by filing date automatically (in our test, all 15,890 marks for "nike" in about one minute). Marks without a filing date cannot be reached past the first 10,000.
Why are some fields empty? Offices publish different data. Some have no registration or expiry date, no image or no English goods and services wording. Fields such as goods and services, addresses and representatives need Full details.
Can I schedule it or use the API? Yes. Schedule runs (watch mode is built for that) and start runs or read results through the API, webhooks and integrations.
Is the brand-clearance score legal advice? No. It is a fast screening aid that ranks marks by name similarity, sound-alike match and class overlap so you know which ones to review first.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchQueriesarrayOptionalTrademark names or keywords
Brand names or words to search in the trademark name, for example tesla, louis vuitton or coca cola. Each one is a separate search across the EUIPO and 70+ national and international offices in TMview.
applicantNamesarrayOptionalOwner (applicant) names
Find every trademark filed by these owners, for example Apple Inc or Nike Innovate. On its own, each owner is a separate search. Together with trademark names, only marks owned by one of these owners are returned.
trademarkIdsarrayOptionalTrademark IDs, links or numbers
Look up specific marks: TMview IDs (ST13, for example EM500000018607107), TMview or office links that contain one, or application / registration numbers (for example 018607107). IDs and links always return the full record.
maxResultsintegerOptionaldefault 20Max results per search
How many trademarks to save for each name, owner or browse search. 0 means all matches (up to 100,000 per search).
officesarrayOptionalOffices
Two-letter office codes: EM = EUIPO (EU trademarks), WO = WIPO (Madrid), DE, FR, ES, IT, BX (Benelux), GB, US, JP, CN, KR and more. Leave empty for all 70+ offices. Names such as EUIPO, WIPO or USPTO work too.
niceClassesarrayOptionalNice classes
Goods and services classes 1 to 45, for example 9 (electronics, software), 25 (clothing), 35 (retail, advertising), 41 (education) or 42 (IT services). A mark matches when it covers any of them.
statusesarrayOptionalStatuses
Registered, Filed (pending), Ended or Expired. Shortcuts: active (Registered + Filed) and dead (Ended + Expired). Leave empty for every status.
markTypesarrayOptionalMark types
Word, Figurative, Combined, 3-D, Sound, Colour, Position, Pattern, Motion, Hologram, Multimedia, Stylized characters or Other. Leave empty for every type.
applicationDateFromstringOptionalFiled from
Only marks filed on or after this date (YYYY-MM-DD, YYYY-MM or YYYY).
applicationDateTostringOptionalFiled to
Only marks filed on or before this date (YYYY-MM-DD, YYYY-MM or YYYY).
registrationDateFromstringOptionalRegistered from
Only marks registered on or after this date (YYYY-MM-DD, YYYY-MM or YYYY).
registrationDateTostringOptionalRegistered to
Only marks registered on or before this date (YYYY-MM-DD, YYYY-MM or YYYY).
matchModeenumOptionaldefault "contains"Name matching
How the trademark name is matched: contains (default), word (whole word), begins with, ends with, exact, or fuzzy (similar spellings and sounds, for example APPEL finds APPLE).
sortByenumOptionaldefault "relevance"Sort by
Order of the results. Newest first is best for watching new filings.
includeDetailsbooleanOptionaldefault falseFull details
Open each trademark's full record: goods and services wording per class, owner address and country, representatives, expiry and status dates, priorities, publications and renewals. Billed as an extra event per mark.
goodsLanguageenumOptionaldefault "en"Goods and services language
Preferred language for the goods and services wording (two-letter code, for example en, de, fr or es). Falls back to the original filing language when the office has no translation.
referenceMarkstringOptionalYour proposed brand name
Brand name you want to clear. Every result gets a free conflict screening against it: name similarity, sound-alike match and class overlap, rolled into a 0-100 score and a band (high, medium, low, none). Screening only, not legal advice.
referenceNiceClassesarrayOptionalYour Nice classes
Classes your proposed brand will be used in, for example 9 and 42. Sharpens the conflict score: a similar name matters most when the classes overlap.
watchModebooleanOptionaldefault falseWatch mode (only new or changed marks)
Remember the marks seen on earlier runs of the same search and save only new and changed ones, each tagged NEW or UPDATED. Schedule the run daily or weekly to watch competitors' filings and status changes.
watchKeystringOptionalWatch name
Optional name for this watch, so different watches with similar inputs keep separate memories. Leave empty to derive it from the search.
includeUnchangedbooleanOptionaldefault falseAlso save unchanged marks
In watch mode, also save (and pay for) marks that did not change since the last run, tagged UNCHANGED.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy
Datacenter proxies work for TMview. The run switches to residential proxies by itself if the site starts refusing the datacenter exits.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| st13 | string | null | TMview unique ID (office code + number) |
| application_number | string | null | Application number at the office |
| registration_number | string | null | Registration number |
| mark_name | string | null | Trademark name (verbal element) |
| mark_type | string | null | Word, Figurative, Combined, 3-D, Sound, ... |
| office_code | string | null | Two-letter office code (EM = EUIPO, WO = WIPO, DE, FR, US, ...) |
| office_name | string | null | Office name (full details only) |
| status | string | null | Registered, Filed, Ended or Expired |
| status_detail | string | null | Detailed status from the office (full details only) |
| status_date | string | null | Date of the current status (full details only) |
| lifecycle_stage | string | null | registered, pending, expired, ended or unknown |
| is_active | boolean | null | True when the mark is registered or still pending |
| application_date | string | null | Filing date (YYYY-MM-DD) |
| registration_date | string | null | Registration date |
| expiration_date | string | null | Expiry date |
| days_until_expiry | number | null | Days from today to expiry (negative when lapsed) |
| renewal_due_soon | boolean | null | True when a registered mark expires within 180 days |
| opposition_period_start | string | null | Opposition period start |
| opposition_period_end | string | null | Opposition period end |
| opposition_deadline | string | null | Opposition deadline |
| opposition_open | boolean | null | True while the opposition period is running |
| opposition_days_left | number | null | Days left to oppose |
| nice_classes | array | null | Nice classes covered |
| vienna_codes | array | null | Vienna figurative element codes |
| applicant_name | string | null | First owner (applicant) |
| applicant_names | array | null | All owners |
| applicant_country | string | null | Country of the first owner (full details only) |
| territories_protected | array | null | Territories where the mark applies |
| designated_countries | array | null | Designated countries for international marks (full details only) |
| mark_image_url | string | null | Mark image |
| mark_thumbnail_url | string | null | Mark thumbnail |
| tmview_url | string | null | TMview page |
| office_record_url | string | null | Record at the office |
| goods_and_services | array | null | Goods and services wording per class (full details only) |
| goods_and_services_language | string | null | Language of goods_and_services |
| goods_and_services_languages | array | null | Languages TMview has the wording in |
| kind_mark | string | null | Individual, Collective or Certification (full details only) |
| application_language | string | null | Filing language |
| second_language | string | null | Second language (EU trademarks) |
| applicants_detail | array | null | Owners with address, country, legal form (full details only) |
| representatives | array | null | Representative names (full details only) |
| representatives_detail | array | null | Representatives with address and contact data the office publishes |
| priorities | array | null | Priority claims |
| seniorities | array | null | Seniority claims |
| publications | array | null | Publications in the official bulletin |
| renewals | array | null | Renewal history |
| oppositions_count | number | null | Number of oppositions on record |
| cancellations_count | number | null | Number of cancellation actions on record |
| appeals_count | number | null | Number of appeals on record |
| office_last_update | string | null | Last data update from the office |
| clearance | object | null | Brand-clearance screening against your proposed name |
| conflict_score | number | null | Conflict score 0-100 against your proposed name |
| conflict_band | string | null | high, medium, low or none |
| change_type | string | null | Watch mode: NEW, UPDATED or UNCHANGED |
| search_type | string | null | query, applicant, browse, id or number |
| search_input | string | null | Input that found this mark |
| enriched | boolean | null | True when the full record was loaded |
| scraped_at | string | null | Scrape time (UTC) |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Trademark | One saved trademark from TMview (name, owner, office, status, classes, dates, image and links). | $0.008 |
| Full trademark details | Full record of a saved trademark when Full details is on or for a lookup by TMview ID: goods and services wording, owner address, representatives, priorities, publications and renewals. | $0.008 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('querystone/euipo-trademarks-scraper').call({
"searchQueries": [
"tesla"
],
"applicantNames": [],
"trademarkIds": [],
"maxResults": 20,
"offices": [],
"niceClasses": [],
"statuses": [],
"markTypes": [],
"referenceNiceClasses": [],
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run querystone/euipo-trademarks-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=querystone/euipo-trademarks-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
EUIPO marks filtered by office, Nice class and status.
An owner's portfolio with goods and services, addresses and representatives.
Fuzzy EU search scored against a proposed brand name.
Browse an office by filing date, newest first.
Full records for known trademarks.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.