Can an AI agent use Browse AI (browse.ai)?

As of 6 Oct 2026, an AI agent gets into Browse AI on its own and does 50% of the core work.

Level 3 · Does the workAn agent gets in on its own and does half the core work or more.
  • Find: Some docs for agents: llms.txt and an OpenAPI.
  • Access: Sign-up in a browser.
  • Use: 50% of the work.
  • Pay: Reaches the checkout: Stopped at the card form.
  • Leave: Leaves on its own: Nothing to cancel, deletes its account.

To reach L4 · Runs on its own: do 80% of the core work (now 50%).

What the levels mean

Driven 6 Oct 20261 drive so farRules of 15 Oct 2026Claim this page

Written and checked by our agents from this drive's record. How we write.

Who gets in

  • Agents on a serverGet in on their own.
  • Signed agentsNot checked: its robots.txt asks crawlers to stay off the sign-up page.
  • Agents in a person's browserNot measured yet.

Sign-up page checked 12 Oct 2026. Signed agents: the ones Cloudflare verifies. Where agents come from

What an agent can do in Browse AI (browse.ai).

On its own

  • Run an already-trained robot and read back the extracted data on its own
  • Schedule the robot to check a page repeatedly and change the schedule
  • Run the robot over many web pages at once in one batch
2 more
  • Set up and remove webhook notifications and stored login cookies
  • Filter past runs by status, date and batch

What it can't, and why

  • Teach a robot what to extract from a new pageOnly the website's point-and-click tool can train a robot.
  • Get an API key without using the websiteKeys are only created in the account dashboard.
  • Follow a page's 'next page' links automaticallyThe AI-trained robot only read the first page of results.
1 more
  • Upgrade to a paid plan or cancel one without a humanNo card was available and payment is a web dashboard form only.
On its own, in a browser

Can an AI agent sign up for Browse AI on its own?

Yes, in a browser, without a human. Auth0 web form at auth.browse.ai (email + password, no CAPTCHA), then a 5-step onboarding questionnaire. No documented headless sign-up.

No MCP server found

Does Browse AI (browse.ai) have an MCP server, and can an agent connect to it?

No. The drive found no MCP server for Browse AI.

A new agent can get in on its own: in the drive of 6 Oct 2026, our agent signed up, verified and got its key without a person.

What the drive found

APIOpenAPI–MCP–CLI–SDKllms.txtWebhooks–Sandbox
On its own, in a browser

How does an AI agent get a Browse AI (browse.ai) API key?

In the drive of 6 Oct 2026, our agent got its Browse AI API key in a browser, without a person. API key created in Dashboard > API; no API/CLI to create keys.

On its own, in a browser

Can an AI agent delete its Browse AI account?

Yes, in a browser, without a human. Profile > 'click here' > type 'delete' > confirm. Account gone: login answers 'Wrong email or password'. Web only; paid plans and workspace owners go through support chat per help article.

Reaches the checkout

Can an AI agent pay for Browse AI?

Reaches the checkout: stopped at the card form.

  • Stripe card form card checkout

It has a free plan.

What would let agents pay on their own
  1. Accept x402 or MPP on your API. Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card.Step-by-step guide
  2. List your plans on Stripe Projects. Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev).Step-by-step guide

Free plan without a card (60 credits/month, 2 websites). Dashboard > Billing: Select Plan showed a cost breakdown with 'Confirm and pay $228' (not clicked: no card) and an error panel under it; no card form was reached. No 402/x402/MPP, no billing API. Not in the mpp.dev registry or x402 Bazaar.

From the drive of 6 Oct 2026.

For the team behind Browse AI.

Where agents stop in Browse AI (browse.ai) today, and the fixes that get them further, highest impact first.

In on its own; 50% of the work done

The fixes, highest impact first

  1. Add an API to create and train robots
  2. Let agents create API keys headlessStep-by-step guide
  3. Fix API drift in cookies and filters
1 more fix
  1. Add API routes to delete robots and accounts
  • Claim it free and reply next to the result.
  • A Drive, $49: your private report, with where agents stop, the evidence and the fixes that move your level.
  • Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).
See the example report
Details

Your API, MCP server or CLI is the product? An Audit ($299) also checks every documented route, MCP tool and CLI command against your docs. Compare plans.

Already claimed it? Open it in your dashboard.

Rather not be driven? Block AgentDrivesAgent in robots.txt or write to us. We stop driving it ourselves; this page stays, with its date.

Embed the badge on your site

Driven · L3 · Does the work badge

Behind the level.

The part scores and the measures behind them.

Part scores and the measures

Part scores

Agent-ready setup

  • llms.txt: found
  • OpenAPI: found
  • MCP server: not found
  • CLI: not found

Not measured in this drive: Holds up, Docs match (part of an Audit).

Security: reported privately to the owner

The measures

  1. Work done50
  2. Reliability100
  3. Crash test–

For agents and builders.

The drive as data, every checkpoint and all 40 attempts.

How an agent connects · 5 tips
  • Have a human (or a browser agent) train the robot once in Table Studio; everything after that is clean REST at https://api.browse.ai/v2 with a Bearer key.
  • Poll GET /v2/robots/{id}/tasks/{taskId}; tasks took about 10-30 s on simple pages.
  • PATCH /cookies wants a bare array and secure/httpOnly/hostOnly booleans on each cookie.
  • Task filters fromDate/toDate take Unix seconds; createdAt comes back in milliseconds.
  • Table Studio robots may not follow pagination; check row counts.
Every checkpoint, in detail · 9 checkpoints
  1. DocsHeadlessdocs.browse.ai/api/llms.txt is the full v2 REST reference in Markdown (OpenAPI 3.1.0, 19 operations); help.browse.ai/llms.txt indexes .md help articles.
  2. Sign upIn a browserAuth0 web form at auth.browse.ai (email + password, no CAPTCHA), then a 5-step onboarding questionnaire. No documented headless sign-up.
  3. VerifyHeadlessVerification mail arrived in about a minute; the link and its Continue form worked over plain HTTP (302 to dashboard login). Not required: the dashboard and API key worked before verifying; the profile still said unverified afterwards (mail warns of up to 24 h caching).
  4. KeyIn a browserAPI key created in Dashboard > API; no API/CLI to create keys.
  5. First callHeadlessGET /v2/robots with Bearer key -> 200.
  6. First actionIn a browserRobots can only be created in the web UI. Table Studio (AI) built a 'Books List' robot from a URL and a one-line instruction in about 90 s; read back via GET /v2/robots/{id}. Running, monitoring and bulk runs then work headless through the API.
  7. PayNot triedFree plan without a card (60 credits/month, 2 websites). Dashboard > Billing: Select Plan showed a cost breakdown with 'Confirm and pay $228' (not clicked: no card) and an error panel under it; no card form was reached. No 402/x402/MPP, no billing API. Not in the mpp.dev registry or x402 Bazaar.
  8. CancelNot neededNothing to cancel: our agent used the free plan.
  9. DeleteIn a browserProfile > 'click here' > type 'delete' > confirm. Account gone: login answers 'Wrong email or password'. Web only; paid plans and workspace owners go through support chat per help article.
The attempt log · 40 attempts
Attempt log
CapabilityRouteResultEvidence
agent discovery: robots.txt + aiprefapidone ✓GET https://www.browse.ai/robots.txt 200: only 'User-agent: ia_archiver / Disallow: /pricing', Sitemap, Host. No Content-Usage or Content-signal line; no Content-Usage header on www or docs.
agent discovery: llms.txtapidone ✓https://www.browse.ai/llms.txt 200 text/plain (H1 'Browse AI - No-code web scraping...'); https://docs.browse.ai/llms.txt links https://docs.browse.ai/api/llms.txt (full v2 API reference in Markdown, 'OpenAPI Version: 3.1.0'); help.browse.ai/llms.txt lists .md articles
agent discovery: markdown negotiationapipartial ✓Accept: text/markdown on https://docs.browse.ai/api/ and www.browse.ai -> text/html, no Vary: Accept. docs.browse.ai/api.md 404. help.browse.ai articles have .md URLs (200, markdown).
agent discovery: find API docsapidone ✓docs.browse.ai/api/ (v2 REST, OpenAPI 3.1.0 per llms.txt), 19 operations; no create-robot or delete-robot endpoint; auth by Bearer API key from dashboard.browse.ai/api
agent discovery: 402 / agent payment probesapifailed ✓x402./mpp./agents.browse.ai do not resolve; api.browse.ai/v2/robots unauthenticated -> 401 JSON {statusCode:401,messageCode:unauthorized}, no 402/PAYMENT-REQUIRED/WWW-Authenticate Payment; /.well-known/ucp 404
agent discovery: registries by domainapifailed ✓mpp.dev/api/services: no browse.ai service (only unrelated 'browse' text matches). x402 Bazaar: no browse.ai resource.
sign up: create account with test email + passwordbrowserdone ✓auth.browse.ai/u/signup (Auth0 Universal Login) web form: email+password, no CAPTCHA shown; redirected to dashboard.browse.ai/welcome onboarding
verify email: confirm email via link in verification mailapidoneMail 'Verify your email' from support@browse.ai arrived in ~1 min; GET ticket link + POST its Continue form (state, action=default) with plain HTTP -> 302 Found to https://dashboard.browse.ai/login. Dashboard was usable before verifying.
get API key: create API keybrowserdone ✓Dashboard > API (dashboard.browse.ai/workspaces/<ws>/api) 'Create API key' with a name; key shown in table (format <uuid>:<uuid>). No API/CLI to create keys; docs: 'Generate your API key' -> dashboard.browse.ai/api.
first API call: GET /v2/robots with Bearer keyapidone ✓GET https://api.browse.ai/v2/robots -> 200 {robots:{totalCount:0,items:[]}}
Check platform status: GET /v2/statusapidone ✓GET /v2/status (with key) -> 200 {statusCode:200,messageCode:success,tasksQueueStatus:OK}; without key -> 401 {statusCode:401,messageCode:unauthorized}
Train a robot on a webpage with AI: Train a robot on books.toscrape.com travel category: title, price, availability, URLbrowserdone ✓Dashboard New robot > Extract > Train robot > Table Studio (Beta): AI built 'Books List' table with 11 rows in ~90 s; Save Robot -> robot [id]. GET /v2/robots/[id] -> 200 name 'Books List', inputParameters originUrl, books_limit (max 5000, default 50).
first real action: create a robotbrowserdone ✓robot [id] created in Table Studio, read back with GET /v2/robots/[id]
Run a robot to extract structured data: Run Books List robot via API with books_limit=5 and read the resultapidone ✓POST /v2/robots/[id]/tasks -> 200 task [id] in-progress; GET .../tasks/[id] after ~30 s -> status successful, capturedLists.Books has 5 rows (Title, Price, Availability, Book Page URL), first 'It's Only the Himalayas' £45.17
Call a trained robot as a REST API endpoint: Bearer-key POST to run freshly trained robot, get JSON fieldsapidone ✓same task [id]: JSON with extracted fields returned by GET /v2/robots/[id]/tasks/[id]
Register webhooks: Register taskFinished webhook, list it, delete oneapipartial ✓POST /v2/robots/[id]/webhooks {hookUrl:https://agentdrives.com/hooks/browse-test,eventType:taskFinished} -> 200 webhook [id]; GET .../webhooks lists it; DELETE of a second webhook -> 200.
Multiple monitors on one robot: Create 2 monitors (travel daily, poetry weekly) and change one to hourlyapidone ✓POST /v2/robots/[id]/monitors x2 -> 200 [id], [id]; PATCH [id] schedule FREQ=HOURLY -> 200 everyMinutes 60; GET .../monitors lists both with distinct originUrl and schedule
Store session cookies: PATCH a session cookie onto the robotapifailedPATCH /v2/robots/[id]/cookies with wrong shape {cookies:[...]} -> 500 internal_server_error (should be 400); with documented bare array -> 400 {'statusCode': 400, 'messageCode': 'bad_request', 'errors': [{'name': 'ad_test', 'summary': 'Could not store new cookies', 'fields': [{'field': 'secure', 'message': 'Invalid input: expected boolean, received undefined'}, {'field': 'httpOnly', 'message': 'Invalid input: expected boolean, received undefined'}, {'field': 'hostOnly', 'message': 'Invalid input: expected boolean, received undefined'}]}]}
Store session cookies: PATCH a session cookie (retry with secure/httpOnly/hostOnly)apipartialbare array without secure/httpOnly/hostOnly -> 400 with field errors 'expected boolean, received undefined' (docs list them as optional: drift); with all three -> 200 {'statusCode': 200, 'messageCode': 'success', 'cookies': [{'name': 'ad_test', 'value': '***', 'domain': 'books.toscrape.com', 'expirationDate': 1822782399, 'path': '/', 'secure': True, 'hostOnly': True, 'httpOnly': False}]}
Bulk-run a robot: Bulk run robot over 2 category URLsapidone ✓POST /v2/robots/[id]/bulk-runs (2 inputParameters) -> 200 bulkRun [id] tasksCount 2; GET .../bulk-our records -> status finished, successfulTasks 2, robotTasks lists both successful
Scrape dynamic content (pagination): Run AI-trained robot on a 32-book, 2-page category with books_limit=25apifailed ✓task [id] successful but capturedLists.Books has 20 rows (page 1 only); page 2 not followed although books_limit=25
Query and filter task history: Filter tasks by bulk run, status, page size and date rangeapidone ✓GET /v2/robots/[id]/tasks?robotBulkRunId=[id] -> 2 (both of that run); status=failed -> 0; status=successful&pageSize=2 -> totalCount 6, 2 items, hasMore true; fromDate/toDate in seconds (last hour) -> 6, ms -> 0. Items carry runByAPI, robotBulkRunId, runByTaskMonitorId, runByUserId.
Monitor a page on a schedule: Create monitors (daily / weekly RRULE), change one to hourly, see first check runapidone ✓POST /v2/robots/[id]/monitors -> active, schedule FREQ=DAILY;INTERVAL=1 (everyMinutes 1440); PATCH to FREQ=HOURLY (60); monitor [id] ran a check right away: task [id] runByTaskMonitorId=[id], successful, 5 rows. GET .../monitors/[id] reads schedule back.
Field-level diff alerts: Get an alert when monitored data changesapiskippedMonitors created with notifyOnCapturedTextChange=true and a taskCapturedDataChanged webhook event exists, but we control no source page to change and have no webhook receiver; no change could be produced inside the drive window.
buy a plan: See how a paid plan is bought (no payment made)browserblocked ✓Dashboard > Billing: free plan (60 credits/month, 2 websites); Select Plan Personal -> 'Update my plan' panel with cost breakdown and 'Confirm and pay $228' (not clicked). Dashboard bundle loads js.stripe.com (Stripe card collection in-app). No billing API, no 402/x402/MPP.
Manage number of websites: Read website allowance on free planbrowserpartial ✓Billing page: 'Total websites: 2', 'Add websites' button; Personal plan includes 5 websites, add-on $4/mo. Adding websites costs money, not done.
Export captured data as CSV/JSON: Download table as CSVbrowserpartialRobot Tables > Export panel shows 'Download CSV', 'Download JSON', 'Export JSON/CSV to S3', scheduled exports. Our scripted click on Download did not complete within the drive time (selector timeouts), so no file was read back. No documented REST endpoint to start an export (only the tableExportFinishedSuccessfully webhook event).
delete created objects: Delete monitors and webhookapidone ✓DELETE /v2/robots/[id]/monitors/{M1,M2} and /webhooks/[id] -> 200; GET lists -> 0 monitors, 0 webhooks
Generate and revoke an API key: Create key, use it, delete it, confirm 401browserdone ✓Dashboard > API: created key 'agentdrives' (used for all API calls); delete-api-key > 'Yes, delete API key' -> list empty; GET /v2/robots with the same key -> 401 {statusCode:401,messageCode:unauthorized}
delete account: Delete the free account and its databrowserdone ✓Profile > 'If you would like to delete your account, click here' > type 'delete' > 'Yes, delete my account' -> logged out to auth.browse.ai/u/login; logging in again with the same email/password -> 'Wrong email or password'.
cancel plan: Cancel paid plannoneskippedNo paid plan was started. Help article 'How to manage your Browse AI subscription' describes cancel/pause in the dashboard; no billing API.
Capture a full-page or element screenshotnoneskippedTable Studio-trained robot has no screenshot field; screenshots are trained in Robot Studio / the extension (point-and-click). Not attempted for time; no API to add a capture to a robot.
Use a prebuilt robot template (250+ sites) instead of training from scratchnoneskippedPrebuilt robot gallery is web-UI only; not attempted for time.
Add an AI-written formula column to transform/clean a captured fieldnoneskippedFormula columns are web-UI only (Table Studio); not attempted for time.
Copy a column schema from an existing robot/table when training a new onenoneskippedCopying a column schema is web-UI only; not attempted for time.
Scrape across pages and subpages via workflows/automations (deep scraping)noneskippedWorkflows (deep scraping) are web-UI only; not attempted for time.
Sync captured data to Google Sheets, Airtable, Amazon S3, or via Zapier/Make/Pabbly (7,000+ apps)noneskippedIntegrations need third-party accounts (Google Sheets, Airtable, Zapier) we do not have.
Set a geographic proxy location for an extraction runnoneskippedProxy country is a robot setting in the UI (robot shows 'Germany'); the robot's API inputParameters expose no geo field. Not attempted further.
Invite and manage team users on an accountnoneskippedInviting team users not attempted: would send an invite email; skipped for time.
Book managed/premium data extraction service (enterprise onboarding and custom pipelines)noneskippedManaged service is a sales call booking; we do not contact sales.

Also in Web scraping.