Schedy is our open source, self-hostable, ultra-lightweight HTTP task scheduler — perfect for your custom automation needs. If you find it useful, consider leaving a ⭐ on GitHub!
Star on GitHub

Scheduling Tasks
Shouldn't Be Hard!

No auth required. No infrastructure to manage. Just simple, reliable task scheduling for developers.

No Login Needed

Start scheduling instantly. No API keys or sign-ups required.

Timezone Aware

Use natural language like "tomorrow 9am EST" to schedule tasks anywhere.

Secure

HMAC signing ensures your notifications are safe and verified.

Instant Scheduling

Tasks are created and scheduled with zero delay or queues.

JSON Native

Send and receive JSON. Perfect for modern APIs and microservices.

Auto Retries

Failed tasks are retried automatically with exponential backoff.

badge 13User Server


badge 13Schedify Server

Schedule a task in one request & No Auth Required!

curl -X POST https://api.schedify.dev/v1/schedules \
  -H "Content-Type: application/json" \
  -d '{
    "name": "send:email",
    "url": "https://api.your-app.com/send-emails",
    "time": "2024-01-20T15:00:00Z",
    "payload": {
      "campaign": "welcome"
      "email": "[email protected]"
    }
  }'

Task Schedule

Cancel unpaid orders 30 minutes after creation

// At 2:00PM order is placed
schedify.schedule({
  event: "cancel_order",
  payload: { orderId: "ord_123" },
  after: "30m" // ← Will run at 2:30PM
});

Multiple Timezones

Send alerts at 9:00AM in user's timezone

// For user in PST (UTC-8)
schedify.schedule({
  event: "morning_alert",
  userId: "u_456",
  at: "2023-12-01T09:00:00-08:00" // ← 9AM PST
});

Cron Schedule

Coming soon

Generate reports every day at 11:59PM

// Runs nightly at midnight
schedify.schedule({
  event: "generate_report",
  reportType: "daily",
  at: "0 23 * * *" // ← Cron syntax
});

Batch Schedules

Coming soon

Send emails immediately, 1 day, and 7 days after signup

// User signs up at 4:00PM Jan 1
schedify.scheduleMany([
  { event: "welcome_email", after: "0m" },  // 4:00PM Jan 1
  { event: "tips_email", after: "1d" },     // 4:00PM Jan 2
  { event: "offer_email", after: "7d" }     // 4:00PM Jan 8
]);
const schedify = new SchedifyClient("API_KEY");

await schedify.schedule("WEBHOOK_ID", {
  event: "cancel_order",
  payload: { orderId: "ord_123" },
  after: "30m" // ← Will run at 2:30PM
});

Launch scheduled tasks in seconds

Skip the cron jobs, queues, and infrastructure. Use our API to run anything later—with guaranteed delivery.