Getting Started
Create your first scheduled task in 5 minutes.
Create an account
Sign up at runlater.eu with your email. No credit card required for the free tier.
Get your API key
Go to Settings → API Keys and create a new key. Keep this safe - the secret part is only shown once.
pk_live_abc123.sk_live_xyz789
Create your first schedule
Create a recurring schedule that calls your endpoint every hour:
curl -X POST https://runlater.eu/api/v1/schedules \ -H "Authorization: Bearer pk_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "name": "Hourly sync", "url": "https://myapp.com/api/sync", "cron": "0 * * * *" }'
Or queue a task for immediate execution
Don't need scheduling? Use
/tasks
to run a request right away:
curl -X POST https://runlater.eu/api/v1/tasks \ -H "Authorization: Bearer pk_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "url": "https://myapp.com/api/process", "body": "{\"user_id\": 123}" }'
Or use a lane for serial execution
Add a lane
to ensure tasks run one at a time. Tasks in the same lane within your organization won't overlap — each one waits for the previous to finish:
curl -X POST https://runlater.eu/api/v1/tasks \ -H "Authorization: Bearer pk_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "url": "https://myapp.com/api/charge", "body": "{\"user_id\": 42}", "lane": "payments" }'
Create your endpoint
Runlater will POST to your URL. Just return a 2xx status:
// Next.js API route example export async function POST(request) { // Do your work here await syncData(); return Response.json({ ok: true }); }
What's next?
- API Reference - Full API documentation
- Cron Syntax - How to write cron expressions
- Webhooks - Retries, timeouts, authentication
- Use Cases - Common patterns for web apps