From 11d5f2bf56d9e93e039e5186b7784daa26da83c2 Mon Sep 17 00:00:00 2001 From: Victor Kzam Date: Fri, 30 Oct 2026 11:17:42 +0000 Subject: [PATCH 1/5] docs: describe the SDK as a SERP API, a Google News API and an AI search API The opening now calls the SDK an official Python SDK for a SERP API for Google Search, a Google News API and an AI search API, and lists the use cases. Co-Authored-By: Claude --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8a3462c..c2713ba 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ # cloro Python SDK -The official Python client for [**cloro**](https://cloro.dev) — one API for -Google Search and every AI answer engine (ChatGPT, Gemini, Perplexity, Copilot, -AI Overview, AI Mode). Real-time, structured JSON. +The official Python SDK for [**cloro**](https://cloro.dev): a +[SERP API](https://cloro.dev/serp-api/) for Google Search, a Google News API +and an AI search API that returns the answers of ChatGPT, Perplexity, Gemini, +Copilot, Google AI Overview and AI Mode as real-time, structured JSON with +sources. Use it in scripts, data pipelines, agents and RAG pipelines. Use the SDK, or [just `curl` it](https://cloro.dev/docs) — same clean response either way. The SDK adds typed methods, sensible retries, and a polling helper From 8c4ab9ff1256e50feb0982d633e9d2350b9822ee Mon Sep 17 00:00:00 2001 From: Victor Kzam Date: Fri, 30 Oct 2026 11:17:42 +0000 Subject: [PATCH 2/5] docs: link the hosted MCP server Adds a paragraph with the hosted MCP server URL, its setup page and its source. Co-Authored-By: Claude --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index c2713ba..60714cc 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,11 @@ and an AI search API that returns the answers of ChatGPT, Perplexity, Gemini, Copilot, Google AI Overview and AI Mode as real-time, structured JSON with sources. Use it in scripts, data pipelines, agents and RAG pipelines. +For agents there is also a hosted MCP server at `https://mcp.cloro.dev/mcp` +for Claude, Cursor and any MCP client +([setup](https://cloro.dev/docs/integrations/mcp), +[source](https://github.com/cloro-dev/mcp-server)). + Use the SDK, or [just `curl` it](https://cloro.dev/docs) — same clean response either way. The SDK adds typed methods, sensible retries, and a polling helper for the async task queue so you don't hand-roll it. From a28a4a2c9aecefcaa2e174087958aac60931e4e8 Mon Sep 17 00:00:00 2001 From: Victor Kzam Date: Fri, 30 Oct 2026 11:17:42 +0000 Subject: [PATCH 3/5] docs: add a Google Search results section with its costs Shows how to read parsed Google results, get raw HTML links and add the AI Overview, with page, AI Overview and sync credit costs. Co-Authored-By: Claude --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 60714cc..879db17 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,28 @@ client.monitor.google_news(query="acme corp", country="US") Pass `include={...}` to request extra formats — `markdown`, `html`, `searchQueries`, `shopping`, and more, depending on the engine. +## Google Search results as JSON + +`client.monitor.google` returns the parsed results page: organic results, +People Also Ask, ads, local results and more. One request covers up to 10 +pages; each page after the first adds 2 credits. Add `include={"html": True}` +for links to the raw HTML of each page, at no extra cost. + +```python +res = client.monitor.google(query="best crm", country="US", pages=2, include={"html": True}) + +for item in res["result"]["organicResults"]: + print(item["position"], item["title"], item["link"]) + +print(res["result"]["html"]) # one URL per page; each expires after 24 hours +``` + +Add `include={"aioverview": True}` to get Google's AI Overview and its sources +in the same response (+2 credits). + +`client.monitor` calls are sync requests, so each adds a +2 credit surcharge +on top of the base cost and any add-ons; the async task queue below does not. + ## Async task queue For high-volume or long-running work, enqueue tasks and poll them to completion. From d5b1626cb67f441c6ddc2521a589e9a8d67a09a0 Mon Sep 17 00:00:00 2001 From: Victor Kzam Date: Fri, 30 Oct 2026 11:17:42 +0000 Subject: [PATCH 4/5] docs: say that ChatGPT searchQueries needs legacy=True Without legacy=True the ChatGPT searchQueries field comes back empty, so the line now says so. Co-Authored-By: Claude --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 879db17..56dd704 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,8 @@ client.monitor.google_news(query="acme corp", country="US") ``` Pass `include={...}` to request extra formats — `markdown`, `html`, -`searchQueries`, `shopping`, and more, depending on the engine. +`searchQueries`, `shopping`, and more, depending on the engine. On ChatGPT, +`searchQueries` is empty unless you also pass `legacy=True` (best effort). ## Google Search results as JSON From f90273c9b2e2cca3d6f3b005cdefb5d83ac4f821 Mon Sep 17 00:00:00 2001 From: Victor Kzam Date: Fri, 30 Oct 2026 11:17:42 +0000 Subject: [PATCH 5/5] docs: replace em dashes in prose Swaps the em dashes in prose for colons. Code comments keep theirs. Co-Authored-By: Claude --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 56dd704..e136585 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ for Claude, Cursor and any MCP client ([setup](https://cloro.dev/docs/integrations/mcp), [source](https://github.com/cloro-dev/mcp-server)). -Use the SDK, or [just `curl` it](https://cloro.dev/docs) — same clean response +Use the SDK, or [just `curl` it](https://cloro.dev/docs): same clean response either way. The SDK adds typed methods, sensible retries, and a polling helper for the async task queue so you don't hand-roll it. @@ -61,7 +61,7 @@ client.monitor.google(query="best crm", country="US", pages=1) client.monitor.google_news(query="acme corp", country="US") ``` -Pass `include={...}` to request extra formats — `markdown`, `html`, +Pass `include={...}` to request extra formats: `markdown`, `html`, `searchQueries`, `shopping`, and more, depending on the engine. On ChatGPT, `searchQueries` is empty unless you also pass `legacy=True` (best effort). @@ -186,9 +186,9 @@ client.states() # US states for location-targeted Google ## Links -- [cloro.dev](https://cloro.dev) — the hosted SERP + AI answer-engine API -- [SERP API](https://cloro.dev/serp-api/) — the Google Search endpoint this SDK wraps -- [Python guide](https://cloro.dev/integrations/python/) — quickstart, recipes, and production patterns +- [cloro.dev](https://cloro.dev): the hosted SERP + AI answer-engine API +- [SERP API](https://cloro.dev/serp-api/): the Google Search endpoint this SDK wraps +- [Python guide](https://cloro.dev/integrations/python/): quickstart, recipes, and production patterns - [Docs](https://cloro.dev/docs) and [API reference (OpenAPI)](https://cloro.dev/docs/api-reference/openapi.json) - [Pricing](https://cloro.dev/pricing/) · [Dashboard](https://dashboard.cloro.dev/) - TypeScript SDK: [cloro-node](https://github.com/cloro-dev/cloro-node)