{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Patents Search Scraper",
    "description": "Search Google Patents by keyword, inventor, assignee, office, date range or grant status and get one row per patent: number, title, assignee, inventor, all four dates, legal status and links. No API key, no browser.",
    "version": "0.1",
    "x-build-id": "tI3vEsUQcmrLdTkDM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dami_studio~google-patents-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dami_studio-google-patents-search-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/dami_studio~google-patents-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dami_studio-google-patents-search-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/dami_studio~google-patents-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dami_studio-google-patents-search-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": {
          "queries": {
            "title": "Search terms",
            "minItems": 0,
            "maxItems": 20,
            "type": "array",
            "description": "Keywords, quoted phrases or a CPC classification code. Each term is searched separately, one row per patent. Quoted phrases work (\"solid state battery\"), and so does a classification code on its own (H01M10/0525). Up to 20 terms per run.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum patents",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Total rows across every search in the run. The budget is split evenly between your searches, so four terms and 400 rows gives you 100 of each. Google hands over at most 1,000 results for any single search, whatever the match count says. Keep this low while you are testing, you pay per row."
          },
          "inventor": {
            "title": "Inventor",
            "type": "string",
            "description": "An inventor's name, as it appears on the patent. Works on its own or alongside search terms. Leave empty to search everyone."
          },
          "assignee": {
            "title": "Assignee",
            "type": "string",
            "description": "The company or institution the patent is assigned to. Works on its own or alongside search terms. Leave empty to search everyone."
          },
          "countries": {
            "title": "Patent offices",
            "minItems": 0,
            "maxItems": 60,
            "type": "array",
            "description": "Restrict results to these offices. Two-letter codes: US, EP (European Patent Office), WO (WIPO/PCT), CN, JP, KR, DE, GB, FR, CA, AU, IN and about forty more. Leave empty for every office.",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Grant status",
            "enum": [
              "",
              "GRANT",
              "APPLICATION"
            ],
            "type": "string",
            "description": "Granted patents only, pending applications only, or both."
          },
          "patentType": {
            "title": "Patent type",
            "enum": [
              "",
              "PATENT",
              "DESIGN"
            ],
            "type": "string",
            "description": "Utility patents, design patents, or both."
          },
          "language": {
            "title": "Language",
            "enum": [
              "",
              "ENGLISH",
              "GERMAN",
              "CHINESE",
              "FRENCH",
              "SPANISH",
              "ARABIC",
              "JAPANESE",
              "KOREAN",
              "PORTUGUESE",
              "RUSSIAN",
              "ITALIAN",
              "DUTCH",
              "SWEDISH",
              "FINNISH",
              "NORWEGIAN",
              "DANISH"
            ],
            "type": "string",
            "description": "Restrict to patents filed in one language. Leave empty for all languages."
          },
          "dateType": {
            "title": "Which date to filter on",
            "enum": [
              "priority",
              "filing",
              "publication"
            ],
            "type": "string",
            "description": "Patents carry several dates and they can be years apart. Priority is when the idea was first claimed anywhere, filing is when this application was lodged, publication is when it became public."
          },
          "dateFrom": {
            "title": "From",
            "type": "string",
            "description": "Earliest date to include, as 2020-01-01. A year on its own (2020) means 1 January of that year. Leave empty for no lower bound."
          },
          "dateTo": {
            "title": "To",
            "type": "string",
            "description": "Latest date to include, as 2024-12-31. Leave empty for no upper bound."
          },
          "onlyLitigated": {
            "title": "Only patents that have been litigated",
            "type": "boolean",
            "description": "Return only patents Google has a court record for. Useful when you are looking at enforcement rather than coverage."
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "new",
              "old"
            ],
            "type": "string",
            "description": "Relevance is Google's own ranking. Newest and oldest sort by date instead, which changes which 1,000 results you get on a broad search."
          },
          "searchUrls": {
            "title": "Google Patents search URLs",
            "minItems": 0,
            "maxItems": 20,
            "type": "array",
            "description": "Build the search on patents.google.com until the results look right, then paste the address bar here. The URL's own filters are used exactly as they are, and the fields above are ignored for it. Up to 20 per run.",
            "items": {
              "type": "string"
            }
          },
          "proxyUrls": {
            "title": "Your own proxy servers (optional)",
            "minItems": 0,
            "maxItems": 50,
            "type": "array",
            "description": "Leave this empty. By default the run rotates a large pool of addresses that cost you nothing per gigabyte. Fill it in only if you specifically want the traffic to leave through proxy servers you already pay for, in the form http://user:pass@host:port.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}