{
  "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": "iBwodkp8eGpoMqSkl"
  },
  "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. In by_assignee mode each company is queried separately and maxResults is shared between them. In search / monitor mode all names are sent together (any of them). Google normalizes these (e.g., 'Apple Inc' matches 'Apple Inc.'); commas inside a name are ignored.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "inventors": {
            "title": "Inventor names",
            "type": "array",
            "description": "List of inventor names. In by_inventor mode each name is queried separately and maxResults is shared between them; in search / monitor mode all names are sent together (any of them).",
            "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. Granted / Application use Google Patents' own filter. Expired only works with enrichmentDepth \"deep\": Google has no expired filter, so the actor requests granted patents and keeps those whose legal status on the detail page is Expired.",
            "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. Results are taken newest-filing first. The FIRST run for a given input records what already exists as a baseline (nothing emitted or charged) unless \"Backfill on first run\" is on.",
            "default": false
          },
          "monitorBackfill": {
            "title": "Backfill on first run",
            "type": "boolean",
            "description": "Incremental / monitor mode only. Off (default): the first run records existing patents as a baseline and emits nothing; later runs emit only new filings. On: the first run emits (and charges for) up to maxResults existing patents.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}