Google Patents Scraper — Search, Citations, Family Graph avatar

Google Patents Scraper — Search, Citations, Family Graph

Pricing

from $2.00 / 1,000 patent record (basic)s

Go to Apify Store
Google Patents Scraper — Search, Citations, Family Graph

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

Khadin Akbar

Maintained by Community

Actor stats

1

Bookmarked

57

Total users

26

Monthly active users

8 days ago

Last modified

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.

FieldTypePurpose
modestringChooses the workflow: search, details, byAssignee, byInventor, family, or citationNetwork.
searchQuerystringFree-text Google Patents query for search. Supports boolean operators, quoted phrases, and wildcards.
patentIdsarray[string]Patent publication numbers for details, family, or citationNetwork.
assigneeNamestringOrganization name for byAssignee.
inventorNamestringPerson name for byInventor.
countryCodesarray[string]Filters search results by patent office code.
dateFromstringLower date bound in YYYY-MM-DD format.
dateTostringUpper date bound in YYYY-MM-DD format.
statusstringANY, GRANT, or APPLICATION.
patentTypestringANY, PATENT, DESIGN, or OTHER.
languagestringDetail-page extraction language, such as en, de, ja, or zh.
maxResultsintegerMaximum number of patent records to return.
enrichmentDepthstringbasic or deep.
citationDirectionstringCitation traversal direction for citationNetwork.
citationDepthintegerHop depth for citationNetwork.
proxyConfigurationobjectApify 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.

FieldTypePurpose
patentIdstringCanonical Google Patents publication number.
titlestring or nullPublished title.
abstractstring or nullAbstract text.
filingDatestring or nullFiling date in ISO format.
publicationDatestring or nullPublication date in ISO format.
grantDatestring or nullGrant date in ISO format.
priorityDatestring or nullEarliest claimed priority date.
statusstring or nullGrant status.
typestring or nullPatent type.
countryCodestring or nullTwo-letter patent office code.
kindCodestring or nullPublication kind code.
assigneestring or nullPrimary assignee.
inventorsarray[string]Inventor names in order.
cpcarray[string]CPC codes, present when enrichment is deep.
claimsCountinteger or nullNumber of claims.
claimsarray[string]Claim text, present when enrichment is deep.
citationsBackwardarray[string]Prior-art citations.
citationsBackwardTotalinteger or nullTotal backward citation count.
citationsForwardarray[string]Later patents that cite this record.
citationsForwardTotalinteger or nullTotal forward citation count.
familyIdstring or nullGoogle Patents family identifier.
familyMembersarray[string]Family member patent IDs.
familyMembersTotalinteger or nullTotal family member count.
snippetstring or nullSearch-result snippet in discovery modes.
pdfUrlstring or nullDirect PDF link when deep enrichment is used.
googlePatentsUrlstringCanonical source URL.
modestringSource mode for the record.
citationHopinteger or nullDistance from the seed in citationNetwork mode.
citationSeedstring or nullSeed patent ID in citationNetwork mode.
scrapedAtstringExtraction 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-start
  • patent-found for a basic patent record
  • patent-detailed for 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.