USPTO Patent Scraper
Pricing
Pay per event
USPTO Patent Scraper
Search US issued patents and published applications via Google Patents' public search index — patent number, title, abstract, inventors, assignee, classifications, priority, filing, and grant dates — bulk export to JSON or CSV. Free, no key, no login.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
🎯 What this scrapes
Google Patents runs a public search index over the full USPTO patent corpus — issued patents back to 1976 and published applications from 2001 — but there's no supported API behind it: a React front end, session-shaped pagination, and no documented rate limits. This Actor drives that search endpoint directly, handles pagination safely, and writes one structured row per patent. No account, no key, no quota to manage on your end.
Every request runs through our fingerprint-rotating HTTP stack so Google Patents sees consistent, well-behaved traffic — the kind that keeps your runs off the block-list.
🔥 Features
- 🛡️ Browser fingerprint rotation —
curl-cffireplays real Chrome / Firefox / Safari TLS handshakes. The target sees a real browser, not a Python script. - 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP whenever the endpoint pushes back.
- 🔁 Retries with exponential backoff on
408 / 429 / 5xx— up to 5 attempts per page;Retry-Afterheaders are honoured. - 🧱 Rate-limit-aware pacing — we slow down before the API cuts us off, not after.
- 🧊 Clean, typed dataset rows — Pydantic-validated fields, ISO-8601 timestamps, stable IDs. Export to JSON, CSV, or Excel straight from Apify Console.
- 💰 Pay-Per-Event pricing — you pay only when results land in your dataset. No data, no charge (only the small
actor-startwarm-up fee).
💡 Use cases
- IP-landscape monitoring — schedule weekly runs against a competitor's assignee name and diff the output to catch new filings before they publish in trade press.
- Freedom-to-operate (FTO) research — query by CPC class to surface all patents relevant to a new product before you build.
- Patent assignee scraper workflow — pull a company's full portfolio, pivot by inventor, assignee, or classification, and feed downstream analysis pipelines.
- Inventor tracking — follow a key researcher or prolific inventor across employers and publication windows.
- M&A / acquisition diligence — quantify and categorise a target's patent assets in minutes instead of hours inside expensive IP databases.
- Academic patent-statistics research — feed a corpus of patent abstracts, classification codes, and grant dates into NLP / citation-analysis workflows.
⚙️ How to use it
- Click Try for free at the top of the page.
- Fill in the input form —
searchQueryis the only required field; all others have sensible defaults. - Click Start. Results stream into the run's dataset in real time.
- When the run finishes, open Storage → Dataset to export as JSON, CSV, or Excel — or pull rows via the Apify API.
Query syntax tips:
- Plain text (e.g.
neural network training) searches title, abstract, and claims together. TI/(neural network)— title field onlyAN/Apple— assignee nameIN/Hinton— inventor surname- One qualifier per query — they don't currently combine with
AND/OR. Run separate queries per filter if you need an intersection.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
searchQuery | string | yes | neural network training | Free-text, or ONE field qualifier (TI/, AN/, IN/) per query — qualifiers don't combine with AND/OR. |
maxResults | integer | no | 30 | Total patents to return across all pages. Max 2 000 per run. |
sortBy | string | no | relevance | relevance, publication_date_desc, or publication_date_asc. |
proxyConfiguration | object | no | {"useApifyProxy": false} | Apify Proxy configuration. Direct calls generally work; enable proxy if you scale up or hit rate limits. |
Example input
{"searchQuery": "TI/(neural network)","maxResults": 3,"sortBy": "publication_date_desc","proxyConfiguration": {"useApifyProxy": false}}
📤 Output
Every row is one dataset item.
| Field | Type | Notes |
|---|---|---|
patent_number | string | Patent or publication number (without country prefix). |
publication_id | string | Google Patents publication ID (same value as patent_number); used to build patent_url. |
title | string | Patent title. |
abstract | string | null | Patent abstract text. |
inventors | array | Inventor names. |
assignees | array | Assignee organisations. |
applicants | array | Applicants listed on the filing. |
cpc_classifications | array | CPC classification codes. |
ipc_classifications | array | IPC classification codes. |
publication_date | string | null | Publication date (YYYY-MM-DD). |
grant_date | string | null | Grant date if granted. |
filing_date | string | null | Filing date. |
priority_date | string | null | Priority date. |
kind_code | string | null | Kind code (B1, A1, etc.). |
patent_url | string | Google Patents URL for the full document. |
scraped_at | string | ISO-8601 timestamp when this row was recorded. |
Example output
{"patent_number": "11,948,025","title": "System and method for training neural networks","abstract": "A method for training a neural network comprising...","inventors": ["Jane Smith", "John Doe"],"assignees": ["Example Corp"],"cpc_classifications": ["G06N 3/08", "G06N 20/00"],"publication_date": "2024-04-02","grant_date": "2024-04-02","filing_date": "2021-09-15","priority_date": "2021-09-15","kind_code": "B2","patent_url": "https://patents.google.com/patent/US11948025B2/en","scraped_at": "2026-06-01T12:00:00Z"}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.20 | One-off warm-up charge per run |
result | $0.003 | Per dataset item written |
Example: 1 000 results at the rates above ≈ $3.00. No subscription, no minimum — Apify gives every new account $5 of free credit to start. Commercial IP databases charge $10 000+/seat/year for the same underlying public data.
🚧 Limitations
- Result ordering is controlled by Google Patents internally; we pass your
sortBypreference but the ranking algorithm is theirs. - Inventor address details (city, state) and full claims text require follow-up document calls and are not included in this Actor. The
patent_urlfield links directly to the full patent document. - Patent family members (foreign equivalents, continuations) are not surfaced — that cross-reference data requires a separate lookup sequence this Actor doesn't run today.
- Publication cadence — the USPTO typically publishes new grants on Tuesdays; new filings appear in Google Patents' index within approximately one week of publication. This is not a real-time stream.
- Index freshness — this Actor reads Google Patents' index of the USPTO corpus, not USPTO's own systems directly. Google Patents is generally current within the cadence above, but if you need data guaranteed to match USPTO's own record bit-for-bit (e.g. for legal filings), verify against USPTO directly via
patent_url. - Legal disclaimer — this tool retrieves public patent metadata for research purposes. It is not a substitute for professional patent counsel. Always consult a registered patent attorney for FTO opinions, invalidity analysis, or litigation strategy.
❓ FAQ
What source does this Actor use?
This Actor queries Google Patents' public search index at patents.google.com, which mirrors the same underlying USPTO corpus — issued patents back to 1976 and published applications from 2001. There's no official, versioned USPTO API behind it: we drive the same search endpoint your browser uses, handle pagination, and normalise the HTML into clean typed rows.
Is a patent search API key required?
No. Google Patents' search is open to the public — no registration, no key, no quota letter. We still run our fingerprint-rotation and backoff stack to keep your runs clean and consistent.
Is the data real-time?
USPTO publishes new grants weekly (typically Tuesday issue dates). New patent applications appear in Google Patents' index within approximately one week of their publication date. For monitoring workflows, daily or weekly scheduled runs are appropriate.
Can I get full patent claims or drawings?
We surface the patent_url field — click it to view the full document on Google Patents. Full-text claims extraction and drawing download are roadmap items. For bulk full-text needs, the USPTO also publishes weekly XML bulk data files directly.
What query syntax does the Actor support?
searchQuery accepts plain free text (searched across title, abstract, and claims) or ONE field qualifier per query: TI/ (title), AB/ (abstract), AN/ (assignee name), IN/ (inventor name), CPC/ (CPC class) — e.g. AN/Apple or TI/(neural network). Qualifiers don't currently combine with boolean operators (AND / OR / NOT); run one query per filter and merge results downstream if you need an intersection.
Does this cover WIPO or EPO patents?
No — this Actor covers US patents and published applications only. WIPO (PCT applications) and EPO patents require separate endpoints. We can build dedicated Actors for those on request.
Why is assignees sometimes empty?
Pre-grant publications (kind code A1) often don't carry an assignee — the assignment may not be recorded until grant. Check applicants as a fallback; it is populated on most pre-grant records.
How does the pricing compare to PatSnap or Derwent?
Commercial IP platforms start at roughly $10 000/seat/year. This Actor charges $3.00 per 1 000 results, billed only for what lands in your dataset. It's a wrapper around Google Patents' public index of the same USPTO data — not a replacement for the analytics layers those platforms provide, but orders of magnitude cheaper for raw patent data retrieval.
💬 Your feedback
Spotted a bug, hit an edge case, or need a new field (inventor address, claim text, family members)? Open an issue on the Actor's Issues tab in Apify Console — we ship fixes weekly and read every report.