Google Research Tools
Google Patent Search
Search Google patent and related scholarly records with structured results, pagination details, and search summaries. Available via REST API or MCP.
MCP tool name
nexscope_google_patent_searchMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "google-patent-search-1",
"method": "tools/call",
"params": {
"name": "nexscope_google_patent_search",
"arguments": {
"num": 10,
"page": 1,
"q": "wireless earbuds"
}
}
}MCP 2025-11-25 · Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
q | string | required | Patent search query, maximum 1000 characters Example: wireless earbuds |
num | integer | optional | Results per page, from 10 to 100 Example: 10 |
page | integer | optional | Page number, starting at 1 Example: 1 |
country | string | optional | Country codes separated by English commas, such as US,CN,WO Example: {} |
language | string | optional | Google Patents language values separated by English commas Example: {} |
before | string | optional | Upper date boundary such as filing:20260101 Example: {} |
after | string | optional | Lower date boundary such as filing:20200101 Example: {} |
sort | string | optional | Sort order: new or old Example: {} |
type | string | optional | Document type: PATENT or DESIGN Example: {} |
status | string | optional | Document status: GRANT or APPLICATION Example: {} |
patents | boolean | optional | Include patent results Example: true |
scholar | boolean | optional | Include scholar results Example: false |
litigation | string | optional | Litigation filter: YES or NO Example: {} |
inventor | string | optional | Inventor names separated by English commas Example: {} |
assignee | string | optional | Assignee names separated by English commas Example: {} |
clustered | boolean | optional | Cluster results by classification when supplied; only true is supported Example: {} |
dups | string | optional | Omit for patent-family deduplication; language selects publication-text deduplication Example: {} |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
errcode | integer | optional | `200` indicates success. Example: {} |
errmsg | string | optional | `ok` indicates success, otherwise it is an error description. Example: {} |
organicResults | array | optional | List of patent search results. Example: {} |
searchParameters | object | optional | Echoed query parameters (`q`/`engine`/`num`/`patents`/`page`/`scholar`, etc.). Example: {} |
searchInformation | object | optional | Retrieve meta information, including `total_results` (total number of hits), `total_pages` (total number of pages), `page_number` (current page). Example: {} |
searchMetadata | object | optional | Retrieve processing metadata. Example: {} |
pagination | object | optional | Paging information (`next`, `current`). Example: {} |
serpapiPagination | object | optional | Upstream paging information. Example: {} |
summary | object | optional | Result summary (including `cpc` classification aggregation, etc., only part of it is returned during classification aggregation). Example: {} |
costToken | integer | optional | Consume token. Example: {} |
message | string | optional | Upstream prompt information; successful but may appear under special circumstances. Most successful responses do not contain this field. Example: {} |
publicationNumber | string | optional | Public account. Example: {} |
patentId | string | optional | Patent ID. Example: {} |
title | string | optional | Patent or academic result titles. Example: {} |
snippet | string | optional | Abstracts of patent or academic results. Example: {} |
inventor | string | optional | Inventor. Example: {} |
assignee | string | optional | Assignee. Example: {} |
filingDate | string | optional | Application date. Example: {} |
publicationDate | string | optional | Publication or release date. Example: {} |
grantDate | string | optional | Authorization date. Example: {} |
priorityDate | string | optional | Priority date. Example: {} |
language | string | optional | Patent language. Example: {} |
cpc | string | optional | Collaborative patent classification (returned only when classification is aggregated). Example: {} |
cpcDescription | string | optional | Description of cooperative patent classification. Example: {} |
countryStatus | object | optional | The legal status of each country. Example: {} |
position | integer | optional | Search result location. Example: {} |
rank | integer | optional | Result ranking (may differ from `position` when aggregated). Example: {} |
patentLink | string | optional | Google Patents patent link. Example: {} |
pdf | string | optional | Patent PDF link. Example: {} |
thumbnail | string | optional | Patent thumbnail. Example: {} |
figures | array | optional | Patent image list, elements containing `thumbnail`, `full`. Example: {} |
scholar | boolean | optional | Whether it is a Google Scholar result. Example: {} |
scholarId | string | optional | Scholar result ID. Example: {} |
scholarLink | string | optional | Google Scholar results link. Example: {} |
author | string | optional | Scholar result author. Example: {} |
authorEtal | boolean | optional | Whether the Scholar result contains three or more authors. Example: {} |
publicationVenue | string | optional | Scholar results publication venue. Example: {} |
urlHostname | string | optional | Scholar result source domain name. Example: {} |
serpapiLink | string | optional | Result details API link. Example: {} |
Examples
Example arguments
{
"num": 10,
"page": 1,
"q": "wireless earbuds"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}