Quickstart
Get up a running with your first Steel Session in a few minutes
This guide will walk you through setting up your Steel account, running your first browser session in the cloud, and driving it using TypeScript/Puppeteer. In just a few minutes, you'll be ready to start automating with Steel.
Want to jump right in? Skip to our example project.
Using a different stack? Check out our guides for Playwright (node), Playwright-Python, and Selenium, or view the Python SDK Reference.
Initial SetupCopied!
1. Create a Steel Account
-
Sign up for a free account at steel.dev
-
The free plan includes 100 browser hours to get you started
-
No credit card required
2. Get Your API Key
-
After signing up, navigate to Settings > API Keys
-
Create an API key and save it somewhere safe. You will not be able to generate the same key again.
3. Set Up Environment Variables
-
Create a
.env
file in your project root (if you don't have one) -
Add your Steel API key:
STEEL_API_KEY=ste_***
Make sure to add .env
to your .gitignore
file to keep your key secure
Install the SDKCopied!
Now install the Steel Node SDK:
// For node.js
npm install steel-sdk
Create Your First SessionCopied!
Let's create a simple script that launches a session and visits a webpage.
import Steel from 'steel-sdk';
import dotenv from 'dotenv';
dotenv.config();
const client = new Steel({
steelAPIKey: process.env.STEEL_API_KEY,
});
async function main() {
// Create a session
const session = await client.sessions.create();
console.log('Session created:', session.id);
// Your session is now ready to use!
// Keep this ID handy - you'll need it to connect with automation tools
// When done, release the session
await client.sessions.release(session.id);
console.log('Session released');
}
main().catch(console.error);
Connecting to Your SessionCopied!
Now that you have a session, you can connect to it using your preferred automation tool.
Here are some quick ways for each supported tool:
import puppeteer from 'puppeteer';
const browser = await puppeteer.connect({
browserWSEndpoint: `wss://connect.steel.dev?apiKey=${process.env.STEEL_API_KEY}&sessionId=${session.id}`,
});
const page = await browser.newPage();
await page.goto('https://example.com');
Session FeaturesCopied!
Want to do more with your session? Here are some common options you can add when creating:
const session = await client.sessions.create({
useProxy: true, // Use Steel's residential proxy network
solveCaptcha: true, // Enable automatic CAPTCHA solving
sessionTimeout: 1800000, // Set 30-minute timeout (default is 5 minutes)
userAgent: 'custom-ua' // Set a custom user agent
});
You've now created your first Steel session and learned the basics of session management. With these fundamentals, you can start building more complex automations using Steel's cloud browser infrastructure.
Need help? Join our Discord community or check out our full API Reference.