Every Python developer eventually needs to run a script on a schedule. Send a report every morning. Scrape prices every hour. Ping a health endpoint every 5 minutes. The script itself is easy — it's the hosting that becomes the headache.
This is a practical guide to Python cron job hosting in 2026: what your options are, what they actually cost, and how to get running in under 5 minutes.
What You Need from a Python Cron Host
Before comparing platforms, be clear on your requirements:
- Python version: Python 3.10+, not a legacy 3.8 environment
- pip packages: Can you install
pandas,playwright,openai, or any third-party library? - Execution logs: Do you see stdout/stderr from every run?
- Failure alerts: Do you get notified when a job crashes without you checking manually?
- Cron precision: Does
*/5 * * * *mean every 5 minutes exactly, or approximately? - Cost model: Pay-per-execution vs. always-on server
The Options, Ranked
1. LiteLambda — Best Purpose-Built Python Cron Host
LiteLambda is built specifically for Python cron jobs. No infrastructure, no Docker, no YAML pipelines.
How it works:
- Write your Python function with a
handler(event, context)signature - List your pip dependencies
- Set a cron expression
- Deploy
That's it. Your script runs in an isolated Python 3.11 sandbox with no cold starts.
Pricing:
| Plan | Monthly Cost | Executions | Pip Packages | Timeout |
|---|---|---|---|---|
| Freemium | $0 | 1,000 credits/mo | ✅ | 30s |
| Starter | $4.99/mo | 3,000 credits/mo | ✅ | 120s |
| Pro | $14.99/mo | 10,000 credits/mo | ✅ | 300s |
Step-by-step setup:
# Your cron job — paste this into LiteLambda
import requests
import os
def handler(event, context):
# Example: fetch BTC price and send a Telegram alert
price = requests.get("https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd").json()
btc_usd = price["bitcoin"]["usd"]
bot_token = os.environ["TELEGRAM_BOT_TOKEN"]
chat_id = os.environ["TELEGRAM_CHAT_ID"]
requests.post(f"https://api.telegram.org/bot{bot_token}/sendMessage", json={
"chat_id": chat_id,
"text": f"BTC Price: ${btc_usd:,.0f}"
})
return {"status": "ok", "price": btc_usd}
Set packages: requests
Set schedule: 0 9 * * * (9 AM UTC daily)
Deploy → done.
What makes it stand out:
- Built-in AI assistant that writes your script from a plain English description
- Detailed execution logs for every run
- Email + Telegram failure alerts
- Playwright (headless browser) supported — rare among competitors
2. AWS Lambda + EventBridge — Most Flexible, Most Complex
AWS is the gold standard for serverless, but running a Python cron job on it requires:
- Write your Lambda function
- Package dependencies into a
.zip(or use Lambda Layers) - Create an EventBridge rule with a cron expression
- Set IAM permissions between EventBridge and Lambda
- Configure CloudWatch for log retention
- Set up SNS or a Lambda destination for failure alerts
The real cost for a simple daily script:
| Component | Monthly Cost |
|---|---|
| Lambda invocations (1M free, then $0.20/1M) | ~$0 for small scripts |
| EventBridge rules | $1.00/month per million events |
| CloudWatch logs | $0.50/GB ingested |
| Your engineering time to set it up | 2–4 hours |
For a hobby project or small team, AWS adds operational overhead that far exceeds the cost savings over a purpose-built tool.
When to use AWS Lambda: You're already deep in the AWS ecosystem, have infrastructure-as-code, and need Lambda to talk to RDS, SQS, or other AWS services.
3. Heroku Scheduler — Simple But Expensive
Heroku Scheduler is the classic choice, but it has a hidden cost: it requires a running Heroku dyno.
| Setup | Monthly Cost |
|---|---|
| Heroku Eco dyno (required) | $5/mo |
| Heroku Scheduler (add-on) | Free |
| Total | $5+/mo for one script |
On top of cost, Heroku Scheduler doesn't guarantee timing (jobs can be delayed by 20+ minutes) and doesn't support cron expressions — only fixed intervals (every 10 minutes, hourly, daily).
When to use Heroku: You have an existing Heroku app and want to run a job in the same environment.
4. Railway — Good for Multi-Service Projects
Railway's Cron Jobs are solid if you already have a web app or database on Railway. It runs your script as a worker service with a cron schedule.
Cost: Starts at $0 on the Hobby plan (limited), scales with usage. Persistent workers cost $10+/month.
Limitation: No per-execution pricing — you pay for the worker uptime even between executions.
5. GitHub Actions — Free But Unreliable for Crons
GitHub Actions scheduled workflows are free for public repos, making them popular for hobby projects.
on:
schedule:
- cron: '0 8 * * 1-5' # 8 AM UTC, Mon-Fri
The catch:
- Timing is unreliable: GitHub queues scheduled workflows and can delay them by 15–60 minutes during peak load
- Auto-pause: Workflows in repos with no activity for 60 days are automatically disabled
- No isolated environment: Your script runs on a shared GitHub Actions runner, not a dedicated Python sandbox
- No execution history: Each run is a separate "check" — no unified log dashboard
Good for: Non-critical daily jobs where a 30-minute window is acceptable. Bad for: Anything requiring precise scheduling or production reliability.
Comparison Table
| Platform | Setup Time | Monthly Cost (1 daily job) | Pip Packages | Logs | Failure Alerts | Cron Precision |
|---|---|---|---|---|---|---|
| LiteLambda | 5 min | $0–$4.99 | ✅ | ✅ | ✅ | ✅ Exact |
| AWS Lambda | 2–4 hrs | ~$1–5 + setup time | ✅ (complex) | ✅ | ✅ (SNS setup) | ✅ Exact |
| Heroku Scheduler | 30 min | $5+ | ✅ | ⚠️ Basic | ❌ | ⚠️ Approx |
| Railway | 30 min | $5–10 | ✅ | ✅ | ✅ | ✅ Exact |
| GitHub Actions | 15 min | $0 (public) | ✅ | ✅ | ⚠️ Email only | ⚠️ ±60 min |
Making the Decision
Choose LiteLambda if:
- You want to deploy in minutes, not hours
- Your script uses pip packages
- You want precise scheduling with proper execution logs
- You're running 1–10 cron jobs and don't want to manage infrastructure
Choose AWS Lambda if:
- You're building a production system that needs to integrate with other AWS services
- You have DevOps resources to manage the infrastructure
- You need sub-second precision or very high throughput
Choose GitHub Actions if:
- It's a personal project with no uptime requirements
- The script is simple and timing flexibility is acceptable
Deploy Your First Python Cron Job in 5 Minutes
- Create a LiteLambda account → — no credit card required
- Click New Cron Job
- Paste your Python script (or use the AI assistant to write it from a description)
- Add your pip packages
- Set your cron expression (e.g.,
0 9 * * *for 9 AM daily) - Click Save and Run Manually to test it instantly
Your cron is live. Every execution is logged. You'll get an email if it fails.