# How far does an AI agent get in SaaS on its own? 148 tested

No product reached Autonomous: 27 run on their own, and five took our side's payment with no card.

Source: https://agentdrives.com/reports/how-far-a-real-agent-got-2026-10?via=md · Updated 2026-10-23 · 148 products, driven 2026-10-01 to 2026-10-22

As of 22 October 2026, sign-up was the first checkpoint our agent could not pass on its own at 92 of the 148 products we drove, and at 83 of those sign-up stops, the stop was a bot check. Our agent got into 51 of 148 products on its own. The sign-up breakdown, form by form, is in [can AI agents sign up](/research/can-ai-agents-sign-up).

## 93 of 148 products need a person before our agent gets in

Each has an API, a CLI or an MCP server, but a person has to sign up, verify or make the key, so our agent did not get in on its own. Where our agent reached a verification step, it verified the account on its own at 37 of 42 products. It verified without a browser at 10 of them.

**Products by level**

|   | Products | Out of | Share |
| --- | --- | --- | --- |
| L0 | 4 | 148 | 3% |
| L1 | 93 | 148 | 63% |
| L2 | 10 | 148 | 7% |
| L3 | 14 | 148 | 9% |
| L4 | 27 | 148 | 18% |
| L5 | 0 | 148 | 0% |


[L5 Autonomous](/method) adds one thing to [L4 Runs on its own](/method): the agent also pays for its own work. Where we measured how much of the core product our agent ran, at 50 of 148 products, it ran a median 88% of the core tasks. At 4 products, our agent passed every checkpoint on its own. Paying there meant a per-call price for part of the work, as at [Browserbase](/tools/browserbase) and [Exa](/tools/exa), or no plan to buy, as at [Gumroad](/tools/gumroad). Apify, below, sold our side a token for the whole product.

If your product needs a person before an agent gets in, the step up is a sign-up an agent can finish alone. Its page in the [directory](/tools) names the checkpoint that stopped our agent.

## Our agent stopped at card checkouts; x402 and MPP rails took our side's payment

Payment was the first checkpoint our agent could not pass on its own at 43 of 148 products. That count takes in a card form our agent stopped at with no card, as at [DocuSeal](/tools/docuseal), and a plan sold only through sales, as at [Mattermost](/tools/mattermost).

**Where our agent stopped first**

| Checkpoint | Got here with no earlier stop | First stop here |
| --- | --- | --- |
| Docs | 148 | 0 |
| Sign-up | 148 | 92 |
| Verify | 56 | 3 |
| Key | 53 | 2 |
| First call | 51 | 0 |
| First action | 51 | 2 |
| Pay | 49 | 43 |
| Cancel | 6 | 0 |
| Delete | 6 | 2 |
| Through every checkpoint | 4 |   |


Our side's x402 and MPP payments went to Apify, Browserbase, Exa, Parallel and Steel, with no card and no person. At [Apify](/tools/apify), the x402 payment bought an API token that runs any Actor. On its newest drive, that payment got our agent in on its own. The sign-up form, the way in that makes an account, showed our agent a Google reCAPTCHA image challenge. Apify is the one product our agent got into on its newest drive but not on at least half of its recent drives, and it sits at [Needs a person](/method).

<ToolEmbed slug="apify" />

[Browserbase](/tools/browserbase), [Exa](/tools/exa), [Parallel](/tools/parallel) and [Steel](/tools/steel) took a payment per call. Each rail covers part of the work:

- **Browserbase:** x402 on its own host, for sessions, search and fetch. Plans are bought in the dashboard.
- **Exa:** x402 on api.exa.ai, for search and contents. Answers, agent runs, websets and monitors have no per-call price.
- **Parallel:** x402 and MPP on parallelmpp.dev, the host its own payments page names, for search, extract, responses and task calls. FindAll and Monitor are not sold there.
- **Steel:** x402 for scrape, screenshot and PDF. Plans and credit top-ups go through a Stripe checkout.

Of the 42 products where our agent got as far as paying, it reached the last step before paying at 29 and stopped there, before any charge. At [Craft](/tools/craft), Upgrade opened a Stripe Checkout with the email filled in, and our agent stopped at the card form. [AgentMail](/tools/agentmail) sells inbox creation per call over x402 and MPP on its own hosts; our side read the price and paid nothing. 26 of 148 products offer an agent-native way to pay, such as x402, MPP or Stripe Projects; our side's payments went through only at the products named above.

**Paying without a person**

|   | Products | Out of | Share |
| --- | --- | --- | --- |
| Reached payment | 42 | 148 | 28% |
| A person has to buy | 2 | 42 | 5% |
| Can pay on its own | 5 | 148 | 3% |


To turn a checkout into a payment an agent makes alone, accept x402 or MPP on your own API, and sell the core work over it, not only a side endpoint. If your agent holds a wallet, the products above take its payment, for the calls each rail sells.

## Bot checks stopped our signed agent with a challenge, or with nothing on screen

A bot check stopped our agent on at least one way in at 96 of 148 products. It got in on its own another way at 10 of them. At 74 of those products, the check showed a visible challenge; at the rest, it refused our agent with nothing on screen. Some visible challenges came from a check that judges the network and browser: at [Linear](/tools/linear), Continue with email showed a visible Cloudflare Turnstile once the email was in.

**Bot checks that stopped our agent: network check or challenge**

|   | Judged our network and browser | A challenge on the form | Total |
| --- | --- | --- | --- |
| Stops | 58 | 38 | 96 |


Our agent signs every request with Web Bot Auth. Signed, not verified: during these drives no bot-check provider listed our agent as a verified bot, so a check could see the signature but had no verified identity to trust. At the products where our agent met Cloudflare, the check stopped it on a way in at 34 of 34; every provider our agent met, product by product, is in [which bot checks stop AI agents](/research/which-bot-checks-stop-ai-agents). Google reCAPTCHA stopped it on a way in at 41 of 51 products where it met it, and hCaptcha at 10 of 10. A bot check let our signed agent through at 16 products, among them [Airtable](/tools/airtable) and [Zulip](/tools/zulip).

At [MongoDB Atlas](/tools/mongodb), an invisible reCAPTCHA on the sign-up form answered INVALID_CAPTCHA, and the page said a server error had occurred; a retry got the same answer. A refusal like that gives an agent nothing to act on. If your check refuses without a challenge, let the form say a check stopped the sign-up, so an agent can hand that step to a person.

## Our agent could not get in on its own at 82 of 130 products with an MCP server

143 of 148 products we drove publish a public API, and 129 of 148 an llms.txt for an agent to read first. 130 of 148 have a documented MCP server, official or third-party, and 124 an official one.

**What products offer an agent**

|   | Products | Out of | Share |
| --- | --- | --- | --- |
| Public API | 143 | 148 | 97% |
| OpenAPI spec | 104 | 148 | 70% |
| MCP server | 130 | 148 | 88% |
| SDK | 68 | 148 | 46% |
| CLI | 75 | 148 | 51% |
| llms.txt | 129 | 148 | 87% |
| Webhooks | 107 | 148 | 72% |
| Sandbox or test mode | 26 | 148 | 18% |


At [Zulip](/tools/zulip), a product with an MCP server that our agent got into on its own, an API call with the account's email and password returned the key. Zulip's MCP server is a third party's.

**Products with an MCP server: can our agent get in?**

|   | Gets in on its own | Stopped at the door | Total |
| --- | --- | --- | --- |
| With MCP | 48 | 82 | 130 |


At [Attio](/tools/attio), [Fillout](/tools/fillout), [Plane](/tools/plane) and [Twenty](/tools/twenty), the MCP server signs in with OAuth. Our agent registered itself as a client through dynamic client registration over the API, without a browser, and the consent page then took a click in a logged-in browser. If your MCP server signs in with OAuth, an agent working over the API alone stops at that consent page; a key it can get by API lets it connect with no consent click.

Before you wire an MCP server into your agent, check on its page in the [directory](/tools) whether an agent gets in alone.

## Our agent had its key a median of 6 minutes into a drive, where it got one

At 55 of 148 products, our agent got far enough to need a key, and it got one on its own at 47 of them. At 15 products, it got the key without a browser at all. The median to its first working API or MCP call was 7 minutes, and that first call worked without a browser at 55 of 57 products where our agent got that far.

**How our agent got a key, where it got that far**

|   | No browser | From a dashboard | Needed a person | Could not get one | Other | Total |
| --- | --- | --- | --- | --- | --- | --- |
| Keys | 15 | 32 | 0 | 2 | 6 | 55 |


At AgentMail, the key came back in the response to its agent sign-up call, so our agent never needed a dashboard. At [Neon](/tools/neon), a documented claimable route gave a working Postgres database and its credentials with no account at all. On that claimable project, branching, restore, the MCP server and account API keys need a Neon account, which a person gets by claiming the project.

To spare an agent the dashboard step, return the key in the sign-up response. Where the key sits in a dashboard, plan for a browser step in your agent.

## Our agent deleted its own account at 24 of 44 products where it got that far

On the newest drive of each product, our agent could leave clean, with nothing left to pay and nothing left behind, at 32 of 148 products. That count also takes in products it used without making an account, so there was nothing to delete. Where it had a plan to cancel, it cancelled on its own at 7 of 7. Deleting the account was the first checkpoint our agent could not pass on its own at 2 products.

**Leaving: done on its own**

|   | Products | Out of | Share |
| --- | --- | --- | --- |
| Cancelled the plan | 7 | 7 | 100% |
| Deleted the account | 24 | 44 | 55% |
| Can leave (badge) | 32 | 148 | 22% |


At [Airtable](/tools/airtable), deleting the account took a fresh sign-in and a confirm dialog in a browser. Afterwards its OAuth token got 401 on the API and the MCP server. Airtable has no API route for deleting the account. At Attio, our agent deleted the workspace in Settings, picking a reason and typing its slug; the API token went inactive and the MCP server answered 403, and the Attio user login stays.

At Zulip, an API call deactivated the organization, and the API then answered 401. At [Shortcut](/tools/shortcut), Delete Account in the browser did nothing on screen while the user still owned an organization. If your delete needs a step first, say so on the page.

## Our agent got in on its own at 4 of 5 hosting products; sign-up stopped it at 9 of 10 in customer support

In customer support, our agent got in on its own at one product, Intercom, though not on every one of its recent drives.

**Gets in on its own, by category**

|   | Gets in on its own | Stopped at sign-up | Other stop | Total |
| --- | --- | --- | --- | --- |
| Project management | 4 | 11 | 0 | 15 |
| Databases | 7 | 4 | 0 | 11 |
| Customer support | 1 | 9 | 0 | 10 |
| CRM | 3 | 4 | 1 | 8 |
| Email marketing | 1 | 6 | 1 | 8 |
| Email infrastructure | 1 | 5 | 0 | 6 |
| File storage | 1 | 5 | 0 | 6 |
| Forms | 3 | 3 | 0 | 6 |
| Scheduling | 1 | 5 | 0 | 6 |
| Search APIs | 3 | 2 | 1 | 6 |
| Hosting and deploys | 4 | 1 | 0 | 5 |
| Invoicing | 0 | 5 | 0 | 5 |


At [Railway](/tools/railway), the documented `ssh railway.new` box came with a project token, and our agent used it over the API and the CLI, without a browser. At [Netlify](/tools/netlify), our agent deployed through a documented anonymous route.

<ToolEmbed slug="railway" />

At [Chatwoot](/tools/chatwoot), our agent read the docs without a browser. The sign-up form showed a visible hCaptcha puzzle after Create account, and there is no sign-up API. At [Intercom](/tools/intercom), our agent signed up in a browser past an invisible Google reCAPTCHA on its newest drive. On its own, it got the key, reached the checkout's card form and deleted the workspace, which cut off its tokens, but its login still works.

For a support desk, the step to add is a documented route that starts a trial workspace without the form, as the anonymous routes do for deploys at Railway and Netlify.

## Questions

**How many categories of software did you test?**

The products we drove sit in 26 categories, from CRM and databases to search APIs and website builders. Each category page in the directory lists its products by level.

**How fast did a sign-up code reach your agent's inbox?**

The median was 11 seconds from submitting the form to the code or link arriving.


## Changes since publication

- Corrected 2026-10-20: We removed a count of products whose docs our agent could act on: its entry in our published facts wasn't up yet.
- Corrected 2026-10-20: We removed a sentence that said Intercom's earlier drives stopped at the same form: our drive records don't support it.