logo

Scheduling & Priority

ConceptUpdated 2026-06-20

Every Collection has two settings that determine when it runs and how quickly it is processed: a schedule type and a priority tier. Together they give you precise control over your scraping cadence.

Collection drawer showing the Schedule field with the five schedule type options
Pick a schedule type when creating or editing a Collection.

Schedule types

MultiCartAPI supports five schedule types. Choose Manual if you want to trigger runs yourself via the API or dashboard; choose one of the automatic types to have the system run your Collection for you.

TypeRuns when
ManualOnly when you explicitly trigger a run via the dashboard or POST /schedules/run/result/.
Every X MinutesRepeatedly, at a fixed minute interval within the hours and days you specify.
DailyOnce per day at the hour(s) you specify, on every day of the week.
WeeklyOnce per week at the hour(s) you specify, on the day(s) of the week you choose.
MonthlyOnce per month at the hour(s) you specify.

Times are UTC+10

All hours in schedule_time are interpreted as UTC+10 (Australian Eastern Standard Time). If your team works in a different timezone, adjust accordingly when setting the hours array.

The schedule_time object

When you create or update a Collection via POST /schedules/add_schedule/ or POST /schedules/update_schedule/, you pass a schedule_time object alongside the schedule string. Its shape depends on the schedule type.

Manual

No schedule_time configuration is needed. Pass an empty object or omit the field entirely.

Manual — schedule_time
{}

Every X Minutes

Specify the repeat interval in minutes, the days of the week to run on, and the hour windows during which repeats are allowed.

Every X Minutes — schedule_time
{
  "minutes_frequency": "30",
  "days_of_week": [
    "monday",
    "tuesday",
    "wednesday",
    "thursday",
    "friday"
  ],
  "hours": [
    "08.00",
    "12.00",
    "16.00"
  ]
}
FieldTypeDescription
minutes_frequencystring (numeric)How often to repeat, in minutes. E.g. "30" runs every 30 minutes.
days_of_weekarray of stringsDays the schedule is active. Lowercase full names: "monday" through "sunday".
hoursarray of stringsHour windows (UTC+10) during which repeats trigger. Format: "HH.MM" e.g. "08.00", "14.30".

Daily

Specify the hour(s) each day at which the Collection should run. days_of_week is not used for Daily schedules.

Daily — schedule_time
{
  "hours": [
    "06.00",
    "18.00"
  ]
}
FieldTypeDescription
hoursarray of stringsOne or more times (UTC+10) at which to run each day. Format: "HH.MM".

Weekly

Specify both the day(s) of the week and the hour(s) within those days.

Weekly — schedule_time
{
  "days_of_week": [
    "monday",
    "thursday"
  ],
  "hours": [
    "02.00"
  ]
}
FieldTypeDescription
days_of_weekarray of stringsDays of the week to run. Lowercase full names.
hoursarray of stringsTime(s) (UTC+10) within each chosen day. Format: "HH.MM".

Monthly

Specify the hour(s) at which to run once per month. The day of the month is determined by the Collection's creation date.

Monthly — schedule_time
{
  "hours": [
    "03.00"
  ]
}
FieldTypeDescription
hoursarray of stringsTime(s) (UTC+10) at which to run on the scheduled monthly date. Format: "HH.MM".

Full API example — creating a Weekly Collection

curl https://multicartapi.com/api/v1/schedules/add_schedule/ \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "name": "AU Laptops — Weekly",
  "request_type": "amazon",
  "schedule": "Weekly",
  "priority": "High",
  "notification_email": "[email protected]",
  "fetch_mode": "full",
  "schedule_time": {
    "days_of_week": ["monday", "thursday"],
    "hours": ["02.00"]
  }
}'

Priority tiers

Collection drawer showing the Priority field with the five priority tier options
Set the priority tier to control how quickly your Collection enters the processing queue.

When multiple Collections are queued at the same time, priority determines the order in which the scraping workers pick them up.

TierQueue positionBest used for
HighestFirst in queueTime-critical pricing data where every minute counts.
HighSecond in queueImportant daily jobs that should finish before lower-priority work.
NormalDefault tierStandard scheduled Collections with no special urgency.
LowFourth in queueBackground enrichment or archiving jobs.
LowestLast in queueBulk historical runs that can wait behind everything else.

Priority affects queue order, not worker allocation

All tiers share the same worker fleet. Highest simply means your Collection is dequeued before High, which is dequeued before Normal, and so on. During quiet periods every priority tier runs promptly regardless.

You can change the priority of an existing Collection at any time without affecting its schedule:

POST /api/v1/schedules/update_schedule/
{
  "schedule_id": 101,
  "priority": "Highest"
}