steel-sdk
The official Python library for the steel API
What it is and what it does
Steel SDK is the official Python client library for the Steel REST API, generated using Stainless. It provides both synchronous and asynchronous clients powered by httpx, with full type annotations for all request parameters and response fields using Pydantic models and TypedDicts. The library handles common REST patterns including auto-pagination, file uploads, nested parameters, and comprehensive error handling with automatic retries for transient failures.
Developers use it to integrate Steel API functionality into Python applications without manually constructing HTTP requests. The library supports modern Python versions (3.9 through 3.14), offers editor autocomplete and type checking, and can optionally use aiohttp as an HTTP backend for improved async concurrency. Configuration is simple—credentials are typically loaded from environment variables—and the API surface mirrors the REST documentation.
Use it for:
- Build automation tools that create and manage Steel browser sessions programmatically.
- Integrate Steel's browser automation into async web applications or event-driven systems.
- Batch process large lists of sessions with auto-pagination without manual page handling.
- Upload files to Steel via the typed file upload interface with automatic content-type handling.
- Handle API errors gracefully with specific exception types (RateLimitError, AuthenticationError, etc.).
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a typed Python client for the Steel REST API with both synchronous and asynchronous interfaces, auto-pagination, and comprehensive error handling.
Yes. The package has low install friction, active maintenance, no known vulnerabilities, permissive licensing, and comprehensive type support. Install it if you need to call the Steel API from Python; the typed interface and async support make it substantially easier than raw HTTP requests. Verify that your use case aligns with Steel's service offerings before committing.
Install
steel-sdk on PyPI
pip
pip install steel-sdkuv
uv add steel-sdkpoetry
poetry add steel-sdkInstalling steel-sdk
Before you install
Low friction install with six standard dependencies (anyio, distro, httpx, pydantic, sniffio, typing-extensions). Actively maintained with recent commits and no known vulnerabilities.
License in practice
Apache-2.0 is permissive; you can use, modify, and distribute this library freely in commercial and private projects with minimal restrictions.
Quickstart
pip install steel-sdk
from steel import Steel
client = Steel()
session = client.sessions.create(
api_timeout=20000,
use_proxy=True,
)
print(session.id)
Requires Python 3.9 or later; Steel API key must be set via STEEL_API_KEY environment variable or passed to client constructor.
Verify before relying
- Whether Steel API service itself is production-ready and has documented SLAs.
- Rate limiting behavior and retry strategy details beyond the documented 2 default retries.
- Performance characteristics under high concurrency with aiohttp backend vs. default httpx.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — anyio, distro, httpx, pydantic, sniffio, typing-extensions |
| Maintenance | actively maintained — 52 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 154,533/month — #10,851 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: steel_sdk-0.19.0-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
composio-clientA Python client library for the Composio REST…
permissive · top 5,000 on PyPI
opencode-aiProvides a Python client library for the…
permissive · top 15,000 on PyPI
arcadepyProvides a typed Python client library for the…
permissive · top 15,000 on PyPI
cloudflareProvides a Python client library for the…
permissive · top 5,000 on PyPI
agentex-clientProvides a typed Python REST client for the…
permissive · top 15,000 on PyPI
hiddenlayer-sdkProvides a typed Python client for the…
permissive · top 15,000 on PyPI
supermemoryProvides a Python client library for the…
permissive · top 15,000 on PyPI
prelude-python-sdkProvides a typed Python client for the Prelude…
permissive · top 5,000 on PyPI
browserbaseBrowserbase is a Python client library for the…
permissive · top 5,000 on PyPI
bilibili-api-pythonProvides async Python bindings for Bilibili's…
copyleft · top 15,000 on PyPI