Google Patents Search Scraper - Patents, Assignees & Dates avatar

Google Patents Search Scraper - Patents, Assignees & Dates

Pricing

from $3.34 / 1,000 results

Go to Apify Store
Google Patents Search Scraper - Patents, Assignees & Dates

Google Patents Search Scraper - Patents, Assignees & Dates

Search Google Patents and get structured results: title, publication number, assignee, inventor, filing/grant/priority dates, snippet and PDF link. Supports Google's own filter syntax (assignee, country, priority date). HTTP-only, no API key.

Pricing

from $3.34 / 1,000 results

Rating

0.0

(0)

Developer

Farhan Febrian Nauval

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Categories

Share

Google Patents Search Scraper

Search Google Patents and get structured results: title, publication number, assignee, inventor, filing / grant / priority dates, snippet and PDF link. HTTP-only, no API key, no account.

Input

FieldTypeDefaultDescription
queriesarrayrequiredA keyword, a Google Patents query string, or a pasted URL
maxResultsPerQueryinteger300Ceiling is ~1,000 — see below
maxPagesinteger10Pages of 100. Cannot exceed 10 (Google's limit)
maxConcurrencyinteger2Queries in parallel

All three input shapes work, because all three are things you actually have to hand:

battery
q=battery&assignee=Tesla&after=priority:20230101
https://patents.google.com/?q=solar&country=US

Google's own filter syntax passes straight through — assignee=, country=, before=/after=priority:YYYYMMDD, inventor=. Build the search in the browser, paste the URL.

Output

{
"_input": "q=battery&assignee=Tesla",
"_source": "S1-xhr-query",
"_scrapedAt": "2026-09-07T05:46:13Z",
"_page": 0,
"publicationNumber": "US11942620B2",
"patentUrl": "https://patents.google.com/patent/US11942620B2/en",
"title": "Solid state battery with uniformly distributed electrolyte…",
"snippet": "…",
"assignee": "GM Global Technology Operations LLC",
"inventor": "…",
"filingDate": "2021-12-06", "grantDate": "2024-03-26",
"publicationDate": "…", "priorityDate": "…",
"pdfUrl": "https://patentimages.storage.googleapis.com/…",
"figureCount": 7, "rank": 0,
"patent": { … } // raw passthrough, Google's field names verbatim
}

Populated on 450 test rows: publication number, title, assignee, inventor, filing date, priority date and URL on 450/450. grantDate (272/450) and pdfUrl (332/450) are legitimately partial — a pending application has no grant date.

How it works

patents.google.com/xhr/query is the JSON backend behind the search UI. Its single url parameter takes the URL-encoded Google Patents query string, which is why this actor can accept a pasted browser URL unchanged.

The 10-page ceiling

total_num_pages comes back as 10 for a query reporting 106,876 results. It is a cap, not a count: at 100 per page that is roughly 1,000 results per query, whatever the hit count says. The actor warns once per query when it sees the cap and names the filters that get you past it. A Tesla battery query yielded 856 unique patents out of 3,427 reported.

Titles come with markup and entities

Google marks query hits with <b>…</b> and leaves HTML entities in place, so a raw title reads Solid state <b>battery</b>, and methods of &hellip;. Both are cleaned — tags stripped, then entities unescaped, in that order — and the untouched value stays available under patent. Stripping only the tags leaves &hellip; sitting in the title, which is the kind of thing that survives review and shows up in a customer's CSV.

Result order drifts between requests

Two fetches of the same page can come back in slightly different order, so consecutive pages sometimes appear to overlap. Results are deduplicated by publication number, and a page that contributes nothing new ends the crawl — so the drift costs a little bandwidth and never duplicates a row.

Known limits

LimitDetail
~1,000 results per queryGoogle's paging ceiling; narrow with its filters and pass several queries
No full text or claimsSearch results only — the description and claims live on the patent page
No citation graphpatent.family_metadata is passed through, but citations are not in this payload