Metadata-Version: 2.4
Name: actuent
Version: 0.3.0
Summary: Python SDK for Actuent — the search engine for AI agents. Websites and products as structured LAWP, plus LangChain and LlamaIndex tools.
Author-email: localilabs <support@localilabs.com>
License: MIT
Project-URL: Homepage, https://actuent.ai
Project-URL: Documentation, https://docs.actuent.ai
Project-URL: Source, https://github.com/localilabs/actuent-python
Keywords: ai,agents,search,lawp,mcp,langchain,llamaindex
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: langchain
Requires-Dist: langchain-core>=0.2; extra == "langchain"
Provides-Extra: llamaindex
Requires-Dist: llama-index-core>=0.10; extra == "llamaindex"
Dynamic: license-file

# Actuent for Python

Search the web as structured data. [Actuent](https://actuent.ai) is a search engine for AI agents: it returns websites as **LAWP** (clean JSON with each site's pages and the actions a visitor can take) and products with prices, instead of raw HTML.

```bash
pip install actuent
```

```python
from actuent import Actuent

client = Actuent()                       # free tier; Actuent(api_key="ak_...") for Pro
site = client.get_site("stripe.com")      # pages + actions for one site
results = client.search("barber amsterdam")["results"]
shoes = client.products("running shoes under €100")   # products with prices, in English
```

Searches work in any language and always come back in English. Free: 20 requests/minute. Pro keys from [actuent.ai](https://actuent.ai): full results and 60/minute. Rate-limit info is in `client.rate_limit`; a `RateLimitError` has `retry_after`.

## LangChain

```bash
pip install "actuent[langchain]"
```

```python
from actuent.langchain import get_tools
tools = get_tools()          # [ActuentSearchTool]
```


## Plans, services and more (0.2)

```python
client.plan("Nørreport, Copenhagen", stops=["dinner", "drinks"], start_time="19:00")
client.trip("Lisbon", days=3)
client.find_service("skin fade under €30", location="Amsterdam")
client.nearby("cafe", "Jordaan, Amsterdam", filters=["vegan", "wifi"], open_now=True)
client.events(location="Copenhagen", query="jazz")
client.ask_site("nike.com", "free returns?")
client.compare_products([url_a, url_b])
client.score("yoursite.com")                     # agent-readiness 0–100
client.watch_price(url, notify="both")           # Pro: price drops and back in stock
```

## LlamaIndex

```bash
pip install "actuent[llamaindex]"
```

```python
from actuent.llama_index import get_tools
tools = get_tools()          # [FunctionTool actuent_search]
```

## More

- `client.check_site("yoursite.com")`: validate your `/.well-known/lawp.json` and action endpoints
- `client.register({...})`: list your own site (Pro, verified domain)
- `client.state()`: live "State of the AI web" numbers

Docs: [docs.actuent.ai](https://docs.actuent.ai) · MCP server for Claude and ChatGPT: `https://agents.actuent.ai/api/mcp`

Made by [localilabs](https://localilabs.com). MIT licensed.
