{
  "openapi": "3.0.1",
  "info": {
    "title": "📜 USPTO Patent Grants Tracker — IP & Competitive Intelligence",
    "description": "Track newly granted US patents from the USPTO with title, assignee, inventors, CPC classes, claims and citation counts, AI/software flags, PDF and Google Patents URLs. IP, legal, M&A and competitive intelligence. Filter by keywords, assignee, CPC, date range, AI-only.",
    "version": "0.0",
    "x-build-id": "QPkSEm1kI1qkB5eZc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nexgendata~uspto-patent-grants/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nexgendata-uspto-patent-grants",
        "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/nexgendata~uspto-patent-grants/runs": {
      "post": {
        "operationId": "runs-sync-nexgendata-uspto-patent-grants",
        "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/nexgendata~uspto-patent-grants/run-sync": {
      "post": {
        "operationId": "run-sync-nexgendata-uspto-patent-grants",
        "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": {
          "keywords": {
            "title": "Keyword search terms",
            "type": "array",
            "description": "Free-text keywords to search across patent title + abstract. Each keyword becomes an OR clause. Examples: ['machine learning'], ['neural network', 'transformer'], ['CRISPR', 'gene editing'], ['battery', 'lithium-ion']. Leave empty to pull all newly granted patents in the date window (use date_range + cpc_class to narrow). Multi-word phrases are treated as exact phrases.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "assignee_name": {
            "title": "Assignee company filter (optional)",
            "type": "string",
            "description": "Restrict results to patents granted to a specific assignee (company / institution). Matches partial names, case-insensitive. Examples: 'Apple', 'Google', 'NVIDIA', 'IBM', 'MIT', 'Stanford'. Leave blank to include all assignees. Useful for competitive intelligence — monitor a specific competitor's filing cadence.",
            "default": ""
          },
          "date_range": {
            "title": "Grant date range",
            "enum": [
              "today",
              "week",
              "month",
              "year",
              "all"
            ],
            "type": "string",
            "description": "Filter by USPTO grant date (the date the patent was officially issued, not the application or priority date). 'today' = patents granted today only (USPTO publishes grants every Tuesday); 'week' = trailing 7 days; 'month' = trailing 30 days; 'year' = trailing 365 days; 'all' = no date filter (search the full Google Patents index).",
            "default": "month"
          },
          "cpc_class": {
            "title": "CPC class filter (optional)",
            "type": "string",
            "description": "Cooperative Patent Classification (CPC) symbol to filter by. Use either the 1-letter section (e.g. 'G' = Physics / G06 = Computing), the 4-character class (e.g. 'G06N' = AI/ML systems, 'H04L' = digital comms, 'A61K' = pharma compositions), or a full subgroup (e.g. 'G06N3/08' = neural-net learning methods). See cpc-tooltip below. Leave blank for any class.",
            "default": ""
          },
          "ai_only": {
            "title": "AI / machine-learning patents only",
            "type": "boolean",
            "description": "If true, return only patents flagged as AI / ML related. We mark a patent AI-related when its title or abstract contains terms like 'machine learning', 'neural network', 'deep learning', 'transformer', 'reinforcement learning', 'LLM', 'large language model', 'generative AI', 'natural language processing', 'computer vision', or when its CPC code is G06N (Computing arrangements based on specific computational models). Useful for AI VCs, AI M&A diligence, and competitive intelligence on AI labs.",
            "default": false
          },
          "limit": {
            "title": "Max patent records to return",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum number of patent grant records to push to the dataset. The Google Patents result page returns up to 100 patents per page; we'll auto-paginate to satisfy your limit. Typical IP-monitoring workflows pull 50-500 records per refresh. For a full daily competitive-intel sweep set to 1000+.",
            "default": 50
          },
          "enrich_details": {
            "title": "Enrich with detail-page data (claims, CPC, citations)",
            "type": "boolean",
            "description": "If true, fetches each patent's detail page after the search to populate claims_count, full CPC class list, citations_count and a longer abstract excerpt. Doubles run time (one extra HTTP request per patent) but produces a far richer record. Recommended for IP / legal due-diligence workflows. If false, only fields available from the search-results JSON are emitted.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}