Bulk Import
The import endpoint allows you to add multiple URLs for monitoring in a single request. This is ideal for initial setup or bulk migrations.Import Watches
/api/v1/import
Request Body
The request body should be plain text with one URL per line:Query Parameters
Special Parameters
Tag name to apply to all imported watches
Comma-separated tag UUIDs to apply to imported watches
Proxy configuration key to use for all imported watches
Skip URLs that already exist in the system
Configuration Parameters
You can pass any watch configuration field as a query parameter. All parameters from the Watch schema are supported:Processor mode:
text_json_diff or restock_diffFetcher:
system, html_requests, html_webdriver, extra_browser_*Import watches in paused state
Comma-separated notification URLs or JSON array format
JSON object with check interval:
{"hours":1,"minutes":30}Comma-separated CSS/XPath selectors or JSON array
Type Conversion
Query parameters are automatically converted to the correct type:| Type | Format | Example |
|---|---|---|
| Boolean | true, false, 1, 0, yes, no | paused=true |
| Array | Comma-separated or JSON | notification_urls=url1,url2 or ["url1","url2"] |
| Object | JSON format | time_between_check={"hours":1} |
| Number | Integer or float | webdriver_delay=5 |
| String | Plain text | title=My+Watch |
Examples
Response
Small imports (< 20 URLs): Returns 200 OK with array of created UUIDsImports with 20 or more URLs are processed in the background to avoid blocking the API. You’ll receive a 202 status immediately.
Advanced Import Scenarios
Import with JSON Configuration
For complex configurations, use JSON objects in query parameters:Import from File
Import with Multiple Tags
Import Product Monitors
For e-commerce/product monitoring with therestock_diff processor:
Deduplication
By default, the import endpoint skips URLs that already exist (dedupe=true).
Disable Deduplication
Validation
All URLs are validated before import:- Must use
http://,https://, orftp://protocol - Must be a valid URL format
- Must not be empty or whitespace-only
Invalid URLs
Configuration Options
You can pass any of these watch configuration options as query parameters:Basic Settings
Basic Settings
processor- Change detection processorfetch_backend- Content fetcherpaused- Import in paused statenotification_muted- Mute notificationsmethod- HTTP method (GET, POST, etc.)
Notification Settings
Notification Settings
notification_urls- Notification endpointsnotification_title- Custom notification titlenotification_body- Custom notification bodynotification_format- Format (text, html, etc.)notification_screenshot- Include screenshots
Content Filtering
Content Filtering
include_filters- CSS/XPath to extractsubtractive_selectors- CSS/XPath to removeignore_text- Text patterns to ignoretrigger_text- Required trigger patternstext_should_not_be_present- Alert if found
Advanced Options
Advanced Options
time_between_check- Check intervalheaders- Custom HTTP headersbody- HTTP request bodyproxy- Proxy configurationbrowser_steps- Browser automation stepswebdriver_delay- Browser wait time
Best Practices
Use Tags
Always assign imported watches to tags for easier management:
Start Paused
Import in paused state to review before activating:
Batch Size
For very large imports (100+ URLs), split into smaller batches to monitor progress.
Validate URLs
Clean and validate your URL list before import to avoid errors mid-import.