Google Patents Scraper — Search, Citations, Family Graph
Pricing
from $2.00 / 1,000 patent record (basic)s
Google Patents Scraper — Search, Citations, Family Graph
Scrape 120M+ patents from USPTO, EPO, WIPO, JPO, CN, KR + 100 offices. Six modes: search, details (claims/citations/family), byAssignee, byInventor, family graph, citationNetwork. Pay-per-event, no API key. Built for prior-art search, IP landscaping, and AI-agent use via Apify MCP.
Pricing
from $2.00 / 1,000 patent record (basic)s
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
1
Bookmarked
57
Total users
26
Monthly active users
8 days ago
Last modified
Categories
Share
Google Patents Scraper is an Apify Actor for searching Google Patents, fetching full patent records, walking family graphs, and crawling citation networks. It accepts a search query, patent IDs, an assignee name, or an inventor name, depending on the selected mode. Each returned record represents one patent publication and can include fields such as title, abstract, dates, status, type, assignee, inventors, claims, citations, family members, CPC codes, and source links. The outcome is structured patent data ready for prior-art review, IP landscaping, portfolio analysis, and AI-agent workflows through Apify MCP.
Best fit and connected workflows
This Actor fits workflows that start with patent discovery and continue into deeper patent analysis.
Use search when you want free-text patent discovery with filters such as date range, country codes, status, and patent type. Use details when you already have patent IDs and want the full record. Use byAssignee for company portfolios and byInventor for inventor portfolios. Use family to gather jurisdictional members of one invention. Use citationNetwork to expand from one or more seed patents into backward, forward, or bidirectional citation graphs.
A natural workflow is to search for a technology area, open the most relevant patent IDs in details, then expand the strongest records through family or citationNetwork. If you are comparing patent activity with broader Google ecosystem context, the verified related actors below can support follow-up research in adjacent workflows.
Practical scenario
Maya is reviewing an autonomous vehicle concept and starts with a broad query in search:
- starting information:
"machine learning autonomous vehicle perception" - filters: granted patents from 2020 onward
- goal: identify relevant prior art
The Actor returns records with fields such as patentId, title, abstract, assignee, inventors, claimsCount, and googlePatentsUrl. Maya spots a patent whose title and abstract match the technical direction, then switches that patent ID into details to inspect claims and citations. From there, she can decide whether to expand the family graph or trace forward citations for later work in the same area.
Input
Pick one mode, then provide the matching field for that workflow.
| Field | Type | Purpose |
|---|---|---|
mode | string | Chooses the workflow: search, details, byAssignee, byInventor, family, or citationNetwork. |
searchQuery | string | Free-text Google Patents query for search. Supports boolean operators, quoted phrases, and wildcards. |
patentIds | array[string] | Patent publication numbers for details, family, or citationNetwork. |
assigneeName | string | Organization name for byAssignee. |
inventorName | string | Person name for byInventor. |
countryCodes | array[string] | Filters search results by patent office code. |
dateFrom | string | Lower date bound in YYYY-MM-DD format. |
dateTo | string | Upper date bound in YYYY-MM-DD format. |
status | string | ANY, GRANT, or APPLICATION. |
patentType | string | ANY, PATENT, DESIGN, or OTHER. |
language | string | Detail-page extraction language, such as en, de, ja, or zh. |
maxResults | integer | Maximum number of patent records to return. |
enrichmentDepth | string | basic or deep. |
citationDirection | string | Citation traversal direction for citationNetwork. |
citationDepth | integer | Hop depth for citationNetwork. |
proxyConfiguration | object | Apify proxy settings. |
Focused input example:
{"mode": "search","searchQuery": "\"large language model\" training","dateFrom": "2023-01-01","status": "GRANT","countryCodes": ["US", "EP"],"maxResults": 25,"enrichmentDepth": "basic"}
Output
Each dataset item is one patent publication record.
| Field | Type | Purpose |
|---|---|---|
patentId | string | Canonical Google Patents publication number. |
title | string or null | Published title. |
abstract | string or null | Abstract text. |
filingDate | string or null | Filing date in ISO format. |
publicationDate | string or null | Publication date in ISO format. |
grantDate | string or null | Grant date in ISO format. |
priorityDate | string or null | Earliest claimed priority date. |
status | string or null | Grant status. |
type | string or null | Patent type. |
countryCode | string or null | Two-letter patent office code. |
kindCode | string or null | Publication kind code. |
assignee | string or null | Primary assignee. |
inventors | array[string] | Inventor names in order. |
cpc | array[string] | CPC codes, present when enrichment is deep. |
claimsCount | integer or null | Number of claims. |
claims | array[string] | Claim text, present when enrichment is deep. |
citationsBackward | array[string] | Prior-art citations. |
citationsBackwardTotal | integer or null | Total backward citation count. |
citationsForward | array[string] | Later patents that cite this record. |
citationsForwardTotal | integer or null | Total forward citation count. |
familyId | string or null | Google Patents family identifier. |
familyMembers | array[string] | Family member patent IDs. |
familyMembersTotal | integer or null | Total family member count. |
snippet | string or null | Search-result snippet in discovery modes. |
pdfUrl | string or null | Direct PDF link when deep enrichment is used. |
googlePatentsUrl | string | Canonical source URL. |
mode | string | Source mode for the record. |
citationHop | integer or null | Distance from the seed in citationNetwork mode. |
citationSeed | string or null | Seed patent ID in citationNetwork mode. |
scrapedAt | string | Extraction timestamp. |
Illustrative record:
{"patentId": "US10000000B2","title": "Coherent LADAR using intra-pixel quadrature detection","abstract": "A frequency modulated coherent laser detection and ranging system...","filingDate": "2015-03-10","publicationDate": "2018-06-19","grantDate": "2018-06-19","priorityDate": "2015-03-10","status": "GRANT","type": "PATENT","countryCode": "US","kindCode": "B2","assignee": "Raytheon Co","inventors": ["Joseph Marron"],"claimsCount": 20,"googlePatentsUrl": "https://patents.google.com/patent/US10000000B2/en","mode": "details","scrapedAt": "2026-05-03T19:22:00.000Z"}
How it works
The Actor uses Google Patents search and detail-page extraction. It supports six modes: search, details, byAssignee, byInventor, family, and citationNetwork. The input schema routes each workflow through the matching field, and the output schema writes patent records to the default dataset. Basic records include the core publication data, while deep records add claims, citations, family members, CPC codes, and a PDF URL. The live contract sets a residential Apify proxy as the default proxy configuration.
Pricing
This Actor uses Pay per event, and Apify platform usage is charged separately according to the live Pricing tab in Apify Console.
Charged events:
apify-actor-startpatent-foundfor a basic patent recordpatent-detailedfor a deep patent record
A simple example in words: if you return fifty basic patent records, you are charged for fifty patent-found events plus the actor start event, and Apify platform usage is billed according to the Pricing tab. If you return deep records, the deep event applies to each deeply enriched patent record. For current pricing details, see the live Pricing tab in Apify Console.
Use with AI agents (MCP)
This Actor is usable through Apify MCP as a tool for patent search and patent graph retrieval. The exact Actor identity is khadinakbar/google-patents-scraper.
Tool description: run one patent workflow at a time, using the mode that matches the task. The returned dataset items are structured patent records that agents can read, compare, and join by patentId, familyId, or citationSeed.
Find prior art for US10000000B2. Use details mode, return claims, backward citations, family members, and the Google Patents source link.
Output interpretation: patentId is the stable record key, googlePatentsUrl is the source reference, mode identifies which workflow produced the record, and citationHop and citationSeed add graph context when using citationNetwork.
Provenance and scope: records are extracted from Google Patents pages and include the source URL for verification. The Actor covers search, details, assignee portfolios, inventor portfolios, family graphs, and citation networks across the patent offices listed in the schema.
Pagination and cost guidance: maxResults caps the total records returned, including total nodes across citation hops. Deep enrichment uses the deep event contract, while basic discovery uses the basic event contract.
JavaScript example with Apify API and dataset readback
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const run = await client.actor('khadinakbar/google-patents-scraper').call({mode: 'search',searchQuery: '"large language model" training',dateFrom: '2023-01-01',maxResults: 10,enrichmentDepth: 'basic',});const items = await client.dataset(run.defaultDatasetId).listItems();console.log(items.items);
Best results and outcome guidance
Use search for discovery, then move promising patent IDs into details for claims, citations, and family data. Use byAssignee when the workflow starts from a company, and byInventor when it starts from a person. Use family when you want the same invention across jurisdictions. Use citationNetwork when the next step is graph expansion around known seed patents.
When working with broad queries, narrow the scope with date bounds, country codes, or status. When working with graph workflows, set a clear maxResults so the total node count stays aligned with the review task.
Design note
I found that the output contract always requires patentId, googlePatentsUrl, scrapedAt, and mode, which makes each dataset row easy to join and trace back to its source.
FAQ
How do I route from keyword discovery to full patent records?
Start with mode: "search" and a searchQuery, then pass selected patentIds into mode: "details".
How do I get all patents owned by one company?
Use mode: "byAssignee" with assigneeName, then refine with countryCodes, dateFrom, or dateTo.
How do I follow citations forward or backward?
Use mode: "citationNetwork" with seed patentIds, then set citationDirection to backward, forward, or both, and choose the hop count with citationDepth.
How do I collect the jurisdictional family for one invention?
Use mode: "family" with one or more seed patentIds.
How do I compare a patent record in another Apify workflow?
Use patentId as the join key and googlePatentsUrl as the source reference.
Responsible use
Use patent data for research, analysis, and other lawful workflows. Respect Google Patents access conditions, applicable laws, and any organizational policies that govern patent and IP data handling.
Related Actors
- Use Google Maps Reviews Scraper - useful downstream when you need reactions, reviews, or comments for a returned Google record and the target workflow accepts a public ID or URL.
- Use Google Ads Scraper -- Live Search Sponsored Ads - a sibling workflow for Google search-ad research when the next step matches its focused detail contract.
- Use Google Ads Transparency Scraper -- Creatives & Run Dates - a sibling workflow for ad creative and run-date research when the next step matches its focused detail contract.