How to schedule an Apify scraper for a daily digest
A one-off run is a demo. A schedule is the product: the same input, every weekday, dataset waiting when you open Slack. This is the Apify-native way — no cron on your laptop.
1 Get one successful manual run first
Schedules replay the input you save. If a manual run fails (bad query, missing required field, blocked source), the schedule will fail the same way at 07:00. Open the Actor, run it once, and only continue when the Dataset has rows and the run status is SUCCEEDED.
2 Create the schedule on the Actor
Actor page → Schedules → Create schedule. Give it a name you will recognise in six months (“Naukri / Bengaluru / PM jobs / weekdays”). Set timezone explicitly — cron 0 7 * * 1-5 is 07:00 in that zone, not UTC, if you picked London or Shanghai.
Paste the JSON input from your successful run. Do not leave maxItems at a “see what happens” 5,000 unless you have looked at the per-1k price. A digest is usually 50–200 rows.
3 Hook the result to somewhere a human looks
A dataset sitting in Apify is not a digest. Add an integration on success: Google Sheets (append), a Slack incoming webhook, or your own HTTPS endpoint. Apify can POST the run payload; your job is to fetch {{resource.defaultDatasetId}} and format it.
For Slack, a short Make/Zapier scenario — “Watch Actor runs” → “Get dataset items” → “Send channel message” — is enough. For Sheets, use the Google Sheets Actor as in the Google News how-to.
4 Watch the 30-day success rate, not just the first week
EasyAPI tool pages show a 30-day Apify success rate and last build date. If a source layout changes, runs start failing. Set an email or Slack notification on failed runs (Actor → Notifications) so you notice before the digest goes quiet.
Things that usually go wrong
Unnamed datasets expire
The default dataset on a run is unnamed and is kept for 7 days. If you need history, export it (Sheets, S3, a named dataset) during the run — do not rely on opening last month’s run later.
Schedules are per Actor, not per website
One schedule = one input. Five keywords means five schedules (or one Actor that accepts a list, if its schema does). Don’t try to overload a single query string with OR-clauses the source doesn’t support.
Before you run this in production
Can I schedule from the API instead of the console?
Yes. POST /v2/schedules with the Actor ID, cron, timezone and input. The console is enough for a first digest; use the API when you provision jobs for customers.
Does a schedule cost extra?
You pay for the runs it starts — per-result plus platform usage — not a separate “schedule fee”. A failed run can still incur the Actor-start fee, so fix failing jobs promptly.
In the same toolkit
- News $2.99 / 1k
Google Trends Keywords Discovery Tool
Unlock powerful insights from Google Trends with real-time data extraction.
- News $5.00 / 1k
Google Images Scraper
Powerful Google Images scraper collect up to 5000 image results per runn with flexible search options, language support.
- News $2.99 / 1k
Google RealTime Trends Data Scraper
Real-time Google Trends data scraper that monitors trending search keywords across 40+ countries worldwide.
More how-to guides
Run Google News Scraper
Start with a 50-row test on Apify’s free credits, then schedule it once the sheet looks right.