Skip to content

Integrations

Fresh Source: docs.airtop.ai

Airtop integrates with browser automation frameworks (Playwright, Puppeteer, Selenium) and no-code platforms (Make, n8n).

Playwright

Connect Playwright to an Airtop cloud browser session via CDP (Chrome DevTools Protocol).

typescript
import Airtop from '@airtop/sdk';
import { chromium } from 'playwright';

const airtop = new Airtop({ apiKey: process.env.AIRTOP_API_KEY });

// Create session and get CDP URL
const session = await airtop.sessions.create({
  configuration: { timeoutMinutes: 15 },
});
const sessionId = session.data.id;
const cdpUrl = session.data.cdpWsUrl;

// Connect Playwright via CDP
const browser = await chromium.connectOverCDP(cdpUrl);
const context = browser.contexts()[0];
const page = context.pages()[0] || await context.newPage();

// Use Playwright APIs
await page.goto('https://example.com');
const title = await page.title();
console.log('Page title:', title);

// Take screenshot
await page.screenshot({ path: 'screenshot.png' });

// Cleanup
await browser.close();
await airtop.sessions.terminate(sessionId);
python
from airtop import Airtop
from playwright.sync_api import sync_playwright

airtop_client = Airtop(api_key="your-api-key")

# Create session and get CDP URL
session = airtop_client.sessions.create(
    configuration={"timeoutMinutes": 15}
)
session_id = session.data.id
cdp_url = session.data.cdp_ws_url

# Connect Playwright via CDP
with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(cdp_url)
    context = browser.contexts[0]
    page = context.pages[0] if context.pages else context.new_page()

    page.goto("https://example.com")
    print(f"Page title: {page.title()}")

    page.screenshot(path="screenshot.png")
    browser.close()

airtop_client.sessions.terminate(session_id)

Puppeteer

Connect Puppeteer to an Airtop session via WebSocket.

typescript
import Airtop from '@airtop/sdk';
import puppeteer from 'puppeteer';

const airtop = new Airtop({ apiKey: process.env.AIRTOP_API_KEY });

const session = await airtop.sessions.create({
  configuration: { timeoutMinutes: 15 },
});
const sessionId = session.data.id;
const wsUrl = session.data.cdpWsUrl;

// Connect Puppeteer
const browser = await puppeteer.connect({
  browserWSEndpoint: wsUrl,
});

const pages = await browser.pages();
const page = pages[0] || await browser.newPage();

await page.goto('https://example.com');
const title = await page.title();
console.log('Page title:', title);

await browser.disconnect();
await airtop.sessions.terminate(sessionId);
python
# Puppeteer is Node.js only — use Playwright for Python
# See Playwright section above

Selenium

Connect Selenium WebDriver to an Airtop session.

typescript
// Selenium is typically used with Java/Python — see Python example
python
from airtop import Airtop
from selenium import webdriver

airtop_client = Airtop(api_key="your-api-key")

session = airtop_client.sessions.create(
    configuration={"timeoutMinutes": 15}
)
session_id = session.data.id
selenium_url = session.data.selenium_url

# Connect Selenium
options = webdriver.ChromeOptions()
driver = webdriver.Remote(
    command_executor=selenium_url,
    options=options
)

driver.get("https://example.com")
print(f"Page title: {driver.title}")

driver.quit()
airtop_client.sessions.terminate(session_id)

Make (formerly Integromat)

Airtop provides native Make modules for no-code automation.

Available Modules

ModuleDescription
Create SessionStart a cloud browser session
Create WindowOpen a URL in the session
Page QueryAsk questions about page content
Scrape ContentExtract page content
ClickClick elements on the page
TypeType text into inputs
Fill FormAI-powered form filling
Terminate SessionEnd the session

Setup

  1. Install the Airtop app from the Make marketplace
  2. Add your API key in the connection settings
  3. Drag Airtop modules into your scenario
  4. Configure each module with session/window IDs from previous steps

n8n

Airtop provides n8n nodes for workflow automation.

Available Nodes

NodeDescription
AirtopMain node with all operations as a dropdown

Setup

  1. Install the Airtop community node in n8n
  2. Add your API key as a credential
  3. Add the Airtop node to your workflow
  4. Select the operation (Create Session, Page Query, etc.)

When to Use Which

FrameworkBest For
Airtop SDKAI-powered operations (scrape, query, fill, monitor)
PlaywrightComplex browser automation with Airtop's cloud infrastructure
PuppeteerNode.js projects needing fine-grained browser control
SeleniumJava/Python projects with existing Selenium codebases
Make/n8nNo-code automations, connecting Airtop to other services

Hybrid Approach

Combine Airtop's AI APIs with framework capabilities:

typescript
// Use Airtop for AI + Playwright for precise control
const browser = await chromium.connectOverCDP(cdpUrl);
const page = browser.contexts()[0].pages()[0];

// Playwright for navigation
await page.goto('https://example.com/dashboard');
await page.waitForSelector('.data-table');

// Airtop AI for intelligent extraction
const data = await airtop.windows.pageQuery(sessionId, windowId, {
  prompt: 'Extract all rows from the data table with columns: Name, Status, Date',
  configuration: { outputSchema: { /* ... */ } },
});

Unofficial SOP documentation for Airtop