# USPTO Patent Search (`dash_authority/uspto-patent-search`) Actor

Search US patents via the PatentsView API. Find patents by keyword, assignee organization, inventor, date range, and CPC classification. Ideal for patent attorneys, R\&D teams, competitive intelligence, and VC due diligence.

- **URL**: https://apify.com/dash\_authority/uspto-patent-search.md
- **Developed by:** [Dash Authority](https://apify.com/dash_authority) (community)
- **Categories:** Lead generation, Developer tools, Other
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## USPTO Patent Search

Search and retrieve US patents using the PatentsView API from the USPTO. Query patents by keyword, assignee, inventor, date range, and CPC classification. The only patent search actor on Apify.

### Features

- Search patents by keyword across titles and abstracts
- Filter by assignee organization name
- Filter by inventor last name
- Filter by patent grant date range
- Filter by CPC (Cooperative Patent Classification) group
- Returns structured JSON with full patent metadata
- No authentication required — PatentsView is a free public API

### Use Cases

- **Prior Art Search**: Patent attorneys can quickly find existing patents in a technology area before filing new applications.
- **Competitive Intelligence**: R&D teams can monitor what competitors are patenting by searching assignee names and technology keywords.
- **VC Due Diligence**: Investors can verify a startup's patent portfolio claims and check for competing IP in the same space.
- **Technology Landscape Mapping**: Identify dominant players, filing trends, and white spaces in any technology domain using CPC codes and keyword searches.
- **Licensing Research**: Find patents approaching expiration or identify licensing opportunities by searching specific technology areas and assignees.

### Input

| Field       | Type   | Description                                      | Default |
|-------------|--------|--------------------------------------------------|---------|
| keyword     | string | **Required.** Search keyword for title/abstract  | —       |
| assignee    | string | Assignee organization name                       | —       |
| inventorLast| string | Inventor last name                               | —       |
| dateFrom    | string | Start date (YYYY-MM-DD)                          | —       |
| dateTo      | string | End date (YYYY-MM-DD)                            | —       |
| cpcGroup    | string | CPC classification group ID (e.g. H01L)          | —       |
| limit       | number | Maximum results to return                        | 100     |

### Output

Example result:

````

{
"patent\_number": "11890123",
"title": "Method and system for adaptive neural network training using distributed computing",
"abstract": "A method for training neural networks across distributed computing nodes using adaptive gradient synchronization techniques that reduce communication overhead while maintaining model accuracy...",
"date": "2024-02-06",
"type": "utility",
"assignees": \[
"Google LLC",
"DeepMind Technologies Limited"
],
"inventors": \[
{ "first": "James", "last": "Chen" },
{ "first": "Sarah", "last": "Williams" }
],
"num\_claims": 24
}

````

| Field         | Type   | Description                                            |
|---------------|--------|--------------------------------------------------------|
| patent_number | string | US patent number                                       |
| title         | string | Patent title                                           |
| abstract      | string | Full patent abstract text                              |
| date          | string | Patent grant date (YYYY-MM-DD)                         |
| type          | string | Patent type (utility, design, plant, reissue)          |
| assignees     | array  | Array of assignee organization names                   |
| inventors     | array  | Array of {first, last} name objects                     |
| num_claims    | number | Number of claims in the patent                         |

### Pricing

$3.00 per 1,000 results ($0.003 per result).

### How It Works

This actor makes direct HTTP requests to the PatentsView API (api.patentsview.org), the USPTO's public patent data service. No authentication, no browser, no scraping. PatentsView aggregates all granted US patents and makes them queryable via structured API calls. The database updates weekly.

### FAQ

**What patents are covered?**
All USPTO-granted patents — utility, design, plant, and reissue patents. This covers US patents only, not international filings (no PCT or EPO data).

**Do I need an API key?**
No. PatentsView is a free, open API. No registration or authentication required.

**What is the maximum number of results?**
1,000 per query. For broader searches, narrow your date range or use CPC classification codes to segment results.

**How fresh is the data?**
PatentsView updates weekly, typically within a few days of patent grant publication (every Tuesday).

### Limits & Rate Limits

- Maximum 1,000 results per query
- PatentsView recommends keeping request rates reasonable (no official hard limit, but throttling may occur above ~45 requests/minute)
- Very broad keyword searches (e.g. "machine") will hit the 1,000 result cap — use filters to narrow down
- Abstract text is limited to 100 words in search results; full abstracts may require follow-up queries

# Actor input Schema

## `keyword` (type: `string`):

Search patents by title or abstract keyword
## `assignee` (type: `string`):

Filter by assignee organization name
## `inventorLast` (type: `string`):

Filter by inventor last name
## `dateFrom` (type: `string`):

Start date filter (YYYY-MM-DD)
## `dateTo` (type: `string`):

End date filter (YYYY-MM-DD)
## `cpcGroup` (type: `string`):

Filter by CPC classification group ID
## `limit` (type: `integer`):

Maximum number of patents to return (max 1000)

## Actor input object example

```json
{
  "limit": 100
}
````

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("dash_authority/uspto-patent-search").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("dash_authority/uspto-patent-search").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call dash_authority/uspto-patent-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=dash_authority/uspto-patent-search",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "USPTO Patent Search",
        "description": "Search US patents via the PatentsView API. Find patents by keyword, assignee organization, inventor, date range, and CPC classification. Ideal for patent attorneys, R&D teams, competitive intelligence, and VC due diligence.",
        "version": "1.0",
        "x-build-id": "oGc4KJV0CNjKQM4Mz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/dash_authority~uspto-patent-search/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-dash_authority-uspto-patent-search",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/dash_authority~uspto-patent-search/runs": {
            "post": {
                "operationId": "runs-sync-dash_authority-uspto-patent-search",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/dash_authority~uspto-patent-search/run-sync": {
            "post": {
                "operationId": "run-sync-dash_authority-uspto-patent-search",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keyword"
                ],
                "properties": {
                    "keyword": {
                        "title": "Search Keyword",
                        "type": "string",
                        "description": "Search patents by title or abstract keyword"
                    },
                    "assignee": {
                        "title": "Assignee Organization",
                        "type": "string",
                        "description": "Filter by assignee organization name"
                    },
                    "inventorLast": {
                        "title": "Inventor Last Name",
                        "type": "string",
                        "description": "Filter by inventor last name"
                    },
                    "dateFrom": {
                        "title": "Date From",
                        "type": "string",
                        "description": "Start date filter (YYYY-MM-DD)"
                    },
                    "dateTo": {
                        "title": "Date To",
                        "type": "string",
                        "description": "End date filter (YYYY-MM-DD)"
                    },
                    "cpcGroup": {
                        "title": "CPC Group ID",
                        "type": "string",
                        "description": "Filter by CPC classification group ID"
                    },
                    "limit": {
                        "title": "Result Limit",
                        "type": "integer",
                        "description": "Maximum number of patents to return (max 1000)",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
