Scheduling Runs
A schedule automates recurring extractions. You link a schedule to a robot with a cadence, and Extralt automatically creates runs at the specified interval.
Creating a schedule
• Dashboard
Navigate to Extract > Schedules and click New Schedule.
- Select the robot to use
- Set the cadence (e.g. every 1 day, every 6 hours, every 1 week)
- Optionally provide start URLs and a budget
- Click Create
A name is auto-generated based on the cadence and robot (e.g. "Daily example-store.com run"). You can customize it.
• API
export EXTRALT_API_KEY="your-api-key"
curl -s -X POST "https://api.extralt.com/schedules" \
-H "Authorization: Bearer $EXTRALT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"robotId": "your-robot-id",
"cadence": {
"intervalAmount": 1,
"intervalUnit": "day"
},
"config": {
"startUrls": ["https://example-store.com/products"],
"budget": 50
}
}' | jqParameters
| Parameter | Required | Description |
|---|---|---|
robotId | Yes | The robot to use for extraction |
name | No | Display name (auto-generated if omitted) |
cadence.intervalAmount | Yes | Number of intervals between runs (e.g. 1, 6, 12) |
cadence.intervalUnit | Yes | hour, day, week, or month |
config.startUrls | No | URLs to crawl. Must match the robot's host. |
config.budget | No | Maximum URLs to extract per run. Each URL costs 1 credit. |
Cadence options
Schedules support flexible cadence intervals:
| Example | intervalAmount | intervalUnit |
|---|---|---|
| Every hour | 1 | hour |
| Every 6 hours | 6 | hour |
| Daily | 1 | day |
| Every 3 days | 3 | day |
| Weekly | 1 | week |
| Monthly | 1 | month |
Managing schedules
• Dashboard
Navigate to Extract > Schedules to see all your schedules in a table.
The table displays:
| Column | Description |
|---|---|
| Name | Schedule name |
| Robot | Which robot the schedule uses |
| Cadence | How often the schedule runs |
| Status | Active, Paused, or Paused (no credits) |
| Next run | When the next run will be created |
| Last run | When the last run was created |
Actions available:
- Pause / Resume: toggle the schedule on or off
- Edit: change the name, cadence, start URLs, or budget
- Delete: remove the schedule permanently
• API
# List schedules
curl -s "https://api.extralt.com/schedules" \
-H "Authorization: Bearer $EXTRALT_API_KEY" | jq
# Update a schedule
curl -s -X PATCH "https://api.extralt.com/schedules/$SCHEDULE_ID" \
-H "Authorization: Bearer $EXTRALT_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "cadence": { "intervalAmount": 1, "intervalUnit": "week" } }' | jq
# Delete a schedule
curl -s -X DELETE "https://api.extralt.com/schedules/$SCHEDULE_ID" \
-H "Authorization: Bearer $EXTRALT_API_KEY"Pausing and resuming
You can pause a schedule at any time. A paused schedule stops creating runs until resumed.
• Dashboard
Click the Pause or Resume button on any schedule in the list.
• API
# Pause
curl -s -X POST "https://api.extralt.com/schedules/$SCHEDULE_ID/pause" \
-H "Authorization: Bearer $EXTRALT_API_KEY"
# Resume
curl -s -X POST "https://api.extralt.com/schedules/$SCHEDULE_ID/resume" \
-H "Authorization: Bearer $EXTRALT_API_KEY"Credits and auto-pause
Scheduled runs consume credits the same way as manual runs: 1 credit per URL extracted.
If your organization runs out of credits, all active schedules automatically pause. They show a Paused (no credits) status in the dashboard.
When credits become available again (through purchase or billing cycle), you can resume schedules manually. Schedules do not auto-resume.
See Credits & Billing for more on credit management.
Concurrency
If a schedule's previous run is still active when the next run is due, the schedule skips that execution and waits for the next interval. This prevents overlapping runs from the same schedule.