{
  "openapi": "3.0.1",
  "info": {
    "title": "EUIPO Trademark Scraper - EU & TMview Marks, Owners, Classes",
    "description": "Scrape EU trade marks from EUIPO and 70+ offices via TMview: search by mark, owner, number, Nice class, status, type or filing date. Get status, dates, goods & services, owner and representative with address, image, oppositions. Past the 10,000-result cap. No login, no API key.",
    "version": "0.1",
    "x-build-id": "qNeNRq0qCcSa2m9Vj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~euipo-trademark-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-euipo-trademark-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapersdelight~euipo-trademark-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-euipo-trademark-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapersdelight~euipo-trademark-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-euipo-trademark-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchQueries": {
            "title": "Trade mark text",
            "type": "array",
            "description": "Words of the mark, one search each, e.g. \"nike\", \"blue ocean\". Leave empty to search by owner, number or filters only.",
            "items": {
              "type": "string"
            }
          },
          "matchMode": {
            "title": "Match mode",
            "enum": [
              "contains",
              "exact",
              "beginsWith",
              "word",
              "fuzzy"
            ],
            "type": "string",
            "description": "How the mark text is matched. Contains is the widest, Exact the narrowest; Fuzzy also finds near spellings for clearance checks.",
            "default": "contains"
          },
          "applicantNames": {
            "title": "Owner / applicant",
            "type": "array",
            "description": "Owner or applicant names, e.g. \"Nike Innovate\". Alone: one search per owner (their portfolio). With mark text: keeps only marks of these owners.",
            "items": {
              "type": "string"
            }
          },
          "applicationNumbers": {
            "title": "Application numbers",
            "type": "array",
            "description": "Look marks up by application number, e.g. \"018000000\" (EU) - searched in the offices below.",
            "items": {
              "type": "string"
            }
          },
          "registrationNumbers": {
            "title": "Registration numbers",
            "type": "array",
            "description": "Look marks up by registration number, e.g. \"006655302\".",
            "items": {
              "type": "string"
            }
          },
          "st13Ids": {
            "title": "TMview ids (ST13) or URLs",
            "type": "array",
            "description": "TMview's own mark ids or detail URLs, e.g. \"EM500000008871915\" or https://www.tmdn.org/tmview/#/tmview/detail/EM500000008871915.",
            "items": {
              "type": "string"
            }
          },
          "offices": {
            "title": "Offices",
            "type": "array",
            "description": "Two-letter office codes: EM = EUIPO (EU trade marks), WO = WIPO Madrid, BX = Benelux, plus national offices such as DE, FR, ES, IT, GB, US, CH, CN. Empty = all 70+ offices.",
            "default": [
              "EM"
            ],
            "items": {
              "type": "string"
            }
          },
          "territories": {
            "title": "Protected in",
            "type": "array",
            "description": "Keep marks in force in these countries (two-letter codes), whichever office granted them - e.g. DE catches German, EU and Madrid marks covering Germany.",
            "items": {
              "type": "string"
            }
          },
          "niceClasses": {
            "title": "Nice classes",
            "type": "array",
            "description": "Goods & services classes 1-45, e.g. 25 (clothing), 9 (software), 35 (retail). A mark matches when it covers any of them.",
            "items": {
              "type": "string"
            }
          },
          "statuses": {
            "title": "Status",
            "type": "array",
            "description": "TMview's status groups. Empty = all. Registered + Filed are the live marks.",
            "items": {
              "type": "string",
              "enum": [
                "Registered",
                "Filed",
                "Expired",
                "Ended"
              ],
              "enumTitles": [
                "Registered",
                "Filed (pending)",
                "Expired",
                "Ended (refused, withdrawn, cancelled)"
              ]
            }
          },
          "markTypes": {
            "title": "Mark type",
            "type": "array",
            "description": "Kind of mark, e.g. word marks only. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "Word",
                "Figurative",
                "Combined",
                "3-D",
                "Stylized characters",
                "Sound",
                "Colour",
                "Combination of colours",
                "Hologram",
                "Motion",
                "Multimedia",
                "Position",
                "Pattern",
                "General mark",
                "Other"
              ],
              "enumTitles": [
                "Word",
                "Figurative",
                "Combined",
                "3-D shape",
                "Stylized characters",
                "Sound",
                "Colour",
                "Combination of colours",
                "Hologram",
                "Motion",
                "Multimedia",
                "Position",
                "Pattern",
                "General mark",
                "Other"
              ]
            }
          },
          "viennaCodes": {
            "title": "Vienna codes",
            "type": "array",
            "description": "Image classification codes of figurative marks, e.g. 03.01.08 (lions) or 27.05.01 (stylised letters).",
            "items": {
              "type": "string"
            }
          },
          "applicationDateFrom": {
            "title": "Filed from",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Application (filing) date from, YYYY-MM-DD, e.g. 2026-01-01."
          },
          "applicationDateTo": {
            "title": "Filed to",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Application (filing) date to, YYYY-MM-DD (inclusive)."
          },
          "filedInLastDays": {
            "title": "Filed in the last N days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Only marks filed in the last N days, counted from each run - pairs with a daily or weekly schedule. 0 = off."
          },
          "registrationDateFrom": {
            "title": "Registered from",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Registration date from, YYYY-MM-DD."
          },
          "registrationDateTo": {
            "title": "Registered to",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Registration date to, YYYY-MM-DD (inclusive)."
          },
          "currentlyOpposable": {
            "title": "Open to opposition now",
            "type": "boolean",
            "description": "Only marks whose opposition period is running today - the window to oppose a competitor's filing.",
            "default": false
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "relevance",
              "newest",
              "oldest",
              "name"
            ],
            "type": "string",
            "description": "Order of the results. Newest first suits monitors.",
            "default": "relevance"
          },
          "includeDetails": {
            "title": "Full record",
            "type": "boolean",
            "description": "Read each mark's full record: goods & services text, owner and representative with address (and e-mail/phone where the office publishes them), oppositions, renewals, seniority, priority, publications. Same price per row.",
            "default": true
          },
          "goodsServicesLanguage": {
            "title": "Goods & services language",
            "type": "string",
            "description": "Two-letter language for the goods & services wording, e.g. en, de, fr. EU marks carry all 23 EU languages; otherwise English, then the filing language.",
            "default": "en"
          },
          "includeEuipoRecord": {
            "title": "EUIPO record extras (EU marks)",
            "type": "boolean",
            "description": "For EU trade marks also read EUIPO's own eSearch record: renewal status, basis, fast-track flag and filing method. One extra request per EU mark.",
            "default": false
          },
          "referenceMark": {
            "title": "Your mark (clearance score)",
            "type": "string",
            "description": "A mark you want to clear, e.g. \"NIKO\". Every row gets a similarity score, phonetic match, class overlap and a conflict band (high / medium / low / none)."
          },
          "referenceNiceClasses": {
            "title": "Your Nice classes",
            "type": "array",
            "description": "Classes you intend to use your mark in, e.g. 25, 35. Rows in other classes score lower.",
            "items": {
              "type": "string"
            }
          },
          "monitorMode": {
            "title": "Monitor mode",
            "type": "boolean",
            "description": "Deliver only marks this search has not delivered before, plus marks whose status, registration or expiry date changed (changeType says which). Unchanged marks are skipped and not charged.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional name for the monitor's memory, e.g. \"competitor-filings\". Empty = one memory per distinct search."
          },
          "notifyWebhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "Optional. At the end of a run with results, POSTs JSON {text, runId, marks[]} (first 100 marks) - Slack and Discord incoming webhooks read the text."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Most marks to deliver in the run. One TMview search lists up to 10,000; above that the actor splits the filing-date range to go further. 0 = no limit.",
            "default": 100
          },
          "maxResultsPerSearch": {
            "title": "Max results per search",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Cap for each mark text / owner search. 0 = no per-search cap.",
            "default": 0
          },
          "compact": {
            "title": "Compact rows",
            "type": "boolean",
            "description": "Flat core fields only (no nested owner, representative and proceedings lists) - for spreadsheets and AI tools.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Full records read at once.",
            "default": 6
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "TMview answers a direct connection, so none is needed. If TMview refuses the connection the actor moves on its own to Apify's datacenter and then residential proxy. Your own proxy URLs are tried first.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}