{
  "data": {
    "id": "N7bSR7wWMs9dxceBg",
    "actId": "qGwyVKXBvzDrcnIAf",
    "userId": "zq8lKbpLzTjGDayPC",
    "startedAt": "2026-10-24T18:23:54.492Z",
    "finishedAt": "2026-10-24T18:23:58.698Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 4121,
      "runTimeSecs": 4.121,
      "computeUnits": 0.004578888888888889,
      "imageSizeBytes": 356297728
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "GK9YjZRyQZVzOdoH5",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Google Patents Scraper Input\",\n  \"description\": \"Search Google Patents or fetch full patent records. Pick a mode and fill the matching fields.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"description\": \"Which lookup path to use.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"searchPatents\",\n        \"byPatent\",\n        \"byInventor\",\n        \"byAssignee\",\n        \"byClassification\",\n        \"byCitation\",\n        \"byFamily\",\n        \"byUrl\"\n      ],\n      \"enumTitles\": [\n        \"Search by keyword and filters\",\n        \"Lookup publication numbers\",\n        \"Inventor portfolio\",\n        \"Assignee / company portfolio\",\n        \"CPC classification search\",\n        \"Citation graph (1-3 hops)\",\n        \"Patent family members\",\n        \"Paste Google Patents URLs\"\n      ],\n      \"default\": \"searchPatents\",\n      \"prefill\": \"searchPatents\"\n    },\n    \"searchQueries\": {\n      \"title\": \"Search queries\",\n      \"type\": \"array\",\n      \"description\": \"One or more keyword queries. Google Patents syntax works: quoted phrases, OR, minus, TI=(title words), CL=(claim words), CPC=H04L9/06.\",\n      \"editor\": \"stringList\",\n      \"default\": [\n        \"quantum computing\"\n      ],\n      \"prefill\": [\n        \"quantum computing\"\n      ]\n    },\n    \"publicationNumbers\": {\n      \"title\": \"Publication numbers\",\n      \"type\": \"array\",\n      \"description\": \"Publication numbers such as US11704715B2, EP3789012A1, WO2020012345A1. Used by byPatent, byCitation and byFamily.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"inventors\": {\n      \"title\": \"Inventors\",\n      \"type\": \"array\",\n      \"description\": \"Inventor names. The actor runs one search per name.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"assignees\": {\n      \"title\": \"Assignees / companies\",\n      \"type\": \"array\",\n      \"description\": \"Assignee or applicant names. The actor runs one search per name.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"classifications\": {\n      \"title\": \"CPC classifications\",\n      \"type\": \"array\",\n      \"description\": \"CPC codes or prefixes such as H04L9/06, G06N3/00, H01M10. Combined with a keyword query when both are set.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"urls\": {\n      \"title\": \"Google Patents URLs\",\n      \"type\": \"array\",\n      \"description\": \"Patent pages (/patent/US.../en) or search pages (/?q=...&assignee=...&country=...). All search filters in the URL are honoured.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"countryCodes\": {\n      \"title\": \"Patent offices\",\n      \"type\": \"array\",\n      \"description\": \"Two-letter office codes: US, EP, WO, JP, CN, KR, DE, GB, FR, CA, AU, IN and more. Empty means all offices.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"documentLanguages\": {\n      \"title\": \"Document languages\",\n      \"type\": \"array\",\n      \"description\": \"Original publication languages: ENGLISH, GERMAN, FRENCH, SPANISH, JAPANESE, KOREAN, CHINESE, RUSSIAN, PORTUGUESE, ITALIAN, ARABIC, DUTCH, SWEDISH, FINNISH, NORWEGIAN, DANISH. This filters documents; it does not translate them.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"detailLanguage\": {\n      \"title\": \"Detail page language\",\n      \"type\": \"string\",\n      \"description\": \"Language of the patent page text. Google translates where available.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"en\",\n        \"de\",\n        \"fr\",\n        \"es\",\n        \"ja\",\n        \"ko\",\n        \"zh\",\n        \"ru\",\n        \"pt\",\n        \"it\",\n        \"ar\",\n        \"nl\",\n        \"sv\",\n        \"fi\",\n        \"no\",\n        \"da\"\n      ],\n      \"enumTitles\": [\n        \"English\",\n        \"German\",\n        \"French\",\n        \"Spanish\",\n        \"Japanese\",\n        \"Korean\",\n        \"Chinese\",\n        \"Russian\",\n        \"Portuguese\",\n        \"Italian\",\n        \"Arabic\",\n        \"Dutch\",\n        \"Swedish\",\n        \"Finnish\",\n        \"Norwegian\",\n        \"Danish\"\n      ],\n      \"default\": \"en\",\n      \"prefill\": \"en\"\n    },\n    \"status\": {\n      \"title\": \"Grant status\",\n      \"type\": \"string\",\n      \"description\": \"Any status, granted patents only, or published applications only.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"ANY\",\n        \"GRANT\",\n        \"APPLICATION\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Granted only\",\n        \"Applications only\"\n      ],\n      \"default\": \"ANY\",\n      \"prefill\": \"ANY\"\n    },\n    \"patentType\": {\n      \"title\": \"Patent type\",\n      \"type\": \"string\",\n      \"description\": \"Utility-style patents or design patents.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"ANY\",\n        \"PATENT\",\n        \"DESIGN\"\n      ],\n      \"enumTitles\": [\n        \"Any type\",\n        \"Patent\",\n        \"Design\"\n      ],\n      \"default\": \"ANY\",\n      \"prefill\": \"ANY\"\n    },\n    \"dateType\": {\n      \"title\": \"Date field\",\n      \"type\": \"string\",\n      \"description\": \"Which date the From and To fields apply to.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"priority\",\n        \"filing\",\n        \"publication\"\n      ],\n      \"enumTitles\": [\n        \"Priority date\",\n        \"Filing date\",\n        \"Publication date\"\n      ],\n      \"default\": \"priority\",\n      \"prefill\": \"priority\"\n    },\n    \"dateFrom\": {\n      \"title\": \"Date from (YYYY-MM-DD)\",\n      \"type\": \"string\",\n      \"description\": \"Earliest date, inclusive. Leave empty for no lower bound.\",\n      \"editor\": \"textfield\",\n      \"default\": \"\"\n    },\n    \"dateTo\": {\n      \"title\": \"Date to (YYYY-MM-DD)\",\n      \"type\": \"string\",\n      \"description\": \"Latest date, inclusive. Leave empty for no upper bound.\",\n      \"editor\": \"textfield\",\n      \"default\": \"\"\n    },\n    \"sortBy\": {\n      \"title\": \"Sort order\",\n      \"type\": \"string\",\n      \"description\": \"Google's relevance, newest first, or oldest first.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"relevance\",\n        \"new\",\n        \"old\"\n      ],\n      \"enumTitles\": [\n        \"Relevance\",\n        \"Newest first\",\n        \"Oldest first\"\n      ],\n      \"default\": \"relevance\",\n      \"prefill\": \"relevance\"\n    },\n    \"grouping\": {\n      \"title\": \"Result grouping\",\n      \"type\": \"string\",\n      \"description\": \"One row per patent family (Google's default) or one row per publication.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"family\",\n        \"publication\"\n      ],\n      \"enumTitles\": [\n        \"One row per family\",\n        \"One row per publication\"\n      ],\n      \"default\": \"family\",\n      \"prefill\": \"family\"\n    },\n    \"includeSimilar\": {\n      \"title\": \"Include similar documents\",\n      \"type\": \"boolean\",\n      \"description\": \"Google mixes similar documents into search results. Keep them (label matchType=similar) or drop them.\",\n      \"editor\": \"checkbox\",\n      \"default\": true,\n      \"prefill\": true\n    },\n    \"includeNonPatentLiterature\": {\n      \"title\": \"Include non-patent literature\",\n      \"type\": \"boolean\",\n      \"description\": \"Also return Google Scholar non-patent literature rows for each keyword query.\",\n      \"editor\": \"checkbox\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"litigation\": {\n      \"title\": \"Litigation filter\",\n      \"type\": \"string\",\n      \"description\": \"Only patents with related litigation, only patents with no known litigation, or any.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"ANY\",\n        \"YES\",\n        \"NO\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Has related litigation\",\n        \"No known litigation\"\n      ],\n      \"default\": \"ANY\",\n      \"prefill\": \"ANY\"\n    },\n    \"citationDirection\": {\n      \"title\": \"Citation direction\",\n      \"type\": \"string\",\n      \"description\": \"Which side of the citation graph to walk in byCitation mode.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"backward\",\n        \"forward\",\n        \"both\"\n      ],\n      \"enumTitles\": [\n        \"Backward (prior art)\",\n        \"Forward (cited by)\",\n        \"Both\"\n      ],\n      \"default\": \"both\",\n      \"prefill\": \"both\"\n    },\n    \"citationDepth\": {\n      \"title\": \"Citation depth\",\n      \"type\": \"integer\",\n      \"description\": \"How many citation hops to follow in byCitation mode: 1, 2 or 3.\",\n      \"editor\": \"number\",\n      \"minimum\": 1,\n      \"maximum\": 3,\n      \"default\": 1,\n      \"prefill\": 1\n    },\n    \"fetchFullDetails\": {\n      \"title\": \"Fetch full details\",\n      \"type\": \"boolean\",\n      \"description\": \"For search modes, also fetch each patent page for claims, legal status, citations, family and other detail fields.\",\n      \"editor\": \"checkbox\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"maxItems\": {\n      \"title\": \"Max items\",\n      \"type\": \"integer\",\n      \"description\": \"Hard cap on emitted records. Google Patents exposes about 1,000 results per query; use date, office or CPC filters to go deeper.\",\n      \"editor\": \"number\",\n      \"minimum\": 1,\n      \"maximum\": 10000,\n      \"default\": 25,\n      \"prefill\": 3\n    },\n    \"maxItemsPerQuery\": {\n      \"title\": \"Max items per query\",\n      \"type\": \"integer\",\n      \"description\": \"Optional cap for each query / inventor / assignee / CPC search. 0 means only the global Max items cap applies.\",\n      \"editor\": \"number\",\n      \"minimum\": 0,\n      \"maximum\": 1000,\n      \"default\": 0\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# Google Patents Records, Claims & Citation Graph\n\nRead Google Patents without cookies, logins or an API key. Search the worldwide patent index by keyword, inventor, assignee or CPC class, or open known publications by number or URL. Return structured records with claims, legal status, legal events, citations, cited-by, family members, classifications, figures and PDF links.\n\n## Modes\n\n| Mode | What it does |\n|---|---|\n| `searchPatents` | Keyword search with office, language, status, type, date, sort, grouping and litigation filters. |\n| `byPatent` | Full record for one or more publication numbers. |\n| `byInventor` | Portfolio search for one or more inventor names. |\n| `byAssignee` | Portfolio search for one or more companies or applicants. |\n| `byClassification` | CPC class or prefix search. Use `searchPatents` to combine a keyword query with a class. |\n| `byCitation` | Walk backward citations, forward cited-by links, or both, up to three hops. |\n| `byFamily` | One row per family member or family publication. |\n| `byUrl` | Paste patent pages or Google Patents search URLs; all search filters in the URL are kept. |\n\n## Input reference\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `searchPatents` | `searchPatents`, `byPatent`, `byInventor`, `byAssignee`, `byClassification`, `byCitation`, `byFamily` or `byUrl`. |\n| `searchQueries` | array | `[\"quantum computing\"]` | Keyword queries for `searchPatents`. |\n| `publicationNumbers` | array | `[]` | IDs for `byPatent`, `byCitation` and `byFamily`. |\n| `inventors` | array | `[]` | Names for `byInventor`, or an optional search filter. |\n| `assignees` | array | `[]` | Companies for `byAssignee`, or an optional search filter. |\n| `classifications` | array | `[]` | CPC codes for `byClassification`, or an optional search filter. |\n| `urls` | array | `[]` | Patent or search URLs for `byUrl`. |\n| `countryCodes` | array | `[]` | Two-letter office codes; empty means all offices. |\n| `documentLanguages` | array | `[]` | Original publication languages (16 values). |\n| `detailLanguage` | string | `en` | Detail-page language. |\n| `status` | string | `ANY` | `ANY`, `GRANT` or `APPLICATION`. |\n| `patentType` | string | `ANY` | `ANY`, `PATENT` or `DESIGN`. |\n| `dateType` | string | `priority` | `priority`, `filing` or `publication`. |\n| `dateFrom` | string | `\"\"` | Earliest date, inclusive, `YYYY-MM-DD`. |\n| `dateTo` | string | `\"\"` | Latest date, inclusive, `YYYY-MM-DD`. |\n| `sortBy` | string | `relevance` | `relevance`, `new` or `old`. |\n| `grouping` | string | `family` | `family` or `publication`. |\n| `includeSimilar` | boolean | `true` | Keep Google's similar documents or drop them. |\n| `includeNonPatentLiterature` | boolean | `false` | Also return Google Scholar rows. |\n| `litigation` | string | `ANY` | `ANY`, `YES` or `NO`. |\n| `citationDirection` | string | `both` | `backward`, `forward` or `both`. |\n| `citationDepth` | integer | `1` | Citation hops, 1-3. |\n| `fetchFullDetails` | boolean | `false` | Fetch each search hit's patent page. |\n| `maxItems` | integer | `25` | Hard cap across all queries; prefill is 3. |\n| `maxItemsPerQuery` | integer | `0` | Optional per-query cap; 0 means global only. |\n\n## Filters\n\n- Multiple values: inventor and assignee arrays run one search per value and merge (Google's XHR keeps only the last repeat value); CPC arrays are ORed in one query; office and language arrays are comma-joined. Different filter types are combined with AND.\n- Patent office: `countryCodes` accepts US, EP, WO, JP, CN, KR, DE, GB, FR, CA, AU, IN and more.\n- Document language: 16 original-publication languages. This is a language filter, not a translation setting.\n- Grant status: any, granted, or applications.\n- Type: any, patent, or design.\n- Date: priority, filing or publication date, from and to.\n- Sort: relevance, newest, or oldest.\n- Grouping: one row per family (Google's default) or one row per publication.\n- Similar documents: keep them with `matchType=similar`, or drop them.\n- Litigation: with related litigation, without known litigation, or any.\n- Non-patent literature: optionally add Google Scholar rows for each keyword query.\n\n## Output\n\nPatent rows include `publicationNumber`, `title`, `abstract`, `claims`, `claimCount`, `inventors`, `assigneesOriginal`, `assigneesCurrent`, `primaryAssignee`, `priorityDate`, `filingDate`, `publicationDate`, `grantDate`, `priorArtDate`, `expirationDate` where the source has one, `applicationNumber`, `legalStatus`, `legalEvents`, `cpcCodes`, `classificationDetails`, `priorArtKeywords`, `familyId`, `familyMembers`, `familyApplications`, `familyCountryStatus`, `priorityApplications`, `publications`, `alsoPublishedAs`, `backwardCitations`, `forwardCitations`, `familyCitations`, `familyCitedBy`, `nonPatentCitations`, `similarDocuments`, `figures`, `thumbnailUrl`, `pdfUrl`, `externalLinks`, `patentUrl`, `matchType`, `searchRank`, `searchQuery`, `recordType` and `scrapedAt`.\n\nRows that do not apply are omitted; the actor never writes null, empty-string or sentinel values. Citation rows add `citationDirection`, `citationSeed`, `citationHop`, `citationDepth`, `citationParent`, `citedBy` or `citing`. Family rows add `familyId` and `sourceSeed`. Non-patent-literature rows add `authors`, `venue`, `urlHostname` and `scholarId`.\n\nSome data is genuinely missing upstream: for example, EP B1 documents and many Japanese grants have no abstract, not every office publishes claims, and an anticipated expiration date is shown mainly for US and Canadian patents. Those fields are omitted rather than guessed.\n\n## Examples\n\nKeyword search with full details:\n\n```json\n{\n  \"mode\": \"searchPatents\",\n  \"searchQueries\": [\"solid-state battery\"],\n  \"countryCodes\": [\"US\", \"EP\"],\n  \"status\": \"GRANT\",\n  \"dateFrom\": \"2020-01-01\",\n  \"fetchFullDetails\": true,\n  \"maxItems\": 20\n}\n```\n\nCompany portfolio in one office:\n\n```json\n{\n  \"mode\": \"byAssignee\",\n  \"assignees\": [\"Siemens\"],\n  \"countryCodes\": [\"DE\", \"EP\"],\n  \"maxItems\": 50\n}\n```\n\nCitation graph two hops out:\n\n```json\n{\n  \"mode\": \"byCitation\",\n  \"publicationNumbers\": [\"US11704715B2\"],\n  \"citationDirection\": \"both\",\n  \"citationDepth\": 2,\n  \"maxItems\": 100\n}\n```\n\nPaste a search URL:\n\n```json\n{\n  \"mode\": \"byUrl\",\n  \"urls\": [\"https://patents.google.com/?q=lidar&country=US&status=GRANT&after=filing:20200101\"]\n}\n```\n\n## Limits\n\nGoogle Patents shows about 1,000 results per query (100 pages). The actor pages through that window and tells you in the run status when it hits the source cap. To go deeper, split the search by date, office or CPC class. The run status also reports the delivered count. `maxItems` is a hard cap across all queries; `maxItemsPerQuery` optionally caps each query separately.\n\nFor keyword searches sorted newest or oldest, the actor reads the accessible result window and sorts it by publication date. Google's sorted endpoint otherwise ignores bare keyword terms. Non-patent-literature rows share the same `maxItems` budget and are written after patent rows.\n\n- `byFamily` seeds are enriched with title, grant status and legal status from the patent page plus a publication lookup; non-seed family rows carry title/status only when Google lists them.\n- Similar documents carry `publicationDate` when Google shows one. Non-patent-literature rows are text/venue/URL records with no structured date; a date may appear in the text.\n- In citation runs of depth 2 or 3, every row has `citationParent` (the page it was read from). `citedBy`/`citing` remain seed-based for compatibility.\n\n## FAQ\n\n**Do I need a Google account or API key?**\nNo. The actor reads public Google Patents pages. No cookies, login or key are required.\n\n**Why did my search stop at about 1,000 rows?**\nThat is Google Patents' display cap for one query. Narrow the date range, choose fewer offices, or add a CPC class and run again.\n\n**Does it return claims for every patent?**\nOnly when the source page has them. US, EP, WO, CN and several other offices usually do; some applications, search-report documents and designs do not.\n\n**Why is the abstract empty on some records?**\nSome documents have no abstract on Google Patents, including many EP B1 grants and Japanese grants. The field is omitted rather than filled with a placeholder.\n\n**What is the difference between `family` and `publication` grouping?**\nFamily grouping returns one row per invention, as Google shows by default. Publication grouping returns separate rows for the application, grant and each office's version.\n\n**Are citation walks recursive?**\nYes in `byCitation` mode: set `citationDepth` to 1, 2 or 3. Each row records the seed, hop and direction.\n\n**Do multiple inventors or CPC codes work in one search?**\nYes. Inventor/assignee arrays run one search per value and merge the results; CPC arrays are ORed in one query. Duplicate publications are removed.\n\n**Do the PDF and image links work without a referer?**\nYes. They point to public Google Cloud Storage objects.\n\n**Can I filter by original document language?**\nYes, with `documentLanguages`. It filters publications by language; it does not translate them. Use `detailLanguage` to choose the page language for detail extraction.\n\n**Does it use a proxy?**\nThe actor tries a direct request first and switches to the Apify proxy automatically if Google blocks it. There is no proxy input to configure.\n\n## Notes\n\nPatent documents are public records. Legal status and assignee data are Google's assumptions, not legal conclusions; confirm critical facts with the relevant patent office. This actor is independent and not affiliated with Google.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "google-patents-inventor-assignee-and-citation",
      "title": "Google Patents Records, Claims & Citation Graph",
      "description": "Search Google Patents by keyword, inventor, assignee or CPC; fetch claims, legal status, citations, cited-by, family, legal events and PDFs, with office, language, status, type and date filters.",
      "version": "1.1",
      "buildTag": "latest",
      "dockerfile": "./Dockerfile",
      "readme": "# Google Patents Records, Claims & Citation Graph\n\nRead Google Patents without cookies, logins or an API key. Search the worldwide patent index by keyword, inventor, assignee or CPC class, or open known publications by number or URL. Return structured records with claims, legal status, legal events, citations, cited-by, family members, classifications, figures and PDF links.\n\n## Modes\n\n| Mode | What it does |\n|---|---|\n| `searchPatents` | Keyword search with office, language, status, type, date, sort, grouping and litigation filters. |\n| `byPatent` | Full record for one or more publication numbers. |\n| `byInventor` | Portfolio search for one or more inventor names. |\n| `byAssignee` | Portfolio search for one or more companies or applicants. |\n| `byClassification` | CPC class or prefix search. Use `searchPatents` to combine a keyword query with a class. |\n| `byCitation` | Walk backward citations, forward cited-by links, or both, up to three hops. |\n| `byFamily` | One row per family member or family publication. |\n| `byUrl` | Paste patent pages or Google Patents search URLs; all search filters in the URL are kept. |\n\n## Input reference\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `searchPatents` | `searchPatents`, `byPatent`, `byInventor`, `byAssignee`, `byClassification`, `byCitation`, `byFamily` or `byUrl`. |\n| `searchQueries` | array | `[\"quantum computing\"]` | Keyword queries for `searchPatents`. |\n| `publicationNumbers` | array | `[]` | IDs for `byPatent`, `byCitation` and `byFamily`. |\n| `inventors` | array | `[]` | Names for `byInventor`, or an optional search filter. |\n| `assignees` | array | `[]` | Companies for `byAssignee`, or an optional search filter. |\n| `classifications` | array | `[]` | CPC codes for `byClassification`, or an optional search filter. |\n| `urls` | array | `[]` | Patent or search URLs for `byUrl`. |\n| `countryCodes` | array | `[]` | Two-letter office codes; empty means all offices. |\n| `documentLanguages` | array | `[]` | Original publication languages (16 values). |\n| `detailLanguage` | string | `en` | Detail-page language. |\n| `status` | string | `ANY` | `ANY`, `GRANT` or `APPLICATION`. |\n| `patentType` | string | `ANY` | `ANY`, `PATENT` or `DESIGN`. |\n| `dateType` | string | `priority` | `priority`, `filing` or `publication`. |\n| `dateFrom` | string | `\"\"` | Earliest date, inclusive, `YYYY-MM-DD`. |\n| `dateTo` | string | `\"\"` | Latest date, inclusive, `YYYY-MM-DD`. |\n| `sortBy` | string | `relevance` | `relevance`, `new` or `old`. |\n| `grouping` | string | `family` | `family` or `publication`. |\n| `includeSimilar` | boolean | `true` | Keep Google's similar documents or drop them. |\n| `includeNonPatentLiterature` | boolean | `false` | Also return Google Scholar rows. |\n| `litigation` | string | `ANY` | `ANY`, `YES` or `NO`. |\n| `citationDirection` | string | `both` | `backward`, `forward` or `both`. |\n| `citationDepth` | integer | `1` | Citation hops, 1-3. |\n| `fetchFullDetails` | boolean | `false` | Fetch each search hit's patent page. |\n| `maxItems` | integer | `25` | Hard cap across all queries; prefill is 3. |\n| `maxItemsPerQuery` | integer | `0` | Optional per-query cap; 0 means global only. |\n\n## Filters\n\n- Multiple values: inventor and assignee arrays run one search per value and merge (Google's XHR keeps only the last repeat value); CPC arrays are ORed in one query; office and language arrays are comma-joined. Different filter types are combined with AND.\n- Patent office: `countryCodes` accepts US, EP, WO, JP, CN, KR, DE, GB, FR, CA, AU, IN and more.\n- Document language: 16 original-publication languages. This is a language filter, not a translation setting.\n- Grant status: any, granted, or applications.\n- Type: any, patent, or design.\n- Date: priority, filing or publication date, from and to.\n- Sort: relevance, newest, or oldest.\n- Grouping: one row per family (Google's default) or one row per publication.\n- Similar documents: keep them with `matchType=similar`, or drop them.\n- Litigation: with related litigation, without known litigation, or any.\n- Non-patent literature: optionally add Google Scholar rows for each keyword query.\n\n## Output\n\nPatent rows include `publicationNumber`, `title`, `abstract`, `claims`, `claimCount`, `inventors`, `assigneesOriginal`, `assigneesCurrent`, `primaryAssignee`, `priorityDate`, `filingDate`, `publicationDate`, `grantDate`, `priorArtDate`, `expirationDate` where the source has one, `applicationNumber`, `legalStatus`, `legalEvents`, `cpcCodes`, `classificationDetails`, `priorArtKeywords`, `familyId`, `familyMembers`, `familyApplications`, `familyCountryStatus`, `priorityApplications`, `publications`, `alsoPublishedAs`, `backwardCitations`, `forwardCitations`, `familyCitations`, `familyCitedBy`, `nonPatentCitations`, `similarDocuments`, `figures`, `thumbnailUrl`, `pdfUrl`, `externalLinks`, `patentUrl`, `matchType`, `searchRank`, `searchQuery`, `recordType` and `scrapedAt`.\n\nRows that do not apply are omitted; the actor never writes null, empty-string or sentinel values. Citation rows add `citationDirection`, `citationSeed`, `citationHop`, `citationDepth`, `citationParent`, `citedBy` or `citing`. Family rows add `familyId` and `sourceSeed`. Non-patent-literature rows add `authors`, `venue`, `urlHostname` and `scholarId`.\n\nSome data is genuinely missing upstream: for example, EP B1 documents and many Japanese grants have no abstract, not every office publishes claims, and an anticipated expiration date is shown mainly for US and Canadian patents. Those fields are omitted rather than guessed.\n\n## Examples\n\nKeyword search with full details:\n\n```json\n{\n  \"mode\": \"searchPatents\",\n  \"searchQueries\": [\"solid-state battery\"],\n  \"countryCodes\": [\"US\", \"EP\"],\n  \"status\": \"GRANT\",\n  \"dateFrom\": \"2020-01-01\",\n  \"fetchFullDetails\": true,\n  \"maxItems\": 20\n}\n```\n\nCompany portfolio in one office:\n\n```json\n{\n  \"mode\": \"byAssignee\",\n  \"assignees\": [\"Siemens\"],\n  \"countryCodes\": [\"DE\", \"EP\"],\n  \"maxItems\": 50\n}\n```\n\nCitation graph two hops out:\n\n```json\n{\n  \"mode\": \"byCitation\",\n  \"publicationNumbers\": [\"US11704715B2\"],\n  \"citationDirection\": \"both\",\n  \"citationDepth\": 2,\n  \"maxItems\": 100\n}\n```\n\nPaste a search URL:\n\n```json\n{\n  \"mode\": \"byUrl\",\n  \"urls\": [\"https://patents.google.com/?q=lidar&country=US&status=GRANT&after=filing:20200101\"]\n}\n```\n\n## Limits\n\nGoogle Patents shows about 1,000 results per query (100 pages). The actor pages through that window and tells you in the run status when it hits the source cap. To go deeper, split the search by date, office or CPC class. The run status also reports the delivered count. `maxItems` is a hard cap across all queries; `maxItemsPerQuery` optionally caps each query separately.\n\nFor keyword searches sorted newest or oldest, the actor reads the accessible result window and sorts it by publication date. Google's sorted endpoint otherwise ignores bare keyword terms. Non-patent-literature rows share the same `maxItems` budget and are written after patent rows.\n\n- `byFamily` seeds are enriched with title, grant status and legal status from the patent page plus a publication lookup; non-seed family rows carry title/status only when Google lists them.\n- Similar documents carry `publicationDate` when Google shows one. Non-patent-literature rows are text/venue/URL records with no structured date; a date may appear in the text.\n- In citation runs of depth 2 or 3, every row has `citationParent` (the page it was read from). `citedBy`/`citing` remain seed-based for compatibility.\n\n## FAQ\n\n**Do I need a Google account or API key?**\nNo. The actor reads public Google Patents pages. No cookies, login or key are required.\n\n**Why did my search stop at about 1,000 rows?**\nThat is Google Patents' display cap for one query. Narrow the date range, choose fewer offices, or add a CPC class and run again.\n\n**Does it return claims for every patent?**\nOnly when the source page has them. US, EP, WO, CN and several other offices usually do; some applications, search-report documents and designs do not.\n\n**Why is the abstract empty on some records?**\nSome documents have no abstract on Google Patents, including many EP B1 grants and Japanese grants. The field is omitted rather than filled with a placeholder.\n\n**What is the difference between `family` and `publication` grouping?**\nFamily grouping returns one row per invention, as Google shows by default. Publication grouping returns separate rows for the application, grant and each office's version.\n\n**Are citation walks recursive?**\nYes in `byCitation` mode: set `citationDepth` to 1, 2 or 3. Each row records the seed, hop and direction.\n\n**Do multiple inventors or CPC codes work in one search?**\nYes. Inventor/assignee arrays run one search per value and merge the results; CPC arrays are ORed in one query. Duplicate publications are removed.\n\n**Do the PDF and image links work without a referer?**\nYes. They point to public Google Cloud Storage objects.\n\n**Can I filter by original document language?**\nYes, with `documentLanguages`. It filters publications by language; it does not translate them. Use `detailLanguage` to choose the page language for detail extraction.\n\n**Does it use a proxy?**\nThe actor tries a direct request first and switches to the Apify proxy automatically if Google blocks it. There is no proxy input to configure.\n\n## Notes\n\nPatent documents are public records. Legal status and assignee data are Google's assumptions, not legal conclusions; confirm critical facts with the relevant patent office. This actor is independent and not affiliated with Google.\n",
      "input": {
        "title": "Google Patents Scraper Input",
        "description": "Search Google Patents or fetch full patent records. Pick a mode and fill the matching fields.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "Which lookup path to use.",
            "editor": "select",
            "enum": [
              "searchPatents",
              "byPatent",
              "byInventor",
              "byAssignee",
              "byClassification",
              "byCitation",
              "byFamily",
              "byUrl"
            ],
            "enumTitles": [
              "Search by keyword and filters",
              "Lookup publication numbers",
              "Inventor portfolio",
              "Assignee / company portfolio",
              "CPC classification search",
              "Citation graph (1-3 hops)",
              "Patent family members",
              "Paste Google Patents URLs"
            ],
            "default": "searchPatents",
            "prefill": "searchPatents"
          },
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "One or more keyword queries. Google Patents syntax works: quoted phrases, OR, minus, TI=(title words), CL=(claim words), CPC=H04L9/06.",
            "editor": "stringList",
            "default": [
              "quantum computing"
            ],
            "prefill": [
              "quantum computing"
            ]
          },
          "publicationNumbers": {
            "title": "Publication numbers",
            "type": "array",
            "description": "Publication numbers such as US11704715B2, EP3789012A1, WO2020012345A1. Used by byPatent, byCitation and byFamily.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "inventors": {
            "title": "Inventors",
            "type": "array",
            "description": "Inventor names. The actor runs one search per name.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "assignees": {
            "title": "Assignees / companies",
            "type": "array",
            "description": "Assignee or applicant names. The actor runs one search per name.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "classifications": {
            "title": "CPC classifications",
            "type": "array",
            "description": "CPC codes or prefixes such as H04L9/06, G06N3/00, H01M10. Combined with a keyword query when both are set.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "urls": {
            "title": "Google Patents URLs",
            "type": "array",
            "description": "Patent pages (/patent/US.../en) or search pages (/?q=...&assignee=...&country=...). All search filters in the URL are honoured.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "countryCodes": {
            "title": "Patent offices",
            "type": "array",
            "description": "Two-letter office codes: US, EP, WO, JP, CN, KR, DE, GB, FR, CA, AU, IN and more. Empty means all offices.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "documentLanguages": {
            "title": "Document languages",
            "type": "array",
            "description": "Original publication languages: ENGLISH, GERMAN, FRENCH, SPANISH, JAPANESE, KOREAN, CHINESE, RUSSIAN, PORTUGUESE, ITALIAN, ARABIC, DUTCH, SWEDISH, FINNISH, NORWEGIAN, DANISH. This filters documents; it does not translate them.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "detailLanguage": {
            "title": "Detail page language",
            "type": "string",
            "description": "Language of the patent page text. Google translates where available.",
            "editor": "select",
            "enum": [
              "en",
              "de",
              "fr",
              "es",
              "ja",
              "ko",
              "zh",
              "ru",
              "pt",
              "it",
              "ar",
              "nl",
              "sv",
              "fi",
              "no",
              "da"
            ],
            "enumTitles": [
              "English",
              "German",
              "French",
              "Spanish",
              "Japanese",
              "Korean",
              "Chinese",
              "Russian",
              "Portuguese",
              "Italian",
              "Arabic",
              "Dutch",
              "Swedish",
              "Finnish",
              "Norwegian",
              "Danish"
            ],
            "default": "en",
            "prefill": "en"
          },
          "status": {
            "title": "Grant status",
            "type": "string",
            "description": "Any status, granted patents only, or published applications only.",
            "editor": "select",
            "enum": [
              "ANY",
              "GRANT",
              "APPLICATION"
            ],
            "enumTitles": [
              "Any",
              "Granted only",
              "Applications only"
            ],
            "default": "ANY",
            "prefill": "ANY"
          },
          "patentType": {
            "title": "Patent type",
            "type": "string",
            "description": "Utility-style patents or design patents.",
            "editor": "select",
            "enum": [
              "ANY",
              "PATENT",
              "DESIGN"
            ],
            "enumTitles": [
              "Any type",
              "Patent",
              "Design"
            ],
            "default": "ANY",
            "prefill": "ANY"
          },
          "dateType": {
            "title": "Date field",
            "type": "string",
            "description": "Which date the From and To fields apply to.",
            "editor": "select",
            "enum": [
              "priority",
              "filing",
              "publication"
            ],
            "enumTitles": [
              "Priority date",
              "Filing date",
              "Publication date"
            ],
            "default": "priority",
            "prefill": "priority"
          },
          "dateFrom": {
            "title": "Date from (YYYY-MM-DD)",
            "type": "string",
            "description": "Earliest date, inclusive. Leave empty for no lower bound.",
            "editor": "textfield",
            "default": ""
          },
          "dateTo": {
            "title": "Date to (YYYY-MM-DD)",
            "type": "string",
            "description": "Latest date, inclusive. Leave empty for no upper bound.",
            "editor": "textfield",
            "default": ""
          },
          "sortBy": {
            "title": "Sort order",
            "type": "string",
            "description": "Google's relevance, newest first, or oldest first.",
            "editor": "select",
            "enum": [
              "relevance",
              "new",
              "old"
            ],
            "enumTitles": [
              "Relevance",
              "Newest first",
              "Oldest first"
            ],
            "default": "relevance",
            "prefill": "relevance"
          },
          "grouping": {
            "title": "Result grouping",
            "type": "string",
            "description": "One row per patent family (Google's default) or one row per publication.",
            "editor": "select",
            "enum": [
              "family",
              "publication"
            ],
            "enumTitles": [
              "One row per family",
              "One row per publication"
            ],
            "default": "family",
            "prefill": "family"
          },
          "includeSimilar": {
            "title": "Include similar documents",
            "type": "boolean",
            "description": "Google mixes similar documents into search results. Keep them (label matchType=similar) or drop them.",
            "editor": "checkbox",
            "default": true,
            "prefill": true
          },
          "includeNonPatentLiterature": {
            "title": "Include non-patent literature",
            "type": "boolean",
            "description": "Also return Google Scholar non-patent literature rows for each keyword query.",
            "editor": "checkbox",
            "default": false,
            "prefill": false
          },
          "litigation": {
            "title": "Litigation filter",
            "type": "string",
            "description": "Only patents with related litigation, only patents with no known litigation, or any.",
            "editor": "select",
            "enum": [
              "ANY",
              "YES",
              "NO"
            ],
            "enumTitles": [
              "Any",
              "Has related litigation",
              "No known litigation"
            ],
            "default": "ANY",
            "prefill": "ANY"
          },
          "citationDirection": {
            "title": "Citation direction",
            "type": "string",
            "description": "Which side of the citation graph to walk in byCitation mode.",
            "editor": "select",
            "enum": [
              "backward",
              "forward",
              "both"
            ],
            "enumTitles": [
              "Backward (prior art)",
              "Forward (cited by)",
              "Both"
            ],
            "default": "both",
            "prefill": "both"
          },
          "citationDepth": {
            "title": "Citation depth",
            "type": "integer",
            "description": "How many citation hops to follow in byCitation mode: 1, 2 or 3.",
            "editor": "number",
            "minimum": 1,
            "maximum": 3,
            "default": 1,
            "prefill": 1
          },
          "fetchFullDetails": {
            "title": "Fetch full details",
            "type": "boolean",
            "description": "For search modes, also fetch each patent page for claims, legal status, citations, family and other detail fields.",
            "editor": "checkbox",
            "default": false,
            "prefill": false
          },
          "maxItems": {
            "title": "Max items",
            "type": "integer",
            "description": "Hard cap on emitted records. Google Patents exposes about 1,000 results per query; use date, office or CPC filters to go deeper.",
            "editor": "number",
            "minimum": 1,
            "maximum": 10000,
            "default": 25,
            "prefill": 3
          },
          "maxItemsPerQuery": {
            "title": "Max items per query",
            "type": "integer",
            "description": "Optional cap for each query / inventor / assignee / CPC search. 0 means only the global Max items cap applies.",
            "editor": "number",
            "minimum": 0,
            "maximum": 1000,
            "default": 0
          }
        },
        "required": [
          "mode"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Google Patents Inventors, Assignees, Citations & Family Output",
        "description": "One dataset with patent records plus optional citation, family-member and non-patent-literature rows. Patent rows include title, abstract, claims, inventors, assignees, CPC classes, dates, legal status, legal events, citations, family, figures and PDF links.",
        "properties": {
          "records": {
            "type": "string",
            "title": "Patents",
            "description": "Dataset containing all scraped patents.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Patents",
              "transformation": {
                "fields": [
                  "publicationNumber",
                  "title",
                  "matchType",
                  "primaryAssignee",
                  "primaryInventor",
                  "publicationDate",
                  "status",
                  "legalStatus",
                  "familyId",
                  "patentUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            },
            "citations": {
              "title": "Citations",
              "transformation": {
                "fields": [
                  "publicationNumber",
                  "title",
                  "publicationDate",
                  "assignee",
                  "citationDirection",
                  "citationSeed",
                  "patentUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "environmentVariables": {}
    },
    "buildNumber": "1.1.1",
    "imageDigest": "abafee9a6c361543d3bbf60ab5b7bb7c7c8e14aa49e124f3db4b56c243fa7ee9",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.1"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.004578888888888889
    }
  }
}