{
  "openapi": "3.0.1",
  "info": {
    "title": "USPTO Trademark Search API, Scraper & New Filing Monitor",
    "description": "For brand clearance, trademark watch and competitor filings: USPTO trademarks as an API, one row per mark with serial number, mark, status, owner, classes, goods and services, dates. Search by mark text, owner, live/dead and class. Trademark monitoring returns only new filings and status changes.",
    "version": "0.1",
    "x-build-id": "3aaJv62E5QAzftFPL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverempty~uspto-trademark-search-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverempty-uspto-trademark-search-monitor",
        "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/neverempty~uspto-trademark-search-monitor/runs": {
      "post": {
        "operationId": "runs-sync-neverempty-uspto-trademark-search-monitor",
        "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/neverempty~uspto-trademark-search-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-neverempty-uspto-trademark-search-monitor",
        "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": {
          "markText": {
            "title": "Mark text (trademark name)",
            "type": "string",
            "description": "Words of the trademark to search for, for example a brand name. Uses the word-mark field of the USPTO search: trademarks that match every word you give are returned, and an exact phrase match ranks first. Not case-sensitive. The USPTO field also matches pseudo marks and some translated or transliterated marks, so a few rows may not show the word in markText. Leave empty to search by owner or class only."
          },
          "ownerName": {
            "title": "Owner (applicant) name",
            "type": "string",
            "description": "Name of the owner or applicant, for example Fluid Research Corporation. Trademarks with an owner whose name contains these words as a phrase (same order, not case-sensitive) are returned. Leave empty to search by mark text or class only."
          },
          "status": {
            "title": "Status",
            "enum": [
              "all",
              "live",
              "dead"
            ],
            "type": "string",
            "description": "Live or dead as the USPTO marks the record.",
            "default": "all"
          },
          "internationalClasses": {
            "title": "International classes",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only trademarks filed in at least one of these international (Nice) classes, 1 to 45. Leave empty for every class.",
            "items": {
              "type": "string",
              "enum": [
                "001",
                "002",
                "003",
                "004",
                "005",
                "006",
                "007",
                "008",
                "009",
                "010",
                "011",
                "012",
                "013",
                "014",
                "015",
                "016",
                "017",
                "018",
                "019",
                "020",
                "021",
                "022",
                "023",
                "024",
                "025",
                "026",
                "027",
                "028",
                "029",
                "030",
                "031",
                "032",
                "033",
                "034",
                "035",
                "036",
                "037",
                "038",
                "039",
                "040",
                "041",
                "042",
                "043",
                "044",
                "045"
              ],
              "enumTitles": [
                "Class 1",
                "Class 2",
                "Class 3",
                "Class 4",
                "Class 5",
                "Class 6",
                "Class 7",
                "Class 8",
                "Class 9",
                "Class 10",
                "Class 11",
                "Class 12",
                "Class 13",
                "Class 14",
                "Class 15",
                "Class 16",
                "Class 17",
                "Class 18",
                "Class 19",
                "Class 20",
                "Class 21",
                "Class 22",
                "Class 23",
                "Class 24",
                "Class 25",
                "Class 26",
                "Class 27",
                "Class 28",
                "Class 29",
                "Class 30",
                "Class 31",
                "Class 32",
                "Class 33",
                "Class 34",
                "Class 35",
                "Class 36",
                "Class 37",
                "Class 38",
                "Class 39",
                "Class 40",
                "Class 41",
                "Class 42",
                "Class 43",
                "Class 44",
                "Class 45"
              ]
            }
          },
          "filedAfter": {
            "title": "Filed on or after",
            "type": "string",
            "description": "Keep only trademarks with a filing date on or after this date (YYYY-MM-DD)."
          },
          "sortBy": {
            "title": "Order of the rows",
            "enum": [
              "relevance",
              "newest"
            ],
            "type": "string",
            "description": "Used with monitoring off. A search without mark text and owner name is always ordered by filing date. Monitoring always reads the newest filings first.",
            "default": "relevance"
          },
          "maxResults": {
            "title": "Maximum trademarks to return",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "With monitoring off, at most this many trademark rows are returned (up to 1,000 per run). Each row is charged; trademarks that are not returned are not read and not charged. Not applied in monitoring mode, where every new or changed trademark is returned.",
            "default": 100
          },
          "monitoringMode": {
            "title": "Monitoring mode: return only new filings and status changes",
            "type": "boolean",
            "description": "Remembers the trademarks of this search between runs. The first run of a search only remembers the trademarks that match now and their status: nothing is returned and nothing is charged. Later runs of the same search return only trademarks that are new in the search (change: new) and trademarks whose USPTO status code changed (change: status-changed, with the previous code). A run that finds nothing new is charged one monitoring check (search-checked) and returns no trademark row. Up to 2,000 trademarks per search are watched, newest filing dates first. Trademarks are remembered per search (mark text, owner, status, classes, filed-after). Do not run two schedules with the same search at the same moment.",
            "default": false
          },
          "resetMonitoringState": {
            "title": "Forget the remembered trademarks and start over",
            "type": "boolean",
            "description": "Clears everything remembered for this Actor on your account (for every search) before this run reads anything, so with monitoring on this run is a first run again. Use it for one run and turn it off again.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}