⚡ The execution runtime for AI agents

Give your AI agent
the ability to act.

One import. Every action your agent needs — browsing, code, email, APIs, files — logged, permissioned, and safe by default.

Browse the web Run code Send email Call APIs Manage files
agent.py
from agentlegs import Legs   legs = Legs(api_key="al_...")   # Browse, code, email, API, files — all in one runtime result = await legs.browse("https://example.com") output = await legs.run_code("python", script) await legs.send_email(to="user@co.com", body=output)

Every team wires the same action stack from scratch — then hopes none of it misfires.

Browser automation, sandboxed code execution, email wiring, API connectors, file handlers — built by hand, untested under edge cases, and permanently on your oncall rotation.

Weeks 1–2

Browser plumbing

Spinning up Playwright or Selenium, handling authentication, managing session state, dealing with rate limits and bot detection. None of it is your product.

Weeks 3–4

Sandbox nightmares

Code execution requires containers, timeouts, resource limits, and security isolation. Every team reinvents this. Most get it subtly wrong.

Forever

Side-effect anxiety

Agents that act can cause unintended consequences. Without an audit log and permission layer, you have no way to know what your agent did or why.

Every action your agent needs

Five hardened action types. One unified API. Every call logged, permissioned, and observable.

🌐

Web Browsing

Full browser automation without Playwright setup. Click, scroll, extract, fill forms, handle auth, bypass bot detection. Rendered pages, not just HTML.

⚙️

Code Execution

Run Python, JavaScript, Bash, and more in isolated sandboxes. CPU and memory limits, timeout enforcement, output streaming. No container management.

✉️

Email

Send transactional and agent-triggered email. HTML and plain text, attachments, threading, bounce handling. Works with any provider via SMTP or API.

🔌

API Calls

Authenticated outbound HTTP to any third-party API. Secret management, retry logic, rate limit handling, and structured response parsing built in.

📁

File Management

Read, write, transform, and transfer files across local and cloud storage. CSV, JSON, PDF, images. Structured outputs agents can actually reason over.

🔒

Audit Log & Permissions

Every action logged with inputs, outputs, and timestamps. Permission scopes prevent agents from taking actions outside their defined role.

Add action capabilities in one import

1

Install Agent Legs

One package. Supports Python and JavaScript. Connect to your existing agent with your API key. No infrastructure to provision, no containers to manage.

2

Attach actions to your agent

Register browse, run_code, send_email, call_api, and manage_files as tools. Your LLM can now call them. Agent Legs executes them safely with full observability.

3

Ship, observe, iterate

Every action is logged in the Agent Legs dashboard. Review what your agent did, replay failed runs, and tighten permissions as your agent matures in production.

Build agents that act

Your agent has a brain.
Give it legs.

Free for 1,000 actions/month. No credit card required to start.

Get early access