{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Patents Intelligence",
    "description": "Scrapes patents from Google Patents (USPTO, EPO, WIPO, JPO, CN, KR, and 100+ offices) with rich factual output: citations, classifications, assignees, inventors, claims count. Modes: keyword search, by-assignee, by-inventor, patent details, and incremental monitoring for scheduled alerts.",
    "version": "1.0",
    "x-build-id": "dBEFKpKGCD7OdaGUN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/constructive_calm~google-patents-intelligence/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-constructive_calm-google-patents-intelligence",
        "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/constructive_calm~google-patents-intelligence/runs": {
      "post": {
        "operationId": "runs-sync-constructive_calm-google-patents-intelligence",
        "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/constructive_calm~google-patents-intelligence/run-sync": {
      "post": {
        "operationId": "run-sync-constructive_calm-google-patents-intelligence",
        "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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "by_assignee",
              "by_inventor",
              "details",
              "monitor"
            ],
            "type": "string",
            "description": "'search' runs a keyword query. 'by_assignee' pulls all patents owned by one or more companies. 'by_inventor' pulls all patents by an inventor. 'details' fetches full data for specific patent numbers. 'monitor' runs any of the search modes in incremental mode (emits only new hits since the last run).",
            "default": "search"
          },
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "Keyword or phrase to search. Supports Google Patents operators: quotes for exact phrases, AND/OR, minus for exclusion, parenthesized groups. Used in 'search' and 'monitor' modes. Example: \"quantum computing\" AND (qubit OR superconducting).",
            "default": ""
          },
          "assignees": {
            "title": "Assignee companies",
            "type": "array",
            "description": "List of assignee (company) names. Used in 'by_assignee' mode. Google normalizes these (e.g., 'Apple Inc' matches 'Apple Inc.').",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "inventors": {
            "title": "Inventor names",
            "type": "array",
            "description": "List of inventor names. Used in 'by_inventor' mode.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "patentIds": {
            "title": "Patent IDs",
            "type": "array",
            "description": "List of patent publication numbers to fetch in 'details' mode (e.g., US10000000B2, EP1234567A1, WO2021123456A1).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Country filter",
            "type": "array",
            "description": "Restrict results to patent offices by 2-letter country code. Examples: US (USPTO), EP (EPO), WO (WIPO), JP (Japan), CN (China), KR (Korea), DE, GB, FR. Empty = all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "statusFilter": {
            "title": "Legal status filter",
            "enum": [
              "any",
              "granted",
              "application",
              "expired"
            ],
            "type": "string",
            "description": "Filter by legal status.",
            "default": "any"
          },
          "dateFrom": {
            "title": "Filing date from",
            "type": "string",
            "description": "Only include patents filed on or after this date (YYYY-MM-DD). Leave empty for no floor.",
            "default": ""
          },
          "dateTo": {
            "title": "Filing date to",
            "type": "string",
            "description": "Only include patents filed on or before this date (YYYY-MM-DD). Leave empty for no ceiling.",
            "default": ""
          },
          "enrichmentDepth": {
            "title": "Enrichment depth",
            "enum": [
              "basic",
              "deep"
            ],
            "type": "string",
            "description": "'basic' uses only the search-result fields (title, abstract snippet, patent ID, publication date, assignee). 'deep' follows each result to its Google Patents detail page for the full field set: full abstract, claims count, all inventors, backward/forward citations, CPC classifications, legal status, family ID, PDF URL. Deep is 4x the price but 5x the data value.",
            "default": "deep"
          },
          "incrementalMode": {
            "title": "Incremental mode (alerts)",
            "type": "boolean",
            "description": "If enabled, remember seen patent IDs and only emit new ones on subsequent runs. Ideal for scheduled daily/weekly alerts.",
            "default": false
          },
          "maxResults": {
            "title": "Max results per run",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Hard cap on patents emitted in one run. Google Patents caps search at 10,000 results per query.",
            "default": 100
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Google Patents rate-limits Apify cloud egress IPs on filtered/complex search queries (returns HTTP 500 'Sorry...'). Enable Apify Proxy to rotate IPs and dodge the block. Default is enabled with the user's auto-selected datacenter group (cheap, fast, usually enough). Add 'RESIDENTIAL' to apifyProxyGroups for higher reliability at ~10x bandwidth cost. If you only run simple search or details mode, you can disable this.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}