Search commands, docs and settings
Forge is the deploy platform built for engineers who care about speed and reliability. Push code, get a URL in seconds — globally distributed, instantly scalable.
Get started in seconds
Trusted by engineering teams at
What you get
Every feature is a building block. Use just the ones you need, or let Forge run your entire delivery pipeline.
Your code runs at the edge, not in a single data centre. Sub-20ms cold starts, automatic geo-routing, and built-in DDoS mitigation. Forge handles the infrastructure — you focus on the code.
Every deploy is immutable. Roll back to any point in your history with a single command.
Every pull request gets its own live URL. Share it with your team before you merge.
Stream logs from any deployment or function invocation directly in your terminal.
Layer 3/4/7 mitigation at the edge. Rate-limiting, bot scoring, and WAF included.
Push to any branch. Forge detects your framework and builds it — no YAML required.
API / SDK
Official SDKs for JavaScript, Python, and Go. A dead-simple REST API if you need to call Forge from anywhere else. Every endpoint is idempotent — safe to call from CI.
import { ForgeClient } from '@forge/sdk';
const forge = new ForgeClient({
token: process.env.FORGE_TOKEN,
});
const deploy = await forge.deployments.create({
projectId: 'proj_xK9m2pQr',
ref: 'main',
env: {
NODE_ENV: 'production',
DATABASE_URL: process.env.DATABASE_URL,
},
});
console.log(`Deployed: ${deploy.url}`);
// → https://myapp-a1b2c3.forge.sh
from forge import ForgeClient
import os
client = ForgeClient(token=os.environ["FORGE_TOKEN"])
deployment = client.deployments.create(
project_id="proj_xK9m2pQr",
ref="main",
env={
"NODE_ENV": "production",
"DATABASE_URL": os.environ["DATABASE_URL"],
},
)
print(f"Deployed: {deployment.url}")
# → https://myapp-a1b2c3.forge.sh
package main
import (
"fmt"
"os"
forge "github.com/forge-dev/forge-go"
)
func main() {
client := forge.NewClient(os.Getenv("FORGE_TOKEN"))
dep, err := client.Deployments.Create(forge.DeployInput{
ProjectID: "proj_xK9m2pQr",
Ref: "main",
Env: map[string]string{
"NODE_ENV": "production",
"DATABASE_URL": os.Getenv("DATABASE_URL"),
},
})
if err != nil {
panic(err)
}
fmt.Printf("Deployed: %s\n", dep.URL)
}
curl -X POST https://api.forge.sh/v1/deployments \
-H "Authorization: Bearer $FORGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"projectId": "proj_xK9m2pQr",
"ref": "main",
"env": {
"NODE_ENV": "production"
}
}'
# Response:
# {
# "id": "dep_7fHqzRmN",
# "url": "https://myapp-a1b2c3.forge.sh",
# "state": "BUILDING",
# "createdAt": "2026-06-11T09:41:00Z"
# }
⌘K palette
Press ⌘ K anywhere in the Forge dashboard to instantly jump to any project, trigger a deploy, inspect logs, or run a CLI command — without ever reaching for the mouse.
Reliability
Real numbers from our last 90 days. We publish our status page publicly so you can always verify.
Pricing
No per-seat fees. No surprise bills. Just flat-rate workspace pricing.
Personal projects
Professional teams
Scale & compliance
Compare
| Feature | Hobby | Pro | Enterprise |
|---|---|---|---|
| Custom domains | |||
| Preview deploys | |||
| Rollbacks | 3 days | Unlimited | Unlimited |
| Team seats | 1 | 5 | Unlimited |
| Bandwidth | 100 GB | 1 TB | Custom |
| SSO / SAML | |||
| Audit logs | |||
| SLA | 99.9% | 99.99% |
FAQ
Import a Git repo, connect a domain, and go live. Forge handles the rest.