# Agno
URL: /integrations/agno

---
title: Agno
sidebarTitle: Agno
description: Build Python agent teams with shared memory, reasoning, and RAG.
llm: true
---

Agno is a Python framework for building multi-agent systems with shared memory, knowledge, and reasoning. The Steel integration wraps a Steel browser as an Agno toolkit, so Agno agents can navigate, fill forms, extract data, and combine browsing with retrieval-augmented reasoning.

Agno is model-agnostic and natively multi-modal, which pairs well with Steel's reliable, sandboxed cloud browsers.

### Requirements

*   **Steel API Key**: Active Steel subscription
*   **Model provider key**: OpenAI, Anthropic, or any Agno-supported provider
*   **Python**: 3.10+

### Connect Steel to Agno

Wrap a Steel-backed Playwright `page` in an Agno `Toolkit`:

```python Python -wc
import os
from playwright.sync_api import sync_playwright
from steel import Steel

steel = Steel(steel_api_key=os.environ["STEEL_API_KEY"])
session = steel.sessions.create()

playwright = sync_playwright().start()
browser = playwright.chromium.connect_over_cdp(
    f"{session.websocket_url}&apiKey={os.environ['STEEL_API_KEY']}"
)
page = browser.contexts[0].pages[0]
# `page` is your Steel browser. Wrap it in an Agno Toolkit
```

Full runnable starter: [Steel + Agno recipe →](/cookbook/agno)

### FAQ

### Do I need to change my existing Agno code to use Steel?

No — Steel is exposed to Agno as a regular `Toolkit`. You connect Playwright to a Steel session over CDP and wrap the resulting `page` in the toolkit; agents, teams, memory, and reasoning stay as they were.

### How do I connect Agno to a Steel browser session?

Create a session with `steel.sessions.create()`, connect with `playwright.chromium.connect_over_cdp(f"{session.websocket_url}&apiKey={STEEL_API_KEY}")`, take `browser.contexts[0].pages[0]` as your page, and wrap it in an Agno `Toolkit`.

### Does Agno work with Steel's proxies, stealth mode, and CAPTCHA solving?

Yes — set them at session creation (e.g. `use_proxy`, `solve_captcha`, `stealth_config` on `sessions.create()`). Agno only sees the Playwright page, so these options don't touch your agent code.

### Which model providers can I use with Agno on Steel?

Any Agno-supported provider — Agno is model-agnostic and natively multi-modal, so OpenAI, Anthropic, or others all work. You just need the provider key plus your Steel API key.


### Resources

*   [Agno documentation](https://docs.agno.com/) – Concepts, APIs, and examples for agents, teams, memory, and reasoning
*   [Steel Sessions API reference](/api-reference) – Manage Steel browser sessions programmatically
*   [Steel Discord](https://discord.gg/steel-dev) – Get help, share recipes, and discuss best practices
