Airtop

App · AI Agents · 13 actions

Drive a real Chrome browser in the cloud from a workflow, using plain language instead of selectors: read a page, ask questions about it, extract structured data across paginated results, screenshot it, and click and type your way through it. Keep a browser signed in across steps with saved profiles, and hand a live view to a person when something needs a human.

Actions

ActionWhat it does
Ask about a pageOpen a page and answer a question about it in plain language: 'is this in stock?', 'who wrote this?', 'what does the pricing page say the top tier costs?'.
Check a page conditionAsk whether something is true of the page and get back a yes or no a later step can branch on: 'is the order marked shipped?', 'is there a cookie banner?'.
Click somethingClick something on the page, described in your own words rather than as a CSS selector: 'the Accept cookies button', 'the second result'.
Delete saved profilesDelete saved browser profiles by name.
End a browser sessionClose a browser session so it stops billing.
Extract data from a pagePull structured records off a page (listings, search results, a table), following 'next page' links as it goes.
List browser sessionsSee the browser sessions on your Airtop account and how many minutes each has used.
Open a pageOpen another tab in a browser session that's already running, and get back a link for watching or driving it yourself.
Read a pageOpen a page in a real Chrome browser and return its text, with the navigation and scripts stripped out.
Start a browser sessionOpen a cloud browser that stays open across steps, and wait until it's ready.
Summarize a pageOpen a page and summarize it.
Take a screenshotOpen a page and take a picture of it.
Type textType into a field described in your own words: 'the search box', 'the email field'.

Ask about a page

Open a page and answer a question about it in plain language: 'is this in stock?', 'who wrote this?', 'what does the pricing page say the top tier costs?'. No selectors, and the answer survives a redesign of the page.

Inputs

Page addressurltext
The page to work on. Leave this blank and fill in the session and window below to use a browser an earlier step already opened; that's how you reach a page behind a login.
QuestionprompttextRequired
What you want to know about the page.
Browser sessionsession_idtext
Use a browser an earlier 'Start a browser session' step opened, instead of opening a new one. Leave blank to just use the address above.
Browser tabwindow_idtext
The tab from that same step. Needed whenever a browser session is given.
Consider the page loadedwait_untiltext
How long to wait after opening the address before acting. Only applies when this step opens the page.One of: load (When the page and its images have loaded), domContentLoaded (As soon as the HTML is ready (fastest)), complete (When the page and everything embedded in it have loaded), noWait (Don't wait at all). Default: load.
Stop after (credits)max_creditsnumber
Give up if the step has spent more than this many Airtop credits. Airtop checks between steps of the work, so it can overshoot a little.At least 1.
Stop after (seconds)max_secondsnumber
Give up if the step has been running longer than this. Browser steps are slow (a click can take minutes), so leave this generous.At least 1.

Outputs

answertext
credits_usednumber
issueslist
partialtrue/false
statustext
Example output
{
  "answer": "The page explains that this domain is for use in examples.",
  "credits_used": 1,
  "issues": [],
  "partial": false,
  "status": "success"
}

Check a page condition

Ask whether something is true of the page and get back a yes or no a later step can branch on: 'is the order marked shipped?', 'is there a cookie banner?'. This one looks at the page as an image, so it costs far more than the other steps on a busy page; set a credit ceiling if you're unsure.

Inputs

Page addressurltext
The page to work on. Leave this blank and fill in the session and window below to use a browser an earlier step already opened; that's how you reach a page behind a login.
ConditionconditiontextRequired
What should be true, in plain words.
Browser sessionsession_idtext
Use a browser an earlier 'Start a browser session' step opened, instead of opening a new one. Leave blank to just use the address above.
Browser tabwindow_idtext
The tab from that same step. Needed whenever a browser session is given.
Consider the page loadedwait_untiltext
How long to wait after opening the address before acting. Only applies when this step opens the page.One of: load (When the page and its images have loaded), domContentLoaded (As soon as the HTML is ready (fastest)), complete (When the page and everything embedded in it have loaded), noWait (Don't wait at all). Default: load.
Stop after (credits)max_creditsnumber
Give up if the step has spent more than this many Airtop credits. Airtop checks between steps of the work, so it can overshoot a little.At least 1.
Stop after (seconds)max_secondsnumber
Give up if the step has been running longer than this. Browser steps are slow (a click can take minutes), so leave this generous.At least 1.

Outputs

condition_mettrue/false
credits_usednumber
issueslist
partialtrue/false
reasontext
statustext
Example output
{
  "condition_met": true,
  "credits_used": 1,
  "issues": [],
  "partial": false,
  "reason": "The page shows the order status as shipped.",
  "status": "success"
}

Click something

Click something on the page, described in your own words rather than as a CSS selector: 'the Accept cookies button', 'the second result'. Slow: finding the element is itself an AI step and a click can take a few minutes.

Inputs

Page addressurltext
The page to work on. Leave this blank and fill in the session and window below to use a browser an earlier step already opened; that's how you reach a page behind a login.
What to clickelement_descriptiontextRequired
Describe it the way you'd describe it to a person.
Wait for the next pagewait_for_navigationtrue/false
Turn on when the click goes somewhere, so the next step sees the new page rather than the old one.Default: false.
Browser sessionsession_idtext
Use a browser an earlier 'Start a browser session' step opened, instead of opening a new one. Leave blank to just use the address above.
Browser tabwindow_idtext
The tab from that same step. Needed whenever a browser session is given.
Consider the page loadedwait_untiltext
How long to wait after opening the address before acting. Only applies when this step opens the page.One of: load (When the page and its images have loaded), domContentLoaded (As soon as the HTML is ready (fastest)), complete (When the page and everything embedded in it have loaded), noWait (Don't wait at all). Default: load.
Stop after (credits)max_creditsnumber
Give up if the step has spent more than this many Airtop credits. Airtop checks between steps of the work, so it can overshoot a little.At least 1.
Stop after (seconds)max_secondsnumber
Give up if the step has been running longer than this. Browser steps are slow (a click can take minutes), so leave this generous.At least 1.

Outputs

credits_usednumber
detailtext
issueslist
partialtrue/false
statustext
Example output
{
  "credits_used": 0,
  "detail": "Click operation completed",
  "issues": [],
  "partial": false,
  "status": "success"
}

Delete saved profiles

Delete saved browser profiles by name. A profile holds the cookies of a signed-in browser, so deleting one signs that account out of every future session that would have used it.

Inputs

Profile namesprofile_nameslistRequired
The profiles to delete.

Outputs

countnumber
deletedtrue/false
profile_nameslist
Example output
{
  "count": 1,
  "deleted": true,
  "profile_names": [
    "linkedin-login"
  ]
}

End a browser session

Close a browser session so it stops billing. Give a profile name to keep whatever it's signed into, so a later run can start already signed in; the signed-in state is only saved when the session ends.

Inputs

Browser sessionsession_idtextRequired
From an earlier 'Start a browser session' step.
Save signed-in state assave_profile_astext
A name to keep this browser's cookies and logins under, for 'Sign in as' on a later session. Leave blank to keep nothing.

Outputs

endedtrue/false
profile_saved_astext
session_idtext
Example output
{
  "ended": true,
  "profile_saved_as": "",
  "session_id": "0a1b2c3d-4e5f-6071-8293-a4b5c6d7e8f9"
}

Extract data from a page

Pull structured records off a page (listings, search results, a table), following 'next page' links as it goes. Describe the shape you want and the result comes back ready for a later step to loop over.

Inputs

Page addressurltext
The page to work on. Leave this blank and fill in the session and window below to use a browser an earlier step already opened; that's how you reach a page behind a login.
What to extractprompttextRequired
Describe the records you want and the fields on each one.
Result shapeoutput_schemaobject
An optional JSON schema for the answer. Give one and the result comes back as data rather than text, so a later step can loop over it.
Browser sessionsession_idtext
Use a browser an earlier 'Start a browser session' step opened, instead of opening a new one. Leave blank to just use the address above.
Browser tabwindow_idtext
The tab from that same step. Needed whenever a browser session is given.
Consider the page loadedwait_untiltext
How long to wait after opening the address before acting. Only applies when this step opens the page.One of: load (When the page and its images have loaded), domContentLoaded (As soon as the HTML is ready (fastest)), complete (When the page and everything embedded in it have loaded), noWait (Don't wait at all). Default: load.
Stop after (credits)max_creditsnumber
Give up if the step has spent more than this many Airtop credits. Airtop checks between steps of the work, so it can overshoot a little.At least 1.
Stop after (seconds)max_secondsnumber
Give up if the step has been running longer than this. Browser steps are slow (a click can take minutes), so leave this generous.At least 1.

Outputs

answertext
credits_usednumber
data
issueslist
partialtrue/false
statustext
Example output
{
  "answer": "{\"links\":[{\"text\":\"Learn more\",\"url\":\"https://iana.org\"}]}",
  "credits_used": 3,
  "data": {
    "links": [
      {
        "text": "Learn more",
        "url": "https://iana.org"
      }
    ]
  },
  "issues": [],
  "partial": false,
  "status": "success"
}

List browser sessions

See the browser sessions on your Airtop account and how many minutes each has used. Worth running on a schedule: a session a failed workflow left behind keeps billing until it goes idle, and this is what shows it.

Inputs

Which sessionsstatustext
Narrow it to sessions in one state.One of: all (All sessions), running (Running now), initializing (Starting up), awaitingCapacity (Waiting for capacity), ended, completed, cancelled. Default: all.
How manylimitnumber
The most sessions to return, newest first.At least 1. Default: 10.

Outputs

countnumber
has_moretrue/false
running_countnumber
sessionslist
totalnumber
Example output
{
  "count": 1,
  "has_more": false,
  "running_count": 1,
  "sessions": [
    {
      "created_at": "2026-09-17T22:19:59.935Z",
      "idle_timeout_minutes": 5,
      "last_activity": "2026-09-17T22:19:59.935Z",
      "minutes_used": null,
      "profile_name": null,
      "session_id": "0a1b2c3d-4e5f-6071-8293-a4b5c6d7e8f9",
      "status": "running"
    }
  ],
  "total": 1
}

Open a page

Open another tab in a browser session that's already running, and get back a link for watching or driving it yourself.

Inputs

Browser sessionsession_idtextRequired
From an earlier 'Start a browser session' step.
Page addressurltextRequired
The page to open.
Consider the page loadedwait_untiltext
How long to wait after opening the address before acting. Only applies when this step opens the page.One of: load (When the page and its images have loaded), domContentLoaded (As soon as the HTML is ready (fastest)), complete (When the page and everything embedded in it have loaded), noWait (Don't wait at all). Default: load.

Outputs

live_view_urltext
session_idtext
urltext
window_idtext
Example output
{
  "live_view_url": "https://live.airtop.ai/0a1b2c3d-4e5f-6071-8293-a4b5c6d7e8f9?token=...",
  "session_id": "0a1b2c3d-4e5f-6071-8293-a4b5c6d7e8f9",
  "url": "https://example.com",
  "window_id": "2c3d4e5f-6071-8293-a4b5-c6d7e8f9a0b1"
}

Read a page

Open a page in a real Chrome browser and return its text, with the navigation and scripts stripped out. No AI is involved and it costs no Airtop credits, so use it when a later step is going to do the thinking.

Inputs

Page addressurltext
The page to work on. Leave this blank and fill in the session and window below to use a browser an earlier step already opened; that's how you reach a page behind a login.
Browser sessionsession_idtext
Use a browser an earlier 'Start a browser session' step opened, instead of opening a new one. Leave blank to just use the address above.
Browser tabwindow_idtext
The tab from that same step. Needed whenever a browser session is given.
Consider the page loadedwait_untiltext
How long to wait after opening the address before acting. Only applies when this step opens the page.One of: load (When the page and its images have loaded), domContentLoaded (As soon as the HTML is ready (fastest)), complete (When the page and everything embedded in it have loaded), noWait (Don't wait at all). Default: load.

Outputs

content_typetext
credits_usednumber
issueslist
partialtrue/false
selected_texttext
statustext
texttext
titletext
Example output
{
  "content_type": "text/plain",
  "credits_used": 0,
  "issues": [],
  "partial": false,
  "selected_text": "",
  "status": "success",
  "text": "Example Domain\n\nThis domain is for use in examples.",
  "title": "Example Domain"
}

Start a browser session

Open a cloud browser that stays open across steps, and wait until it's ready. Use it when several steps work on the same site, or when you need to be signed in. Always pair it with an 'End a browser session' step; a browser left open bills until it goes idle.

Inputs

Starting pageurltext
Open this page straight away. Leave blank to start with a blank tab.
Sign in asprofile_nametext
The name of a saved Airtop profile to load, so the browser starts already signed in. Create one by signing in through a live view and saving it when the session ends.
Close after idle foridle_timeout_minutesnumber
Minutes of inactivity before Airtop closes the browser by itself. This is the backstop that stops a failed workflow billing forever, so keep it short.From 1 to 1440. Default: 5.
Solve CAPTCHAssolve_captchatrue/false
Let Airtop work through CAPTCHA challenges itself.Default: false.
Use a residential proxyuse_proxytrue/false
Browse through Airtop's residential proxy, for sites that block data-centre traffic.Default: false.

Outputs

created_attext
idle_timeout_minutesnumber
last_activitytext
live_view_urltext
minutes_usednumber
profile_nametext
session_idtext
statustext
window_idtext
Example output
{
  "created_at": "2026-09-17T22:19:59.935Z",
  "idle_timeout_minutes": 5,
  "last_activity": "2026-09-17T22:19:59.935Z",
  "live_view_url": "https://live.airtop.ai/0a1b2c3d-4e5f-6071-8293-a4b5c6d7e8f9?token=...",
  "minutes_used": null,
  "profile_name": null,
  "session_id": "0a1b2c3d-4e5f-6071-8293-a4b5c6d7e8f9",
  "status": "running",
  "window_id": "1b2c3d4e-5f60-7182-93a4-b5c6d7e8f9a0"
}

Summarize a page

Open a page and summarize it. Add a prompt to steer what the summary is about (the pricing, the risks, what changed), rather than a general precis.

Inputs

Page addressurltext
The page to work on. Leave this blank and fill in the session and window below to use a browser an earlier step already opened; that's how you reach a page behind a login.
Focus onprompttext
What the summary should be about. Leave blank for a general summary.
Browser sessionsession_idtext
Use a browser an earlier 'Start a browser session' step opened, instead of opening a new one. Leave blank to just use the address above.
Browser tabwindow_idtext
The tab from that same step. Needed whenever a browser session is given.
Consider the page loadedwait_untiltext
How long to wait after opening the address before acting. Only applies when this step opens the page.One of: load (When the page and its images have loaded), domContentLoaded (As soon as the HTML is ready (fastest)), complete (When the page and everything embedded in it have loaded), noWait (Don't wait at all). Default: load.
Stop after (credits)max_creditsnumber
Give up if the step has spent more than this many Airtop credits. Airtop checks between steps of the work, so it can overshoot a little.At least 1.
Stop after (seconds)max_secondsnumber
Give up if the step has been running longer than this. Browser steps are slow (a click can take minutes), so leave this generous.At least 1.

Outputs

credits_usednumber
issueslist
partialtrue/false
statustext
summarytext
Example output
{
  "credits_used": 1,
  "issues": [],
  "partial": false,
  "status": "success",
  "summary": "The page describes a domain reserved for examples."
}

Take a screenshot

Open a page and take a picture of it. Comes back as an image you can attach to an email or a message. Costs no Airtop credits.

Inputs

Page addressurltext
The page to work on. Leave this blank and fill in the session and window below to use a browser an earlier step already opened; that's how you reach a page behind a login.
Browser sessionsession_idtext
Use a browser an earlier 'Start a browser session' step opened, instead of opening a new one. Leave blank to just use the address above.
Browser tabwindow_idtext
The tab from that same step. Needed whenever a browser session is given.
Consider the page loadedwait_untiltext
How long to wait after opening the address before acting. Only applies when this step opens the page.One of: load (When the page and its images have loaded), domContentLoaded (As soon as the HTML is ready (fastest)), complete (When the page and everything embedded in it have loaded), noWait (Don't wait at all). Default: load.

Outputs

credits_usednumber
expires_attext
imagetext
image_formattext
issueslist
partialtrue/false
statustext
Example output
{
  "credits_used": 0,
  "expires_at": "",
  "image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD...",
  "image_format": "base64",
  "issues": [],
  "partial": false,
  "status": "success"
}

Type text

Type into a field described in your own words: 'the search box', 'the email field'. Airtop reports the keystrokes as sent, which isn't the same as the page acting on them, so turn on 'Press Enter' to submit.

Inputs

Page addressurltext
The page to work on. Leave this blank and fill in the session and window below to use a browser an earlier step already opened; that's how you reach a page behind a login.
Text to typetexttextRequired
What to put in the field.
Where to typeelement_descriptiontext
Describe the field. Leave blank to type wherever the page already has the cursor.
Clear the field firstclear_firsttrue/false
Empty the field before typing into it.Default: false.
Press Enter afterwardspress_entertrue/false
Submit the form, or run the search.Default: false.
Wait for the next pagewait_for_navigationtrue/false
Turn on when pressing Enter goes somewhere, so the next step sees the new page.Default: false.
Browser sessionsession_idtext
Use a browser an earlier 'Start a browser session' step opened, instead of opening a new one. Leave blank to just use the address above.
Browser tabwindow_idtext
The tab from that same step. Needed whenever a browser session is given.
Consider the page loadedwait_untiltext
How long to wait after opening the address before acting. Only applies when this step opens the page.One of: load (When the page and its images have loaded), domContentLoaded (As soon as the HTML is ready (fastest)), complete (When the page and everything embedded in it have loaded), noWait (Don't wait at all). Default: load.
Stop after (credits)max_creditsnumber
Give up if the step has spent more than this many Airtop credits. Airtop checks between steps of the work, so it can overshoot a little.At least 1.
Stop after (seconds)max_secondsnumber
Give up if the step has been running longer than this. Browser steps are slow (a click can take minutes), so leave this generous.At least 1.

Outputs

credits_usednumber
detailtext
issueslist
partialtrue/false
statustext
Example output
{
  "credits_used": 0,
  "detail": "Type operation completed",
  "issues": [],
  "partial": false,
  "status": "success"
}

On this page