> ## Documentation Index
> Fetch the complete documentation index at: https://docs.keenable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Haystack

> Keenable web search and page-fetch components for Haystack pipelines.

*Pipeline components*

Keenable web search and page-fetch components for Haystack pipelines — listed in the Haystack integrations catalog.

→ [keenable in the Haystack integrations catalog](https://haystack.deepset.ai/integrations/keenable)

<video controls poster="https://app.keenable.ai/integrations/haystack.jpg" src="https://app.keenable.ai/integrations/haystack.mp4" style={{ width: '100%', borderRadius: '12px' }} />

pip install, then `KeenableWebSearch().run` returns ranked links.

## Install

### Install

```bash theme={"dark"}
pip install keenable-haystack
```

### Use the components

```python theme={"dark"}
from haystack_integrations.components.websearch.keenable import KeenableWebSearch
from haystack_integrations.components.fetchers.keenable import KeenableFetcher

hits = KeenableWebSearch(top_k=5).run(query="latest AI agents")
pages = KeenableFetcher().run(urls=hits["links"][:2])   # -> {"documents": [...]}
```

<Note>
  Set `KEENABLE_API_KEY` or pass `api_key=Secret.from_token(…)` to authenticate — this removes the hourly request cap. Without a key, calls run on the shared public tier at [lower rate limits](/rate-limits).
</Note>
