Google Patents Search Scraper

Scrape Google Patents search results and patent metadata from public pages.

Data fields

FieldTypeDescription
querystring | nullSearch query that produced the patent record, or null for direct patent URL or ID inputs.
rankinteger | nullResult rank within the saved set, or null for direct patent inputs.
patentIdstringNormalized Google Patents publication ID.
patentUrlstringGoogle Patents detail page URL.
patentTitlestring | nullPatent title from the search result or detail page when available.
snippetstring | nullSearch result snippet when available.
abstractstring | nullPatent abstract from detail enrichment when available.
inventorstring | nullPrimary inventor string from the search result when available.

Input preview

queriesSearch queries
patentUrlsPatent URLs or IDs
maxItemsMaximum patent records
includeDetailsInclude detail-page metadata
proxyConfigurationProxy configuration

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Google Patents Search Scraper exports public patent search results and patent detail metadata from Google Patents queries, URLs, or publication IDs.

Use it for prior-art discovery, assignee monitoring, inventor research, competitive IP landscaping, and structured patent datasets for analysis.

At a glance

  • Extracts: patent ID, title, URL, snippet, inventor and assignee data, key dates, jurisdiction/status hints, classifications, citations, PDF URL, and scrape timestamp when available.
  • Inputs: Google Patents queries, direct patent URLs or IDs, maximum records, detail enrichment toggle, and optional proxy settings.
  • Best for: IP research, R&D monitoring, patent landscape snapshots, competitive intelligence, and API-based patent collection.
  • Exports: Apify dataset rows downloadable as CSV, JSON, Excel, or available through the API.
  • Login: no Google account, cookies, or Google API key are required.
  • Run diagnostics: each run writes a RUN_SUMMARY record with saved-row count, source warnings, and any time-bounded pending work.

What can it do?

  • Export Google Patents search results: run public patent queries and save structured rows for analysis.
  • Enrich known patent IDs: pass publication IDs or patent URLs to collect detail-page metadata.
  • Monitor assignees and inventors: use Google Patents query operators to track companies, inventors, technologies, or date ranges.
  • Collect IP research fields: save titles, assignees, inventors, dates, abstracts, classifications, citations, PDF URLs, and source links when available.
  • Use as a patent data API workflow: run from Apify API, export CSV/Excel/JSON, schedule repeat searches, or expose the Actor to AI agents through Apify MCP.

Common workflows

  • Search by assignee or inventor: use Google Patents operators such as assignee:(Company) or inventor:(Name).
  • Build patent landscape samples: run broad technical queries with a small maxItems, then expand once the query is right.
  • Enrich known IDs: paste publication IDs or Google Patents URLs into patentUrls and enable details.
  • Collect API-ready patent rows: schedule repeat runs and export dataset rows into BI, notebooks, or internal databases.

Example input

{
  "queries": ["assignee:(Tesla) battery"],
  "patentUrls": ["US7654321B2"],
  "maxItems": 10,
  "includeDetails": true,
  "proxyConfiguration": { "useApifyProxy": false }
}

Example output

{
  "query": "assignee:(Tesla) battery",
  "rank": 1,
  "patentId": "US7654321B2",
  "patentUrl": "https://patents.google.com/patent/US7654321B2/en",
  "patentTitle": "Example battery patent title",
  "inventors": ["Example Inventor"],
  "assignees": ["Example Assignee"],
  "publicationDate": "2026-01-01",
  "classifications": ["H01M"],
  "pdfUrl": "https://patents.google.com/patent/US7654321B2/en.pdf",
  "source": "search",
  "scrapedAt": "2026-07-03T09:00:00.000Z"
}

Tips for best results

  • Start with small limits: test a query with 5-10 records before collecting larger samples.
  • Use Google Patents syntax: assignee, inventor, date, and quoted phrase operators can make results much cleaner.
  • Enable details when you need richer fields: detail enrichment is slower but can add abstracts, classifications, citations, and PDF URLs.
  • Use direct IDs for known patents: patentUrls is the cleanest path when you already have publication numbers.

Limits and caveats

  • Detail fields depend on page availability: some patents do not expose every date, citation, PDF, or classification in the same way.
  • No full claims extraction: this Actor collects search/detail metadata. It does not parse every claim or the full legal description text.
  • Google can throttle: if you see temporary errors, lower volume or enable an appropriate proxy configuration.
  • Partial enrichment is visible: if a search result is saved but its optional detail page is temporarily unavailable, the base row is retained and warnings explains the missing enrichment. A direct patent-ID run does not save an empty placeholder record when its detail page cannot be read.
  • Time-bounded runs preserve progress: saved rows are written progressively. If the run stops before the platform timeout, check RUN_SUMMARY and PENDING_WORK in key-value storage for remaining scopes.
  • Patent data is informational: verify important legal conclusions against official patent offices or counsel.

API usage

Run from the Apify API or SDK with the same input keys shown above.

Node.js

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/google-patents-search-scraper').call({
  queries: ['assignee:(Tesla) battery'],
  maxItems: 10,
  includeDetails: true
});
console.log(run.defaultDatasetId);
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("fetch_cat/google-patents-search-scraper").call(run_input={
    "queries": ["assignee:(Tesla) battery"],
    "maxItems": 10,
    "includeDetails": True,
})
print(run["defaultDatasetId"])
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~google-patents-search-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries":["assignee:(Tesla) battery"],"maxItems":10,"includeDetails":true}'

MCP and AI agents

For AI agents, use the official Apify MCP server. The focused single-Actor URL is:

https://mcp.apify.com?tools=fetch_cat/google-patents-search-scraper

The default MCP server can search and run Actors. The focused URL exposes this Actor directly to clients that support tool-scoped MCP connections.

For Claude Code, add the focused server:

claude mcp add --transport http apify-google-patents "https://mcp.apify.com?tools=fetch_cat/google-patents-search-scraper"

Or add this MCP configuration to a compatible client:

{
  "mcpServers": {
    "apify-google-patents": {
      "type": "http",
      "url": "https://mcp.apify.com?tools=fetch_cat/google-patents-search-scraper"
    }
  }
}

Example prompts: “Find 20 public battery patents assigned to Tesla” or “extract metadata for US10000000B2 and return its citations.”

Support

If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.

Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.

Privacy and data handling

This Actor runs with Apify limited permissions and only processes data needed for the documented run. It uses search/query inputs and public search, trend, app, patent, news, or profile results to produce the output dataset and sends requests to public Google Patents Search pages/endpoints; results are stored in Apify run storage for your account. FetchCat does not use your inputs or outputs for advertising, does not use them for model training, and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.

Common questions

Questions and answers reused from the canonical actor README.

Can I search by assignee or inventor?

Yes. Use Google Patents query syntax such as assignee:(Tesla) or inventor:(Smith).

Can I scrape a list of patent IDs?

Yes. Put publication IDs or Google Patents URLs in patentUrls.

Should I enable detail enrichment?

Enable it when you need abstracts, PDF URLs, classifications, citations, or additional dates. Disable it for faster search-result snapshots.

Why are some fields empty?

Google Patents does not expose every field for every record, and detail fields require available detail pages.

Can I export to CSV, Excel, JSON, or API?

Yes. Use Apify dataset exports or the dataset API after the run finishes.