canonical: https://jentic.com/apis/import.io/import-io-schedule

# import.io Schedule API

The import.io Schedule API manages recurring crawl schedules for extractors. Four endpoints cover listing all schedules across the account, scheduling an extractor to run at a specific time, retrieving the schedule for one extractor, and deleting an existing schedule. Authentication uses an apikey query parameter. Pair Schedule with the Run, Data, and RSS APIs to build automated, recurring scrape pipelines.

## For AI agents

Manage recurring crawl schedules for import.io extractors. Useful for automating periodic data collection without manual run triggers.

## Scope

Does not run crawls inline, return result rows, or build extractors - use for managing recurring extractor schedules only.

## Capabilities

- List schedules across all extractors in an account
- Schedule an extractor to run at a specific time or cadence
- Retrieve the schedule for one extractor
- Delete an existing schedule from an extractor
- Coordinate recurring scrapes with downstream pipelines

## Use cases

### Recurring Data Collection

Set up regular scrape cadences for extractors that feed dashboards, alerting, or BI. Use POST /extractor to schedule an extractor at a specific time and GET /extractor to confirm the schedule is in place. The schedule then triggers crawl runs without manual intervention.

Example prompt: Schedule extractor ext-prices to run every day at 06:00 UTC and confirm the schedule shows up in GET /extractor.

### Schedule Audit Across Account

Operations teams can list every active schedule on the account using GET /extractor. The list view makes it straightforward to see which extractors are scheduled, when they run, and which extractors are still on manual triggering.

Example prompt: List all extractor schedules and report any extractor missing a schedule from the expected list.

### Schedule Cleanup

Decommissioning an extractor or moving to on-demand triggering means deleting the existing schedule. DELETE `/extractor/{extractorId}`/ removes the schedule cleanly so the extractor only runs when explicitly invoked through the Run API.

Example prompt: Delete the schedule on extractor ext-old-feed and confirm the schedule no longer appears in GET /extractor.

### Jentic-Driven Schedule Manager

Through Jentic, an agent can manage extractor schedules from a chat surface. The agent searches for a schedule operation, loads the schema, and creates, retrieves, or deletes schedules without learning the endpoint paths.

Example prompt: Search Jentic for 'schedule an extractor to run', load the schema, and create a daily 09:00 UTC schedule for extractor ext-jobs.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/extractor` | List schedules for all extractors |
| POST | `/extractor` | Schedule an extractor to run at a specific time |
| GET | `/extractor/{extractorId}/` | Get the schedule for one extractor |
| DELETE | `/extractor/{extractorId}/` | Delete an existing schedule |

## Key resources

- **Schedules** — List, create, retrieve, and delete extractor schedules

## Why Jentic

- **Setup:** Wiring the import.io Schedule API by hand means passing your apikey as a query parameter and pointing at the dedicated schedule.import.io host, distinct from the run and rss hosts. Through Jentic you install once, import the import.io Schedule API from the API Directory, store the apikey once, and your agent calls it.
- **Permission scoping:** The Schedule API puts the extractor id in the URL path (`/extractor/{extractorId}`/), so a rule can pin your agent to reading a schedule for one extractor. You choose the operations it may call, so creating or deleting schedules is not included unless you add it.
- **Credential handling:** Your import.io apikey is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'schedule an extractor' or 'list extractor schedules', and Jentic returns the matching import.io Schedule operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **import.io Run API** — Triggers individual runs ad hoc, alongside scheduled runs
- **import.io RSS API** — Reports run completion for scheduled and ad-hoc runs
- **Apify** — Scraping platform with native cron-style schedules and webhook delivery

## FAQ

### What authentication does the import.io Schedule API use?

The Schedule API uses an apikey query parameter on every request. Through Jentic, the apikey is stored in the encrypted vault and injected at runtime, so the raw key never enters agent prompts.

### Can I list all schedules on my account?

Yes. GET /extractor returns the list of schedules for every extractor on the account, which is useful for auditing scrape cadence and spotting extractors that are still on manual triggering.

### What are the rate limits for the import.io Schedule API?

The published spec does not declare explicit rate limit numbers. Schedule operations are infrequent by nature, so most agents stay well below import.io's per-account quotas regardless of plan tier.

### How do I create a daily schedule for an extractor through Jentic?

Search Jentic for 'schedule an extractor to run' to find the operation backed by POST /extractor. Load the schema, pass the extractor id and desired time, and execute. Jentic injects the apikey at runtime.

### How do I remove a schedule from an extractor?

Call DELETE `/extractor/{extractorId}`/ with the extractor id. The response confirms removal. The extractor will then only run when triggered manually via the Run API or rescheduled.

### Can I limit what my agent is allowed to do with the import.io Schedule API?

Yes. Because you run Jentic One yourself, your own rules decide which of the Schedule API's operations your agent may call and which credentials it may use. You can allow only reading a schedule with GET `/extractor/{extractorId}`/ for a single extractor id in the path, while withholding POST /extractor and DELETE `/extractor/{extractorId}`/ so the agent cannot create or delete schedules unless you grant it. The apikey stays with your instance and is applied at run time, never exposed to the agent.
