{
  "openapi": "3.0.1",
  "info": {
    "title": "USPTO Trademark Status Scraper - Classes & Owner",
    "description": "Look up USPTO trademark status by serial or registration number: mark, filing and status dates, registered classes, owner, attorney of record and prosecution history documents. Export CSV, Excel, JSON. No login or API key. Tested: 10 marks with extras in 29 seconds.",
    "version": "0.1",
    "x-build-id": "cKk3V6gXRQb8DWZk2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~uspto-trademark-status-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-uspto-trademark-status-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/recordsdata~uspto-trademark-status-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-uspto-trademark-status-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/recordsdata~uspto-trademark-status-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-uspto-trademark-status-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": {
          "numbers": {
            "title": "Serial or registration numbers",
            "type": "array",
            "description": "USPTO trademark serial numbers (e.g. 88888888) or registration numbers. Prefix with 'rn' (for example rn4671942) for a registration number, otherwise the value is treated as a serial number. Duplicates are removed. Numbers that do not exist return an uncharged error row. The sample serial 88888888 is ignored when you fill a search field below.",
            "default": [
              "88888888"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: limited to 10 items (preview). Paid users: optional, max 1,000,000. Bounds the primary trademark-record event only, for number lookups and searches together."
          },
          "searchTerms": {
            "title": "Mark text (one search per entry)",
            "type": "array",
            "description": "Words to look for in the mark text, for example nike or air max. Each entry is its own search, results are merged and duplicates removed. Matching follows 'Mark text match' below.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "markMatch": {
            "title": "Mark text match",
            "enum": [
              "phrase",
              "all-words",
              "exact"
            ],
            "type": "string",
            "description": "phrase = the words appear in this order inside the mark (default). all-words = every word appears, any order. exact = the whole mark equals your text, ignoring case.",
            "default": "phrase"
          },
          "ownerName": {
            "title": "Owner name",
            "type": "string",
            "description": "Owner (applicant or registrant) name as registered, for example 'Nike, Inc.'. Every word must appear in the owner name. Can be combined with mark text, classes, status and dates.",
            "default": ""
          },
          "niceClasses": {
            "title": "Nice classes",
            "type": "array",
            "description": "International (Nice) classes from 1 to 45, for example 9 for software, 25 for clothing, 35 for business services. A mark matches when it is registered in any of the listed classes.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "statusFilter": {
            "title": "Status",
            "enum": [
              "any",
              "live",
              "dead"
            ],
            "type": "string",
            "description": "live = pending or registered marks, dead = abandoned, cancelled or expired marks, any = both. Uses the live flag of the USPTO search index.",
            "default": "any"
          },
          "filedFrom": {
            "title": "Filed on or after",
            "type": "string",
            "description": "First filing date to include, format YYYY-MM-DD, for example 2025-01-01. Leave empty for no lower limit.",
            "default": ""
          },
          "filedTo": {
            "title": "Filed on or before",
            "type": "string",
            "description": "Last filing date to include, format YYYY-MM-DD, for example 2025-12-31. Leave empty for no upper limit.",
            "default": ""
          },
          "includeClasses": {
            "title": "Classes",
            "type": "boolean",
            "description": "One row per registered International/U.S. class (a mark can hold more than one), with the goods and services text and first-use dates.",
            "default": false
          },
          "includeOwner": {
            "title": "Owner",
            "type": "boolean",
            "description": "Owner name, address, and legal entity type. Also saves an OWNER-PORTFOLIO record (marks per owner in this run) in the key-value store.",
            "default": false
          },
          "includeAttorney": {
            "title": "Attorney & correspondent",
            "type": "boolean",
            "description": "Attorney of record and correspondent contact info. Also saves an ATTORNEY-PORTFOLIO record (marks per attorney in this run) in the key-value store.",
            "default": false
          },
          "includeDocuments": {
            "title": "Prosecution history documents",
            "type": "boolean",
            "description": "Full file wrapper history, one row per document (application, office actions, notice of allowance, publication, abandonment, etc.), with description, date, page count and download links.",
            "default": false
          },
          "onlyChanged": {
            "title": "Only new or changed marks",
            "type": "boolean",
            "description": "Deliver a mark only when it is new for this monitor key or its status or status date changed. Unchanged marks are skipped and not charged. Works for numbers and for searches.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "A name for this watch list, for example my-brand-watch. Runs that use the same key share one stored baseline in your account. Leave empty to use the shared default key.",
            "default": ""
          },
          "resetMonitor": {
            "title": "Reset the monitor baseline",
            "type": "boolean",
            "description": "Forget everything stored for this monitor key before the run, so every mark is delivered again as new.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}