{
  "openapi": "3.0.1",
  "info": {
    "title": "USPTO Trademark Search API: Bulk Name Availability Check",
    "description": "Check hundreds of brand names against official USPTO trademark data in one run: exact, sound-alike and contains matches with owner, Nice classes, status, dates, goods/services and a conflict risk flag. Filter by class and live/dead. $0.01 per name.",
    "version": "0.1",
    "x-build-id": "6vZlsnqwl2gzcCSC5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/hanielazevedo~uspto-trademark-bulk-check/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-hanielazevedo-uspto-trademark-bulk-check",
        "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/hanielazevedo~uspto-trademark-bulk-check/runs": {
      "post": {
        "operationId": "runs-sync-hanielazevedo-uspto-trademark-bulk-check",
        "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/hanielazevedo~uspto-trademark-bulk-check/run-sync": {
      "post": {
        "operationId": "run-sync-hanielazevedo-uspto-trademark-bulk-check",
        "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": {
          "terms": {
            "title": "Brand names / phrases",
            "type": "array",
            "description": "One name, word or phrase per line (up to 10,000 per run, 120 characters each). Each unique name costs one 'term-checked' event, whether or not anything matches. Blank or symbol-only entries are reported as invalid and are free. Duplicates (same letters and digits) are checked once.",
            "items": {
              "type": "string"
            }
          },
          "serialNumbers": {
            "title": "Serial numbers (optional)",
            "type": "array",
            "description": "USPTO application serial numbers to look up directly, e.g. 72414176 (8 digits). Each valid number costs one 'term-checked' event; malformed numbers are free.",
            "items": {
              "type": "string"
            }
          },
          "registrationNumbers": {
            "title": "Registration numbers (optional)",
            "type": "array",
            "description": "USPTO registration numbers to look up directly, e.g. 978952 (1-7 digits). Each valid number costs one 'term-checked' event; malformed numbers are free.",
            "items": {
              "type": "string"
            }
          },
          "niceClasses": {
            "title": "Nice classes",
            "type": "array",
            "description": "Only return marks in these international (Nice) classes, 1-45, e.g. 25 for clothing, 9 for software, 35 for retail. Leave empty for all classes. Old marks with only US classes are always included. The risk flag is 'high' only when an exact live mark exists in one of these classes.",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Live / dead",
            "enum": [
              "live",
              "dead",
              "all"
            ],
            "type": "string",
            "description": "Which marks to return. The risk flag is always based on live marks.",
            "default": "live"
          },
          "matchTypes": {
            "title": "Match types",
            "type": "array",
            "description": "Which kinds of matches to return. Exact ignores case, spaces and punctuation. Phonetic uses a sound-alike key plus a similarity check. Contains finds marks that include every word of your term.",
            "items": {
              "type": "string",
              "enum": [
                "exact",
                "phonetic",
                "contains"
              ],
              "enumTitles": [
                "Exact (same letters and digits)",
                "Phonetic (sounds alike, e.g. Nyke)",
                "Contains (all words appear, e.g. Nike Air)"
              ]
            },
            "default": [
              "exact",
              "phonetic",
              "contains"
            ]
          },
          "maxResultsPerTerm": {
            "title": "Max matches per term",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum matches listed per term, best first (exact, then phonetic, then contains; live before dead; your classes first). Match counts always reflect all matches found. The price is per term, not per match.",
            "default": 20
          },
          "includeGoodsServices": {
            "title": "Include goods/services snippet",
            "type": "boolean",
            "description": "Add the first ~250 characters of each live mark's goods/services description.",
            "default": true
          },
          "usptoApiKey": {
            "title": "Your USPTO API key (optional)",
            "type": "string",
            "description": "Optional. The bundled index is refreshed regularly from USPTO bulk data (the date is in every result as 'dataThrough'). Add your own free USPTO Open Data Portal key (https://data.uspto.gov/apis/getting-started) to also apply the newest daily USPTO files in your run. Adds ~10-60 s; no extra charge. The key is used only for your run and never stored or shown."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}