{
  "openapi": "3.0.1",
  "info": {
    "title": "EUIPO EU Trademark Scraper: Owner, Nice Class & Status",
    "description": "Search EU trade marks (EUTM) from the EUIPO register: mark text, application and registration numbers, status, Nice classes, owner company and address, representative contacts, dates, opposition and image. Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "lwKlmuWpaE3TeeGm0"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~euipo-trademarks-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-euipo-trademarks-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/scrapers_lat~euipo-trademarks-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-euipo-trademarks-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/scrapers_lat~euipo-trademarks-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-euipo-trademarks-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": "Search Queries (brand / mark text)",
            "type": "array",
            "description": "One or more brand names or mark texts to search in the EUIPO EU trade mark register. Each value runs its own search and every result is tagged with the query that produced it.",
            "items": {
              "type": "string"
            }
          },
          "applicationNumbers": {
            "title": "Application / Registration Numbers",
            "type": "array",
            "description": "Optional. Look up specific EUTM records directly by application or registration number (e.g. 000218990). Returns the full record without a text search.",
            "items": {
              "type": "string"
            }
          },
          "matchMode": {
            "title": "Match Mode",
            "enum": [
              "C",
              "S",
              "E",
              "F"
            ],
            "type": "string",
            "description": "How the search query is matched against mark text.",
            "default": "C"
          },
          "status": {
            "title": "Status Filter",
            "type": "array",
            "description": "Optional. Keep only trade marks with these statuses. Common values: Registered, Filed, Application published, Application refused, Application withdrawn, Application opposed, Registration cancelled, Expired.",
            "items": {
              "type": "string"
            }
          },
          "niceClasses": {
            "title": "Nice Classes Filter",
            "type": "array",
            "description": "Optional. Keep only trade marks that cover these Nice classification numbers (1-45), e.g. 9, 35, 42.",
            "items": {
              "type": "string"
            }
          },
          "markTypes": {
            "title": "Mark Type Filter",
            "type": "array",
            "description": "Optional. Keep only these mark types. Values: Word, Figurative, Combined, 3-D, Colour, Sound, Hologram, Motion, Multimedia, Pattern, Position, Other.",
            "items": {
              "type": "string"
            }
          },
          "applicantName": {
            "title": "Owner / Applicant Name Contains",
            "type": "string",
            "description": "Optional. Keep only trade marks whose owner (applicant) name contains this text, e.g. Nestle."
          },
          "filingDateFrom": {
            "title": "Filing Date From",
            "type": "string",
            "description": "Optional. Keep only trade marks filed on or after this date (YYYY-MM-DD)."
          },
          "filingDateTo": {
            "title": "Filing Date To",
            "type": "string",
            "description": "Optional. Keep only trade marks filed on or before this date (YYYY-MM-DD)."
          },
          "registrationDateFrom": {
            "title": "Registration Date From",
            "type": "string",
            "description": "Optional. Keep only trade marks registered on or after this date (YYYY-MM-DD)."
          },
          "registrationDateTo": {
            "title": "Registration Date To",
            "type": "string",
            "description": "Optional. Keep only trade marks registered on or before this date (YYYY-MM-DD)."
          },
          "enrichDetails": {
            "title": "Enrich With Owner & Representative Details",
            "type": "boolean",
            "description": "Fetch the full record for every trade mark: owner company address, representative email and phone, goods & services, figurative image URL and opposition status. Turn off for a faster, lighter run.",
            "default": true
          },
          "maxTrademarks": {
            "title": "Max Trademarks To Scrape",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of trade marks to return across all queries.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}