Google API: Search patents
Finds Google Patents about an invention. Optional filters: inventor, assignee, country, filing date and publication stage. Legal status is the site's estimate.
Unofficial. Not affiliated with or endorsed by Google.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Page optional
page Results page to return, for example 2. The first page is 1.
1 (default)
Whole number 1 or more.
- Sort optional
sort Result order, for example newest.
newest
One of
relevance,newest,oldest. Defaultrelevance.- Query, required
query Describe the invention in plain words, for example wireless charging for electric cars.
battery temperature management
- Status optional
status Publication stage, for example granted. Any includes both.
granted
One of
any,granted,application. Defaultany.- Company optional
company Assignee company, for example Tesla.
Not set
- Inventor optional
inventor Inventor name, for example John B Goodenough.
John B Goodenough
- Countries optional
countries Countries by name or two-letter code, for example ["United States", "Germany"]. Omit for all countries.
- United States
List of text.
- Filed After optional
filed_after Earliest filing date, for example 2015-01-01.
2000-01-01
- Max Results optional
max_results Number of patents to return, for example 20. Maximum 100.
5
Whole number from 1 to 100. Default
20.- Filed Before optional
filed_before Latest filing date, for example 2025-01-01.
2025-01-01
Input as JSON
{ "sort": "newest", "query": "battery temperature management", "status": "granted", "inventor": "John B Goodenough", "countries": [ "United States" ], "filed_after": "2000-01-01", "max_results": 5, "filed_before": "2025-01-01"}Output
{ "patents": [ { "link": "https://patents.google.com/patent/US12322831B2/en" , "title": "Electrolyte membrane for an alkali metal battery", "status": "Active", "assignee": "Enpower Greentech, Inc.", "inventors": [ "John B. Goodenough" ], "grant_date": "2025-06-03", "filing_date": "2021-09-27", "patent_number": "US12322831B2", "priority_date": "2020-09-28", "abstract_snippet": "The present disclosure relates to an electrolyte membrane for an alkali metal or an alkali metal ion battery, comprising: a composite membrane comprising an ionically conductive polymer; an alkali metal salt; and a filler comprising a carbon nitride nanosheet, an oxygenated carbon nitride …", "publication_date": "2025-06-03", "thumbnail_image_link": "https://patentimages.storage.googleapis.com/76/0c/26/10bae5286c8678/US12322831-20250603-D00000.png" }, { "link": "https://patents.google.com/patent/US11049667B2/en" , "title": "Heat energy-powered electrochemical cells", "status": "Expired - Fee Related", "assignee": "Hydro-Quebec", "inventors": [ "John B. Goodenough" ], "grant_date": "2021-06-29", "filing_date": "2020-09-01", "patent_number": "US11049667B2", "priority_date": "2017-10-12", "abstract_snippet": "The present disclosure provides a heat energy-powered electrochemical cell including an anode, a cathode, and a solid metal polymer/glass electrolyte. The solid metal polymer/glass electrolyte includes between 1% and 50% metal polymer by weight as compared to total solid metal polymer/glass …" , "publication_date": "2021-06-29", "thumbnail_image_link": "https://patentimages.storage.googleapis.com/da/43/6e/105f6991d4c7c5/US11049667-20210629-D00000.png" }, { "link": "https://patents.google.com/patent/US11177474B2/en" , "title": "Electrochemical cells with a high voltage cathode", "status": "Expired - Fee Related", "assignee": "HYDRO-QUéBEC", "inventors": [ "John B. Goodenough" ], "grant_date": "2021-11-16", "filing_date": "2019-06-18", "patent_number": "US11177474B2", "priority_date": "2017-04-03", "abstract_snippet": "The present disclosure provides a rechargeable electrochemical cell including an electrolyte side, a cathode side, and a polymer/plasticizer. The electrolyte side includes a solid glass electrolyte including an electrolyte mobile cation and electric dipoles, as well as an anode including a metal …" , "publication_date": "2021-11-16", "thumbnail_image_link": "https://patentimages.storage.googleapis.com/8e/19/45/307bf17ba58c1f/US11177474-20211116-D00000.png" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"patents.google.com/search_patents","input":{"sort":"newest","query":"battery temperature management","status":"granted","inventor":"John B Goodenough","countries":["United States"],"filed_after":"2000-01-01","max_results":5,"filed_before":"2025-01-01"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "patents.google.com/search_patents" , "input": { "sort": "newest", "query": "battery temperature management", "status": "granted", "inventor": "John B Goodenough", "countries": [ "United States" ], "filed_after": "2000-01-01", "max_results": 5, "filed_before": "2025-01-01" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "patents.google.com/search_patents" , "input": { "sort": "newest", "query": "battery temperature management", "status": "granted", "inventor": "John B Goodenough", "countries": [ "United States" ], "filed_after": "2000-01-01", "max_results": 5, "filed_before": "2025-01-01" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run patents.google.com/search_patents# with {"sort":"newest","query":"battery temperature management","status":"granted","inventor":"John B Goodenough","countries":["United States"],"filed_after":"2000-01-01","max_results":5,"filed_before":"2025-01-01"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "query" ], "properties": { "page": { "type": "integer", "default": 1, "minimum": 1, "description": "Results page to return, for example 2. The first page is 1." }, "sort": { "enum": [ "relevance", "newest", "oldest" ], "type": "string", "default": "relevance", "description": "Result order, for example newest." }, "query": { "type": "string", "description": "Describe the invention in plain words, for example wireless charging for electric cars." }, "status": { "enum": [ "any", "granted", "application" ], "type": "string", "default": "any", "description": "Publication stage, for example granted. Any includes both." }, "company": { "type": "string", "description": "Assignee company, for example Tesla." }, "inventor": { "type": "string", "description": "Inventor name, for example John B Goodenough." }, "countries": { "type": "array", "items": { "type": "string" }, "description": "Countries by name or two-letter code, for example [\"United States\", \"Germany\"]. Omit for all countries." }, "filed_after": { "type": "string", "description": "Earliest filing date, for example 2015-01-01." }, "max_results": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "description": "Number of patents to return, for example 20. Maximum 100." }, "filed_before": { "type": "string", "description": "Latest filing date, for example 2025-01-01." } }}Output schema
{ "type": "object", "required": [ "patents" ], "properties": { "patents": { "type": "array", "items": { "type": "object", "properties": { "link": { "type": "string" }, "title": { "type": [ "string", "null" ] }, "status": { "type": [ "string", "null" ] }, "assignee": { "type": [ "string", "null" ] }, "inventors": { "type": "array", "items": { "type": "string" } }, "grant_date": { "type": [ "string", "null" ] }, "filing_date": { "type": [ "string", "null" ] }, "patent_number": { "type": "string" }, "priority_date": { "type": [ "string", "null" ] }, "abstract_snippet": { "type": [ "string", "null" ] }, "publication_date": { "type": [ "string", "null" ] }, "thumbnail_image_link": { "type": [ "string", "null" ] } } } } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
patents.google.com/search_patents- Returns
- patent number, title, assignee, inventors, dates, status, snippet, thumbnail, link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method patents.google.com/search_patents with the inputs above.
Ask your agent
- Find patents on solid-state lithium battery electrolytes filed after 2018 with granted status
- Search Google Patents for drone delivery package release mechanisms assigned to Amazon
- Look up patents by inventor Katalin Kariko related to mRNA delivery, newest first
- Show me granted patents in Germany and Japan about hydrogen fuel cell membranes filed before 2020
- I need patent applications covering autonomous vehicle lidar sensor cleaning, sorted oldest first, page 2
See more
All Google methodsGets one public patent or published application by number, title, or Google Patents link, with claims, citations, family and classifications.
patents.google.com/get_patentSummarizes a company's public patents on Google Patents within filing dates (optionally narrowed by topic words): total found, filings per year, top technology areas and inventors across the 50 most recent records, and the most recent patents.
patents.google.com/list_company_patentsSearches Google Books by words, author, subject or ISBN, with language, free-ebook and newest-first options. Ratings counts are not shown by the public book feed; newest sorts the available matches by publication date.
books.google.com/search_booksFinds Google Flights options for a route and date with prices, local times, stops and emissions. Round-trip searches list outbound choices with their displayed round-trip fares.
google.com/search_flightsFinds Android apps on Google Play by keywords, in Play search order, with each listing's developer, star rating, price and currency for the chosen country, download range and link. Results are limited to apps shown on the public search page.
play.google.com/search_appsFinds recent Google News articles about a company, person or topic for a country and language, in Google News order, optionally within a time window, with each article's publisher link resolved.
news.google.com/search_newsFinds a verified advertiser in the Google Ads Transparency Center by company name or website domain and returns its Google ads with dates, regions, previews and ad pages. Counts may be approximate; regions and media previews are read for the first 40 ads.
adstransparency.google.com/get_company_adsFinds Chrome Web Store extensions by keywords in store order, with each listing's developer, users, rating, rating count, short description and store link. Some listings omit developer, users or ratings.
chromewebstore.google.com/search_extensions