Skip to content

Patent Filings Dataset

Track granted patents issued by the US Patent and Trademark Office (USPTO), mapped to publicly traded companies by ticker. Each record is an individual granted patent with its grant date, original application filing date, technology classifications, claim count, and inventors — a direct, structured signal of corporate R&D output and innovation pace.

The Patent Filings dataset provides, for every granted patent:

  • Patent Identity: USPTO patent number, title, type (utility, design, plant, reissue), and kind code
  • Timing: Grant date and original application filing date, plus the filing-to-grant duration in days
  • Assignee: The organization the patent is assigned to, mapped to a stock ticker, with the assignee type
  • Technology Classification: CPC sections and subsections describing the technical domain, plus the primary section
  • Scope Signals: Number of claims and forward-citation count
  • Inventors: Named inventors and the inventor count
Source Description Update Frequency
USPTO Granted patents mapped to NYSE and NASDAQ tickers Weekly

Patent Filings cover US-listed companies on NYSE and NASDAQ, with assignee organizations matched to ticker symbols at ingestion. The dataset carries 20 years of history, with granted patents dating back to 2006, suitable for long-horizon R&D and innovation analysis. New grants are published by the USPTO weekly.

This dataset tracks granted patents — patents the USPTO has issued. Each record also exposes the original applicationFilingDate, so you can analyze the filing-to-grant pipeline, but pending (ungranted) applications are not included.

from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
df = fb.patent_filings.ticker("AAPL", as_dataframe=True)
print(df)

You can narrow results with startDate, endDate (both filter on the grant date, YYYY-MM-DD), and limit query parameters. For complete code examples in Python (SDK and requests), cURL, C++, Rust, and JavaScript, see the API Reference.

{
"success": true,
"data": {
"symbol": "AAPL",
"name": "Apple Inc.",
"patents": [
{
"patentId": "12345678",
"patentDate": "2025-03-11",
"title": "Method and apparatus for low-power display synchronization",
"type": "utility",
"kind": "B2",
"numClaims": 20,
"numCitedBy": 0,
"assigneeOrganization": "Apple Inc.",
"assigneeType": "2",
"applicationFilingDate": "2022-06-15",
"filingToGrantDays": 999,
"inventors": ["John Doe", "Jane Smith"],
"numInventors": 2,
"cpcSections": ["G", "H"],
"cpcSubsections": ["G06", "H04"],
"primaryCpcSection": "G"
}
]
},
"meta": { "timestamp": "2026-06-16T12:00:00.000Z" }
}
Field Description Example
patentId USPTO patent number (globally unique) 12345678
patentDate Grant date (YYYY-MM-DD) 2025-03-11
title Patent title Method and apparatus for low-power display synchronization
type Patent type utility
kind USPTO kind code B2
numClaims Number of claims 20
numCitedBy Forward-citation count 0
assigneeOrganization Organization the patent is assigned to Apple Inc.
assigneeType Assignee type code (2 = US company, 3 = foreign company) 2
applicationFilingDate Original application filing date (YYYY-MM-DD) 2022-06-15
filingToGrantDays Days from filing to grant 999
inventors Named inventors ["John Doe", "Jane Smith"]
numInventors Number of inventors 2
cpcSections CPC classification sections ["G", "H"]
cpcSubsections CPC subsections ["G06", "H04"]
primaryCpcSection Leading CPC section G

Patents are tagged with Cooperative Patent Classification (CPC) codes describing their technical domain. The single-letter primaryCpcSection gives a quick read on where a company is innovating:

Section Technology Domain
A Human Necessities
B Performing Operations; Transporting
C Chemistry; Metallurgy
D Textiles; Paper
E Fixed Constructions
F Mechanical Engineering; Lighting; Heating; Weapons
G Physics (computing, optics, instruments)
H Electricity (electronics, communications)
Y New / cross-sectional technologies

Subsections (e.g., G06 for computing, H04 for communications) add a finer level of detail.

Measure how a company’s innovation output trends over time by counting granted patents per quarter. The SDK returns a DataFrame indexed by grant date, so resampling is a one-liner:

from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
df = fb.patent_filings.ticker("NVDA", as_dataframe=True)
quarterly = df["patentId"].resample("QE").count()
print(quarterly.tail(8))

See which technical domains a company is investing in by breaking patents down by their primary CPC section:

from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
df = fb.patent_filings.ticker("TSLA", as_dataframe=True)
print(df["primaryCpcSection"].value_counts())

Compare granted-patent volume across a peer group to find the most prolific innovators:

from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
def scan_patent_volume(symbols, date_from):
"""Rank tickers by number of patents granted since date_from."""
results = []
for symbol in symbols:
try:
df = fb.patent_filings.ticker(symbol, date_from=date_from, as_dataframe=True)
results.append({"symbol": symbol, "patents": len(df)})
except Exception:
continue
return sorted(results, key=lambda x: x["patents"], reverse=True)
semis = ["NVDA", "AMD", "INTC", "QCOM", "AVGO"]
for r in scan_patent_volume(semis, "2024-01-01"):
print(f"{r['symbol']}: {r['patents']} patents")