If you work in IP research, competitive intelligence, R&D, or patent law, you already know that searching patents at scale is painful. Google Patents is fine for one-off lookups, but if you need to pull hundreds or thousands of patents matching specific criteria -- by company, inventor, technology classification, or date range -- you need something programmatic.
USPTO maintains the PatentsView database, which covers every granted US utility patent (8+ million records, updated weekly). The data is free and the API is well-structured, but building queries against it has a learning curve. Pagination, field selection, and query syntax all require reading docs that assume you already know what you're doing.
What the data contains
Each patent record includes:
- Patent number and title -- the unique identifier and full patent title
- Abstract -- complete patent abstract describing the invention
- Grant date and application date -- when it was issued and when the application was filed
- Inventors -- full names, city, state, and country for each inventor
- Assignees -- the companies or organizations that own the patent
- CPC codes -- Cooperative Patent Classification codes that categorize the technology area (e.g., G06N for machine learning, H04L for networking)
- Claims count -- how many claims the patent makes
- Source URL -- direct link to the patent on Google Patents
Who uses this
IP and patent law firms use it for prior art searches, freedom-to-operate analysis, and competitive patent landscape mapping.
R&D teams track what competitors are patenting. If a rival files 30 patents in quantum computing this year after filing zero last year, that's a strategic signal.
Competitive intelligence analysts use patent filings as leading indicators. Patent activity often precedes product announcements by 2-3 years.
VC and M&A teams use patent portfolios to evaluate technical assets during due diligence. A startup claiming novel technology with zero patents tells you something.
Academic researchers use it for bibliometric studies, technology trend analysis, and innovation mapping.
Searching via API
I built an Apify actor that wraps the PatentsView API and returns clean, structured JSON. You can search by keyword, inventor name, assignee (company), CPC classification code, and date range.
Here's how to run it from Python:
import requests
API_TOKEN = "your_apify_token"
ACTOR_ID = "pink_comic/uspto-patents-patentsview-search"
run = requests.post(
f"https://api.apify.com/v2/acts/{ACTOR_ID}/runs?token={API_TOKEN}",
json={
"apiKey": "your_patentsview_api_key",
"keyword": "machine learning",
"assigneeName": "Google",
"dateFrom": "2024-01-01",
"maxResults": 50
}
).json()
# Poll for results
import time
run_id = run["data"]["id"]
while True:
status = requests.get(
f"https://api.apify.com/v2/actor-runs/{run_id}?token={API_TOKEN}"
).json()
if status["data"]["status"] in ("SUCCEEDED", "FAILED"):
break
time.sleep(2)
# Get results
dataset_id = status["data"]["defaultDatasetId"]
items = requests.get(
f"https://api.apify.com/v2/datasets/{dataset_id}/items?token={API_TOKEN}"
).json()
for patent in items:
print(f"{patent['patentId']}: {patent['patentTitle']}")
print(f" Assignees: {', '.join(a['name'] for a in patent.get('assignees', []))}")
print(f" Grant date: {patent['grantDate']}")
print()
Getting a PatentsView API key
The API is free. Register at patentsview.org and request an API key. Approval is usually instant.
Example queries
Find all patents assigned to a specific company:
{"apiKey": "your_key", "assigneeName": "Tesla", "maxResults": 100}
Search patents by technology area (CPC code):
{"apiKey": "your_key", "cpcCode": "G06N", "dateFrom": "2024-01-01", "maxResults": 100}
G06N covers machine learning, neural networks, and AI. H04L covers networking. A21D covers bakery (yes, really).
Track a specific inventor's patents:
{"apiKey": "your_key", "inventorName": "Hinton", "maxResults": 50}
Why not just use the raw API?
You can. PatentsView's API is public and documented. The actor wraps it to handle pagination, field selection, error handling, and output formatting so you get clean JSON without building the integration yourself. If you're doing a one-off search, the raw API works. If you're running patent searches regularly or integrating into a pipeline, the actor saves time.
Try it here: USPTO Patents Search on Apify
Top comments (0)