Bot Types
hidettp supports two bot types -- Extraction and Action -- each designed for a distinct automation pattern. Bots also have a runtime setting that determines how they execute.
Extraction Bots
Extraction bots are designed for data scraping. They visit a page, interact with it as needed, and pull structured data from the content.
Key characteristics:
- Schedulable -- Can be set to run on recurring intervals (every 5 minutes, hourly, daily, or custom).
- Data output -- Extracted data is stored with the execution and can be delivered automatically to an external system via webhooks.
- Webhook delivery -- Configure a webhook endpoint to receive extracted data as soon as each execution completes. Webhook payloads can be authenticated with HMAC-SHA256 or JWT.
- Monitoring-friendly -- Ideal for ongoing monitoring tasks where you need to track changes over time.
Common use cases:
- Scraping product listings, prices, or inventory from e-commerce sites.
- Monitoring job postings, news articles, or government filings.
- Tracking availability of appointments, tickets, or reservations.
- Aggregating data from multiple sources on a recurring basis.
Action Bots
Action bots are designed for performing tasks on a website -- filling forms, clicking through workflows, or completing transactions.
Key characteristics:
- API-triggered -- Action bots are triggered via the REST API with input parameters. For example, you might trigger a booking bot with
{ "date": "2025-03-15", "venue": "Main Hall" }. - Parameterized -- The bot's manifest defines what parameters it accepts. These parameters are available to the script at runtime.
- Not schedulable via UI -- Since action bots require input parameters, they are triggered programmatically rather than on a fixed schedule.
- Task-oriented -- Designed for one-off or on-demand operations rather than recurring data collection.
Common use cases:
- Submitting forms with dynamic data (registrations, applications, orders).
- Completing multi-step booking or checkout workflows.
- Triggering browser-based actions from external systems via API.
- Automating administrative tasks that require human-like browser interaction.
Bot Runtimes
Each bot has a runtime that determines how it executes:
SeleniumBase Runtime
The default runtime. Launches a full stealth Chrome browser inside a Docker container and executes the bot's Python script using SeleniumBase. This is the runtime to use for any automation that interacts with a web page.
Capabilities:
- Full browser rendering (JavaScript, CSS, media).
- Anti-detection and fingerprint masking.
- Proxy and geolocation support.
- Live browser viewing during execution.
- Screenshot, video recording, and file download capture.
- Captcha solving integration.
HTTP Runtime
A lightweight runtime for API-only bots that do not need a browser. HTTP-runtime bots make direct HTTP requests instead of rendering pages. Use this when the data you need is available through an API endpoint and browser rendering is unnecessary.
Capabilities:
- Direct HTTP requests (GET, POST, etc.).
- Lower resource usage and faster execution.
- No browser overhead.
Choose the runtime based on whether your automation requires a rendered browser or can work with raw HTTP requests.