FOR DEVELOPERS

Build with the Airtap API

Full programmatic control over cloud browser sessions, AI agents, structured data extraction, and authenticated scraping. SDKs for Node.js and Python.

Node.js
npm install @airtop/sdk
Python
pip install airtop
REST API
curl https://api.airtapai.com/v1
SESSIONS API

Programmatic browser sessions

Spin up cloud browser sessions via API. Attach to live sessions, extract structured data, click elements, fill forms, and take screenshots — all from your own code.

import Airtop from "@airtop/sdk";

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

// Create a session and navigate
const session = await client.sessions.create();
const window = await session.windows.create({
  url: "https://linkedin.com/jobs"
});

// Extract structured data
const result = await window.extract({
  prompt: "Get all job titles and companies",
  schema: {
    jobs: [{ title: "string", company: "string" }]
  }
});

console.log(result.data.jobs);
// [{ title: "Engineer", company: "Stripe" }, ...]

await session.end();
WEBHOOKS

Real-time event callbacks

Register webhooks to receive instant notifications when agent runs complete, sessions end, or errors occur. Full payload with structured output and metadata.

// Webhook payload example
{
  "event": "agent.run.completed",
  "timestamp": "2025-03-14T09:41:00Z",
  "agent_id": "agt_k92mxp4",
  "run_id": "run_a8b3cx1",
  "status": "success",
  "duration_ms": 4820,
  "output": {
    "leads": [
      {
        "name": "Jane Smith",
        "title": "VP of Engineering",
        "company": "Acme Corp",
        "email": "jane@acme.com"
      }
    ]
  },
  "credits_used": 12
}
SHARED AUTH

Authenticated sessions via API

Create and reuse authenticated browser profiles programmatically. Store auth once, pass profile IDs to any session — no credentials in your code.

// Create a persistent auth profile
const profile = await client.profiles.create({
  name: "linkedin-prod",
  description: "LinkedIn authenticated session"
});

// Authenticate it manually once in dashboard...

// Reuse in all future sessions
const session = await client.sessions.create({
  profileId: profile.id  // Already logged in!
});

// Works with SSO, OAuth, MFA, email verification
const window = await session.windows.create({
  url: "https://linkedin.com/sales/search"
});

API REFERENCE

Key endpoints

POST/v1/sessionsCreate a new browser session
GET/v1/sessions/:idGet session status
DELETE/v1/sessions/:idEnd a session
POST/v1/sessions/:id/windowsOpen a new browser window
POST/v1/windows/:id/extractExtract structured data from a page
POST/v1/windows/:id/clickClick an element
POST/v1/agentsCreate and run an AI agent
GET/v1/agents/:id/runsList all agent runs

Start building in minutes

Free API key. 1,000 credits/month. Full docs. No credit card required.