---
canonical_url: "https://docs.composio.dev/toolkits/airtop"
markdown_url: "https://docs.composio.dev/toolkits/airtop.md"
product: "platform"
version: null
last_updated: null
---

# Airtop

Airtop provides cloud browsers and AI-powered web automation for navigating sites, interacting with pages, extracting data, and running reusable browser workflows.

- **Category:** web scraping & browser
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 10
- **Triggers:** 0
- **Slug:** `AIRTOP`
- **Version:** 20261014_00

## Tools

### Click Element

**Slug:** `AIRTOP_CLICK_ELEMENT`

Use Airtop AI to locate an element from a natural-language description and click it. This consumes Airtop credits and can trigger irreversible external effects such as submitting a form, placing an order, or confirming a purchase. The response preserves Airtop's outcome status, credit usage, warnings, and errors.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `window_id` | string | Yes | Window containing the target element. |
| `click_type` | string ("click" | "doubleClick" | "rightClick") | No | Mouse click behavior: a left click, double click, or right click. |
| `session_id` | string | Yes | Running session that owns the window. |
| `client_request_id` | string | No | Optional caller correlation ID returned in Airtop response metadata. |
| `element_description` | string | Yes | Specific natural-language description of the element to click. |
| `wait_for_navigation` | boolean | No | Wait for navigation after clicking. Enable this for links and submit controls that change pages. |
| `cost_threshold_credits` | integer | No | Credit threshold checked periodically by Airtop. This is not a hard cap; omit it to use Airtop's default. Setting 0 disables this protection and is not recommended. |
| `time_threshold_seconds` | integer | No | Runtime threshold checked periodically by Airtop. This is not a hard deadline; omit it to use Airtop's default. Setting 0 disables this protection and is not recommended. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Close Window

**Slug:** `AIRTOP_CLOSE_WINDOW`

Close one browser window without terminating its Airtop session.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `window_id` | string | Yes | Airtop window ID to close. |
| `session_id` | string | Yes | Running session that owns the window. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Session

**Slug:** `AIRTOP_CREATE_SESSION`

Create an Airtop browser session and wait until it is running. Sessions are billed in 30-second increments, so terminate them promptly when work is complete.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `proxy` | string | No | Optional Airtop integrated or custom proxy configuration. Use true for Airtop's default integrated proxy, a proxy string/object for one relay, or domain-specific proxy rules. Availability depends on the account plan. |
| `record` | boolean | No | Whether to record the session; recording can be unavailable on free plans. |
| `profile_name` | string | No | Saved Airtop profile to load into the session. |
| `extension_ids` | array | No | Google Web Store extension IDs to load. |
| `solve_captcha` | boolean | No | Whether Airtop should automatically solve CAPTCHA challenges. |
| `timeout_minutes` | integer | No | Idle timeout in minutes before Airtop terminates the session. |
| `readiness_timeout_seconds` | integer | No | Maximum wall-clock time to poll for running status before failing. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Window

**Slug:** `AIRTOP_CREATE_WINDOW`

Create a browser window in a running Airtop session and load an initial URL. If no URL is supplied, Airtop loads https://www.google.com.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | Initial absolute URL to load. If omitted, Airtop loads https://www.google.com. |
| `session_id` | string | Yes | Running session that will own the window. |
| `wait_until` | string ("load" | "domContentLoaded" | "complete" | "noWait") | No | Page loading event to wait for before returning. |
| `screen_resolution` | string | No | Fixed live-view resolution in WIDTHxHEIGHT format. |
| `wait_until_timeout_seconds` | integer | No | Maximum wait for the selected loading event, in seconds. Reaching the timeout produces a warning rather than failing window creation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Sessions

**Slug:** `AIRTOP_LIST_SESSIONS`

List Airtop browser sessions, optionally filtering by IDs or status. Use this to discover sessions or check the current state of a known session.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of sessions to return in this page. |
| `status` | string ("awaitingCapacity" | "initializing" | "running" | "ended" | "completed" | "cancelled" | "all") | No | Return only sessions with this status. |
| `next_cursor` | string | No | Continuation cursor from a previous response. Omit for the first page and pass it back unchanged to fetch the next page. |
| `session_ids` | string | No | Comma-separated session IDs to return. Omit to list sessions without an ID filter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Windows

**Slug:** `AIRTOP_LIST_WINDOWS`

List all browser windows in a running Airtop session, including their IDs, current URLs, and titles when available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `session_id` | string | Yes | Running Airtop session whose browser windows to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Navigate Window

**Slug:** `AIRTOP_NAVIGATE_WINDOW`

Navigate an existing Airtop browser window to a new URL and optionally wait for page loading.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Absolute URL to load. |
| `window_id` | string | Yes | Airtop browser window to navigate. |
| `session_id` | string | Yes | Running session that owns the window. |
| `wait_until` | string ("load" | "domContentLoaded" | "complete" | "noWait") | No | Page loading event to wait for before returning. |
| `wait_until_timeout_seconds` | integer | No | Maximum wait for the selected loading event, in seconds. Reaching the timeout can produce a warning rather than fail navigation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Query Page

**Slug:** `AIRTOP_QUERY_PAGE`

Ask Airtop AI a question about a page or extract structured page content. This operation consumes Airtop credits; the response reports credits_used, and cost/time thresholds cancel work after periodically checked thresholds are exceeded.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `prompt` | string | Yes | Question or extraction instruction for the current page. Include desired bounds and output details. |
| `window_id` | string | Yes | Window whose current page to query. |
| `session_id` | string | Yes | Running session that owns the window. |
| `output_schema` | object | No | Optional JSON Schema for structured model output. It is serialized into Airtop's configuration.outputSchema string. |
| `client_request_id` | string | No | Optional caller correlation ID returned in response metadata. |
| `cost_threshold_credits` | integer | No | Credit threshold checked periodically by Airtop. It is not a hard cap; omit it for Airtop's default. Setting 0 disables this protection and is not recommended. |
| `time_threshold_seconds` | integer | No | Runtime threshold in seconds checked periodically by Airtop. It is not a hard deadline; omit it for Airtop's default. Setting 0 disables this protection and is not recommended. |
| `follow_pagination_links` | boolean | No | Attempt pagination, load-more controls, or infinite scrolling. This can substantially increase cost and execution time; bound the work in the prompt and thresholds. |
| `include_visual_analysis` | string ("auto" | "disabled" | "enabled") | No | Whether Airtop should add screenshot-based analysis. Enabling it can increase credit use and execution time. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Terminate Session

**Slug:** `AIRTOP_TERMINATE_SESSION`

Terminate an Airtop session and all of its windows. Use promptly after browser work to stop time-based session billing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `session_id` | string | Yes | Session ID to terminate. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Type Text

**Slug:** `AIRTOP_TYPE_TEXT`

Use Airtop AI to locate an input and type text into it. This consumes Airtop credits. Enabling Enter can submit forms or trigger external effects, and the response preserves status, usage, warnings, and errors.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | Text to type into the target input. |
| `window_id` | string | Yes | Window containing the target input. |
| `session_id` | string | Yes | Running session that owns the window. |
| `press_tab_key` | boolean | No | Press Tab after typing to move focus. If Enter is also enabled, Airtop presses Tab after Enter. |
| `press_enter_key` | boolean | No | Press Enter after typing. This can submit a form or trigger another irreversible external action. |
| `clear_input_field` | boolean | No | Clear an active HTML input before typing. |
| `client_request_id` | string | No | Optional caller correlation ID returned in Airtop response metadata. |
| `element_description` | string | No | Natural-language description of the target input. Omit only when the intended field is already active and unambiguous. |
| `wait_for_navigation` | boolean | No | Wait for navigation after typing or a configured key press. |
| `cost_threshold_credits` | integer | No | Credit threshold checked periodically by Airtop. It is not a hard cap; omit it to use Airtop's default. Setting 0 disables this safeguard and is not recommended. |
| `time_threshold_seconds` | integer | No | Runtime threshold in seconds checked periodically by Airtop. It is not a hard deadline; omit it to use Airtop's default. Setting 0 disables this safeguard and is not recommended. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
