Cron job as a service

RunLater is hosted cron for HTTP requests. Give it a URL and a cron expression and it calls that URL on schedule, in the timezone you choose, from every minute to once a year. It retries failed calls with exponential backoff and keeps the status code and response body of every run, with no server or crontab to maintain.

What people use it for

  • Replacing a crontab line that runs curl on a server you would rather not keep
  • Running a Vercel Hobby cron route more than once a day
  • Health checks every 5 minutes, nightly report or cleanup endpoints, weekly digests
  • Triggering Zapier, Make or n8n workflows on a schedule

Set it up

  1. Sign in with your email and start the trial on any plan.
  2. Click New Request and enter the URL, method, headers and body.
  3. Pick Recurring, type a cron expression (for example */5 * * * *) and choose a timezone. The cron explainer shows the next run times.
  4. Set retries and a timeout, then save.
  5. Click Test to send it once now, then watch Logs fill in on schedule.

Example request

GET https://example.com/api/cron/cleanup

Schedule: Recurring, 0 3 * * * (every day at 03:00), Europe/London

Logged after each run: status, duration, response headers and the first 10,000 characters of the body. Each retry is its own log entry. The URL is an illustration.

Limits worth knowing

  • Requests are set up in the dashboard. There are no public API keys yet, so code can't create schedules on the fly.
  • The URL has to be public: private and local network addresses are refused.
  • The smallest cron interval is one minute, and a request can wait up to 300 seconds for a response.
  • It calls URLs. A shell command or script needs a server or a CI runner.

Plans

Starter is $15/month for 250 scheduled requests and 25,000 runs, Team $39/month (100,000 runs) and Pro $149/month (500,000 runs). Every plan starts with a 14-day trial; the card is charged on day 14 unless you cancel first. Only successful runs count toward the monthly limit.

Questions

What is the most often a cron job can run?

Every minute (* * * * *). A job every minute is 43,200 runs a month; a job every 5 minutes is 8,640.

Which cron syntax does RunLater use?

Standard 5-field cron: minute, hour, day of month, month, day of week. The cron expression explainer shows what any expression means and its next 10 run times.

Can it run a script instead of a URL?

No. RunLater sends HTTP requests. Put the script behind an endpoint (a serverless function or a route in your app) and schedule that URL.

What happens if the endpoint is down?

Any response that is not 2xx, a timeout or a network error counts as a failure. RunLater retries it up to the number of times you set (0 to 10) with exponential backoff, and logs each attempt with its status code and response body.

Do retries count toward the monthly run limit?

No. Only successful runs count. Failed attempts and retries do not.

How do I know the request came from RunLater?

Requests carry the User-Agent RunLater/1.0. To verify them, add your own secret in a header (for example Authorization: Bearer <token>) and check it in your endpoint. Signed requests are not available yet.

Related

Point it at a real endpoint

Create a request, click Test, and read the response in Logs. If it isn't what you need, cancel from Settings before day 14.

Start a 14-day trialStarter is $15/month for 250 scheduled requests and 25,000 runs. Cancel before day 14 and you pay nothing.