DEV Community

Alex Spinov
Alex Spinov

Posted on

Render Has a Free API: Deploy Web Apps, APIs, and Databases With Zero DevOps — The Modern Heroku Replacement

Heroku killed its free tier in 2022. Four years later, developers still miss the simplicity of git push heroku main. Render brings it back — with a free tier for static sites and web services, automatic HTTPS, built-in Postgres, and deploys from GitHub with zero configuration.

What Render Actually Does

Render is a unified cloud platform for hosting web applications, APIs, background workers, cron jobs, static sites, and databases. Like Heroku, it auto-detects your runtime and builds from source. Unlike Heroku, it offers a free tier, native Docker support, and infrastructure-as-code via render.yaml.

Render deploys from GitHub or GitLab — push to main and your app rebuilds automatically. It supports Node.js, Python, Go, Rust, Ruby, Elixir, PHP, and Docker. Built-in services include Postgres (free tier: 256MB, 90 days), Redis, and cron jobs.

Free tier: static sites (unlimited), web services (750 hours/month with spin-down after 15 min inactivity). Paid starts at $7/mo for always-on.

Quick Start

Connect your GitHub repo at render.com → New → Web Service.

Or use the CLI:

# render.yaml in your repo root
services:
  - type: web
    name: my-api
    runtime: node
    buildCommand: npm install && npm run build
    startCommand: npm start
    envVars:
      - key: NODE_ENV
        value: production
      - key: DATABASE_URL
        fromDatabase:
          name: my-db
          property: connectionString

databases:
  - name: my-db
    plan: free
Enter fullscreen mode Exit fullscreen mode

Push to GitHub — Render creates everything: web service, database, environment variables, and wires them together.

Render API:

# List services
curl https://api.render.com/v1/services \
  -H "Authorization: Bearer rnd_your_api_key"

# Trigger deploy
curl -X POST https://api.render.com/v1/services/srv-abc123/deploys \
  -H "Authorization: Bearer rnd_your_api_key"

# Get deploy status
curl https://api.render.com/v1/services/srv-abc123/deploys \
  -H "Authorization: Bearer rnd_your_api_key" | jq '.[0].status'
Enter fullscreen mode Exit fullscreen mode

3 Practical Use Cases

1. Full-Stack App with Database

# render.yaml
services:
  - type: web
    name: frontend
    runtime: static
    buildCommand: npm run build
    staticPublishPath: ./dist
    routes:
      - type: rewrite
        source: /api/*
        destination: https://my-api.onrender.com/*

  - type: web
    name: my-api
    runtime: python
    buildCommand: pip install -r requirements.txt
    startCommand: gunicorn app:app

databases:
  - name: my-db
    plan: free
Enter fullscreen mode Exit fullscreen mode

Frontend + API + Database — all from one render.yaml.

2. Background Worker + Cron

services:
  - type: worker
    name: email-sender
    runtime: node
    buildCommand: npm install
    startCommand: node worker.js

  - type: cron
    name: daily-report
    runtime: python
    buildCommand: pip install -r requirements.txt
    startCommand: python report.py
    schedule: "0 9 * * *"  # 9am daily
Enter fullscreen mode Exit fullscreen mode

3. Docker Deployment

services:
  - type: web
    name: custom-app
    runtime: docker
    dockerfilePath: ./Dockerfile
    envVars:
      - key: PORT
        value: "8080"
Enter fullscreen mode Exit fullscreen mode

Any Docker container deploys with zero modification.

Why This Matters

Render is the spiritual successor to Heroku's developer experience. Push code, get a running app. The render.yaml adds infrastructure-as-code that Heroku never had. For developers who want deployment simplicity without the AWS complexity tax, Render is the natural choice.


Need custom data extraction or web scraping solutions? I build production-grade scrapers and data pipelines. Check out my Apify actors or email me at spinov001@gmail.com for custom projects.

Follow me for more free API discoveries every week!

Top comments (0)