---
title: "Deploy Steel Browser (Headless Browser API for AI Agents)"
description: "Open-source headless browser API for AI agents: CDP, Puppeteer, Playwright"
category: "Automation"
url: https://railway.com/deploy/steel-browser-headless-browser-api-for-a
---

# Deploy Steel Browser (Headless Browser API for AI Agents)

Open-source headless browser API for AI agents: CDP, Puppeteer, Playwright

**[Deploy Steel Browser (Headless Browser API for AI Agents) on Railway](https://railway.com/template/steel-browser-headless-browser-api-for-a)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/steel-browser-headless-browser-api-for-a/manifest.json

- **Creator:** Nick K's Projects
- **Category:** Automation
- **Total deploys:** 1

## Template content

### Steel Browser https://raw.githubusercontent.com/steel-dev/steel-browser/main/images/steel_header_logo.png

- **Image:** ghcr.io/steel-dev/steel-browser:latest
- **Health check:** /v1/health
- **Public domain:** Yes

## Documentation

# Deploy and Host Steel Browser on Railway

Steel Browser is an open-source headless browser API purpose-built for AI agents and automation. It runs managed Chromium sessions with a REST API and a Chrome DevTools Protocol (CDP) endpoint, so Puppeteer, Playwright, Selenium, browser-use, Stagehand and LangChain agents can drive a real browser without you managing Chrome yourself. It adds session management, a live session viewer, proxy support, cookie/context persistence, PDF and screenshot capture, and anti-bot-friendly defaults.

## About Hosting Steel Browser

This template deploys the official `ghcr.io/steel-dev/steel-browser` image as one service on port 3000 with a public domain and a `/v1/health` check. `DOMAIN` is wired to your Railway public domain and `USE_SSL=true`, so the API returns correct `wss://` CDP URLs and the built-in session viewer works over HTTPS. `CDP_REDIRECT_PORT` keeps DevTools connections working behind Railway's proxy. Steel is stateless (sessions live in memory), so no volume is needed. Give it 1–2 GB of RAM for a handful of concurrent sessions; Railway's usage-based billing means idle time is nearly free.

## Common Use Cases

- Browser tool for AI agents (browser-use, Stagehand, OpenAI Agents, LangChain, CrewAI)
- Headless scraping and form automation with Puppeteer or Playwright
- Screenshots and PDFs of pages on demand via REST
- QA and monitoring bots that need a real browser in the cloud

## Dependencies for Steel Browser Hosting

- Docker image `ghcr.io/steel-dev/steel-browser:latest` (bundles Chromium)
- Nothing else — no database, no volume

### Implementation Details

Connect Puppeteer to a new session:

```js
import puppeteer from "puppeteer-core";
const browser = await puppeteer.connect({ browserWSEndpoint: "wss:///" });
```

REST API docs: `https:///documentation`. Create a session with `POST /v1/sessions`, then watch it live at `https:///v1/sessions//viewer` (the open-source build ships without auth — put it behind a private network or add a proxy with an API key if you expose it publicly).

## Why Deploy Steel Browser on Railway?


Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Steel Browser on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


## Similar templates

- [N8N Main + Worker](https://railway.com/deploy/n8n-main-worker) — Deploy and Host N8N with Inactive worker.
- [Evolution API with n8n](https://railway.com/deploy/evolution-api-with-n8n) — Automate WhatsApp workflows with Evolution API, n8n, and Postgres.
- [Postgres Backup](https://railway.com/deploy/postgres-s3-backups) — Cron-based PostgreSQL backup to bucket storage

Open this page in a browser: https://railway.com/deploy/steel-browser-headless-browser-api-for-a
