{
  "openapi": "3.0.1",
  "info": {
    "title": "Canada CIPO Trademarks Scraper: Owner, Agent & Status",
    "description": "Search the Canadian Trademarks Database (CIPO): mark, application and registration numbers, status, Nice classes, goods and services, owner company and full address, agent, dates and image. Filter by mark, owner, number, Nice class, status or date. Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "Laa2senSbfQTs022s"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~canada-cipo-ip-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-canada-cipo-ip-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~canada-cipo-ip-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-canada-cipo-ip-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~canada-cipo-ip-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-canada-cipo-ip-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 (mark / owner / keyword)",
            "type": "array",
            "description": "One or more terms to search in the Canadian Trademarks Database. Each value runs its own search and every result is tagged with the query that produced it.",
            "items": {
              "type": "string"
            }
          },
          "searchField": {
            "title": "Search Field",
            "enum": [
              "all",
              "mark",
              "ownerName",
              "applicationNumber",
              "registrationNumber"
            ],
            "type": "string",
            "description": "Which field the search queries are matched against.",
            "default": "all"
          },
          "applicationNumbers": {
            "title": "Application Numbers",
            "type": "array",
            "description": "Optional. Look up specific trademarks directly by application number (e.g. 2224408).",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Status Filter",
            "type": "array",
            "description": "Optional. Keep only trademarks whose status contains one of these terms. Common values: Registered, Pending, Abandoned, Expunged, Formalized, Opposed.",
            "items": {
              "type": "string"
            }
          },
          "niceClasses": {
            "title": "Nice Classes Filter",
            "type": "array",
            "description": "Optional. Keep only trademarks that cover these Nice classification numbers (1-45), e.g. 9, 35, 42.",
            "items": {
              "type": "string"
            }
          },
          "ownerName": {
            "title": "Owner Name Contains",
            "type": "string",
            "description": "Optional. Keep only trademarks whose owner name contains this text, e.g. Shopify."
          },
          "filingDateFrom": {
            "title": "Filing Date From",
            "type": "string",
            "description": "Optional. Keep only trademarks filed on or after this date (YYYY-MM-DD)."
          },
          "filingDateTo": {
            "title": "Filing Date To",
            "type": "string",
            "description": "Optional. Keep only trademarks filed on or before this date (YYYY-MM-DD)."
          },
          "registrationDateFrom": {
            "title": "Registration Date From",
            "type": "string",
            "description": "Optional. Keep only trademarks registered on or after this date (YYYY-MM-DD)."
          },
          "registrationDateTo": {
            "title": "Registration Date To",
            "type": "string",
            "description": "Optional. Keep only trademarks registered on or before this date (YYYY-MM-DD)."
          },
          "enrichDetails": {
            "title": "Enrich With Owner, Agent & Goods Details",
            "type": "boolean",
            "description": "Fetch the full record for every trademark: owner company full address, agent, goods & services and all dates. Turn off for a faster, lighter run (mark, number, status, Nice classes and image only).",
            "default": true
          },
          "maxTrademarks": {
            "title": "Max Trademarks To Scrape",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of trademarks 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}