llama-index-tools-cloro
LlamaIndex tools for cloro. cloro loads the live page of a search engine or an AI assistant for a query and a country, and returns the result as structured data.
| Tool | cloro endpoint | Returns | Credits per call |
|---|---|---|---|
google_search |
POST /v1/monitor/google |
One Document per Google organic result: title, URL and snippet. With include_ai_overview=True, the Google AI Overview and its sources first. |
5, or 7 with the AI Overview |
google_ai_mode |
POST /v1/monitor/aimode |
The Google AI Mode answer as Markdown, with its sources | 6 |
bing_ai_mode |
POST /v1/monitor/bing/aimode |
The Bing AI Mode (Copilot Search in Bing) answer, with its sources | 6 |
chatgpt |
POST /v1/monitor/chatgpt |
The ChatGPT answer that users see, with its sources | 7 |
gemini |
POST /v1/monitor/gemini |
The Gemini answer, with its sources | 6 |
Installation
pip install llama-index-tools-cloro
Get an API key at dashboard.cloro.dev.
The free plan includes 500 credits each month. Set the key as CLORO_API_KEY, or pass api_key=....
Usage
With an agent
import asyncio
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
from llama_index.tools.cloro import CloroToolSpec
cloro = CloroToolSpec(country="US", include_ai_overview=True)
agent = FunctionAgent(
tools=cloro.to_tool_list(),
llm=OpenAI(model="gpt-4.1"),
system_prompt="Answer with live search results. Cite the URLs you use.",
)
async def main() -> None:
print(await agent.run("What do Google AI Mode and ChatGPT say are the best SERP APIs?"))
asyncio.run(main())
To give the agent only some tools, filter the list:
tools = [t for t in cloro.to_tool_list() if t.metadata.name in ("google_search", "google_ai_mode")]
Direct calls
from llama_index.tools.cloro import CloroToolSpec
cloro = CloroToolSpec()
for doc in cloro.google_search("retrieval-augmented generation", max_results=5, country="GB"):
print(doc.metadata["title"], doc.metadata["url"])
answer = cloro.google_ai_mode("What is retrieval-augmented generation?")[0]
print(answer.text)
print(answer.metadata["sources"])
Each tool returns a list of Document. The text is what the agent reads:
google_search: one Document per result. The text is the title, the URL and the snippet.metadatahastitle,urlandposition. Results with an empty link or a Google redirect link are skipped. With the AI Overview turned on, the first Document is the AI Overview and its sources, withmetadata["engine"] == "google_ai_overview".- The AI answer tools: one Document. The text is the answer as Markdown, then a "Sources" list.
metadatahasengine,promptandsources(a list oftitleandurl).
Parameters
CloroToolSpec(api_key=None, country="US", timeout=180.0, include_ai_overview=False)
api_key: the cloro API key. Defaults to theCLORO_API_KEYenvironment variable.country: ISO 3166-1 alpha-2 country code for the search location. Each tool also takescountryper call.timeout: request timeout in seconds. An AI answer can take 15 to 60 seconds.include_ai_overview: makegoogle_searchalso return the Google AI Overview. It costs 2 more credits per search.
Limits
- Bing AI Mode accepts a prompt of up to 3,500 characters after URL encoding. Non-Latin scripts allow fewer
characters.
bing_ai_moderefuses a longer prompt before it sends the request. - Your plan sets how many requests can run at the same time. A request sent while all slots are busy gets a
429(CONCURRENCY_LIMIT_EXCEEDED). - An API error raises
CloroErrorwith the HTTP status, the cloro error code and the message.
Development
uv run --with 'llama-index-core>=0.13,<0.15' --with httpx --with pytest -- python -m pytest tests
The tests mock the network. The API reference is at cloro.dev/docs.
License
MIT
Metadata
Release files for llama-index-tools-cloro 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| llama_index_tools_cloro-0.2.0.tar.gz | 7.3 kB | With provenance | Details for llama_index_tools_cloro-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| llama_index_tools_cloro-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for llama_index_tools_cloro-0.2.0-py3-none-any.whl |
Total release size: 14.3 kB
Release files / llama_index_tools_cloro-0.2.0.tar.gz
| Download URL | llama_index_tools_cloro-0.2.0.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b86f85b88c2fb0ca71b4bcf6154ba0158dd68e616bc4c06c6ece4fc5af9e86d1
|
|
BLAKE2b-256 checksum How to use checksums |
e89dde43236e81ed160c6e07381d4019b0f3d161dbaeeb6bc72819e3040746d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logRelease files / llama_index_tools_cloro-0.2.0-py3-none-any.whl
| Download URL | llama_index_tools_cloro-0.2.0-py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35c5d60f54dde8d7b0464f3f4e19228396304ffd1aebaa129dcaff9efbbe1444
|
|
BLAKE2b-256 checksum How to use checksums |
319109256079da2cd026acf41daa2cbfb14dd0884982b9412f5569b65698580f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logSecurity for llama-index-tools-cloro 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for llama_index_tools_cloro-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.