# Worldwide Patent Search Scraper - All-In-One (`parseforge/worldwide-patent-search-scraper`) Actor

Run a single search across Google Patents, USPTO, China CNIPA, Canada CIPO, WIPO and India patents and unify every record. Pull title, abstract, inventors, assignees, dates, citations and classifications. Built for IP attorneys, R\&D and prior-art research.

- **URL**: https://apify.com/parseforge/worldwide-patent-search-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Other, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🌐 Worldwide Patent Search Scraper

> 🚀 **Get global patent data in seconds.** All-in-one bundle: queries 6 sources in one run - Google Patents, China CNIPA, Canada CIPO, USPTO PAIR, WIPO Patentscope and India IPO.


This all-in-one combo actor queries six major patent indexes in parallel and merges the records into one unified dataset, so you can run a single keyword search and pull back patent filings from the United States, China, Canada, India, the European/PCT system (via WIPO Patentscope) and global coverage from Google Patents.

Each source is mapped to a consistent schema - publication number, title, snippet, assignee, inventor, dates, country code, PDF link and source URL - so downstream filtering and joins work without per-source glue code.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Patent attorneys, R&D teams, IP analysts, search firms, competitive-intelligence professionals | Prior-art search, FTO/clearance, competitor monitoring, technology landscaping, license sourcing |

### 📋 What the Worldwide Patent Search Scraper does

- Runs the same query across 6 patent offices in parallel
- Normalizes records to one schema with a `source` tag
- Filters by assignee, inventor, status (grant/application), language, priority date range
- Sorts by publication date or relevance
- Bulk dataset outputs or data

> 💡 **Why it matters:** running 6 separate scrapers means 6 inputs, 6 datasets and 6 invoices. This bundle gives you one run, one data, one dataset to access.

### 📊 Data fields

Each record includes: `assignee`, `countryCode`, `filingDate`, `grantDate`, `id`, `inventor`, `language`, `pdfUrl`, `priorityDate`, `publicationDate`, `publicationNumber`, `scrapedAt`, `snippet`, `source`, `thumbnailUrl`, `title`, `url`. All 17 field names come from a real production run, so what you see here is what lands in your dataset.

> ⚠️ **Good to Know:** WIPO Patentscope and Google Patents have different filter surfaces. The optional filters (assignee, inventor, status, language, date) are applied to the Google-Patents-backed sources only.

### 🚀 How to use

1. [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp)
2. Open the actor on Apify Console
3. Set `query` and (optionally) `sources`
4. Click Start
5. access data / data / data / data

### 🔗 Recommended Actors

| Actor | What it does |
|---|---|
| [Google Patents Scraper](https://apify.com/parseforge/google-patents-scraper) | Single-source Google Patents |
| [WIPO Patentscope Scraper](https://apify.com/parseforge/wipo-patentscope-scraper) | Single-source WIPO |
| [USPTO PAIR Scraper](https://apify.com/parseforge/uspto-pair-scraper) | Single-source USPTO |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more all-in-one combos.


> **⚠️ Disclaimer:** independent tool, not affiliated with Google, USPTO, WIPO, CNIPA, CIPO, or any national IP office. Only publicly available data collected.

### 🆘 Need Help?

If you hit a bug, have questions about setup, or need a scraper we haven't built yet, open our [contact form](https://tally.so/r/BzdKgA) or write to parseforge@protonmail.com. We also take on paid custom data projects.

For faster answers, join our [Discord](https://parseforge.co/discord). It's the best place to get support and suggest new actors.

# Actor input Schema

## `query` (type: `string`):

Free-text keywords (e.g. "solar panel"). Use double quotes for exact phrases.
## `sources` (type: `array`):

Patent offices to query. Leave empty for all.
## `maxItems` (type: `integer`):

How many patents to collect per run.
## `assignee` (type: `string`):

Filter by patent assignee (company or person)
## `inventor` (type: `string`):

Filter by inventor name
## `status` (type: `string`):

GRANT, APPLICATION, or empty for both
## `dateFrom` (type: `string`):

YYYY-MM-DD format
## `dateTo` (type: `string`):

YYYY-MM-DD format
## `language` (type: `string`):

Filter by language code
## `sort` (type: `string`):

Sort by publication date

## Actor input object example

```json
{
  "query": "machine learning",
  "sources": [
    "google-patents",
    "china-cnipa",
    "canada-cipo",
    "uspto-pair",
    "wipo-patentscope",
    "india-ipo"
  ],
  "maxItems": 10,
  "sort": "new"
}
````

# 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 = {
    "query": "machine learning",
    "sources": [
        "google-patents",
        "china-cnipa",
        "canada-cipo",
        "uspto-pair",
        "wipo-patentscope",
        "india-ipo"
    ],
    "maxItems": 10,
    "sort": "new"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/worldwide-patent-search-scraper").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 = {
    "query": "machine learning",
    "sources": [
        "google-patents",
        "china-cnipa",
        "canada-cipo",
        "uspto-pair",
        "wipo-patentscope",
        "india-ipo",
    ],
    "maxItems": 10,
    "sort": "new",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/worldwide-patent-search-scraper").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 '{
  "query": "machine learning",
  "sources": [
    "google-patents",
    "china-cnipa",
    "canada-cipo",
    "uspto-pair",
    "wipo-patentscope",
    "india-ipo"
  ],
  "maxItems": 10,
  "sort": "new"
}' |
apify call parseforge/worldwide-patent-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Worldwide Patent Search Scraper - All-In-One",
        "description": "Run a single search across Google Patents, USPTO, China CNIPA, Canada CIPO, WIPO and India patents and unify every record. Pull title, abstract, inventors, assignees, dates, citations and classifications. Built for IP attorneys, R&D and prior-art research.",
        "version": "0.1",
        "x-build-id": "7Y3cxwOMbWmkrmfnS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~worldwide-patent-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-worldwide-patent-search-scraper",
                "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/parseforge~worldwide-patent-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-worldwide-patent-search-scraper",
                "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/parseforge~worldwide-patent-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-worldwide-patent-search-scraper",
                "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",
                "properties": {
                    "query": {
                        "title": "Patent search term",
                        "type": "string",
                        "description": "Free-text keywords (e.g. \"solar panel\"). Use double quotes for exact phrases."
                    },
                    "sources": {
                        "title": "Sources",
                        "type": "array",
                        "description": "Patent offices to query. Leave empty for all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "google-patents",
                                "china-cnipa",
                                "canada-cipo",
                                "uspto-pair",
                                "wipo-patentscope",
                                "india-ipo"
                            ],
                            "enumTitles": [
                                "Google Patents (Worldwide)",
                                "China CNIPA",
                                "Canada CIPO",
                                "USPTO PAIR",
                                "WIPO Patentscope",
                                "India IPO"
                            ]
                        }
                    },
                    "maxItems": {
                        "title": "Maximum patents",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "How many patents to collect per run."
                    },
                    "assignee": {
                        "title": "Assignee",
                        "type": "string",
                        "description": "Filter by patent assignee (company or person)"
                    },
                    "inventor": {
                        "title": "Inventor",
                        "type": "string",
                        "description": "Filter by inventor name"
                    },
                    "status": {
                        "title": "Status",
                        "enum": [
                            "",
                            "GRANT",
                            "APPLICATION"
                        ],
                        "type": "string",
                        "description": "GRANT, APPLICATION, or empty for both"
                    },
                    "dateFrom": {
                        "title": "Priority Date From",
                        "type": "string",
                        "description": "YYYY-MM-DD format"
                    },
                    "dateTo": {
                        "title": "Priority Date To",
                        "type": "string",
                        "description": "YYYY-MM-DD format"
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "",
                            "en",
                            "de",
                            "fr",
                            "zh",
                            "ja",
                            "ko",
                            "es",
                            "ru"
                        ],
                        "type": "string",
                        "description": "Filter by language code"
                    },
                    "sort": {
                        "title": "Sort",
                        "enum": [
                            "new",
                            "old",
                            ""
                        ],
                        "type": "string",
                        "description": "Sort by publication date"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
