Floppydata Floppydata

Language

Sessions are free — pay only for traffic

Cloud Browser for AI Agents

Give an agent a real browser and it stops guessing at what a page probably contains — it sees the rendered layout, walks the DOM, and can click, scroll, or type the way a person would.

  • An MCP server with a small, job-focused toolset behind a single API key
  • Pages handed back as markdown or JSON instead of raw HTML that burns the context window
  • Sessions that run for hours and reconnect to the same browser instead of starting over

AI-ready

Skip the setup.
Your agent handles everything.

Copy one prompt and paste it into your AI agent. It opens a cloud browser session, drives the page and reports back what it actually saw — no code to write.

Perfect for
cloud-browser.prompt.md ~870 tokens

                            1
                            # Floppydata Cloud Browser — reference and operating rules
                        
                            2
                             
                        
                            3
                            You are working with the Floppydata Cloud Browser API. Use only the facts
                        
                            4
                            below: never guess endpoints or fields, and never invent page content —
                        
                            5
                            report only what the browser actually returned.
                        
                            6
                             
                        
                            7
                            ## Step 0 — is there an API key?
                        
                            8
                            Read the key from FLOPPY_API_KEY in the environment. If it is missing, do
                        
                            9
                            not attempt a session and do not ask for the key in chat. Walk the user
                        
                            10
                            through this instead:
                        
                            11
                             
                        
                            12
                              1. Create an account, or sign in to an existing one:
                        
                            13
                                 https://app.floppydata.com/account/signup
                        
                            14
                              2. Open API keys, copy the key that is already there or generate a new
                        
                            15
                                 one: https://app.floppydata.com/api-keys
                        
                            16
                              3. Buy traffic: https://app.floppydata.com/proxies/buy?type=rotating
                        
                            17
                                 Sessions themselves are free, but every page a session loads goes
                        
                            18
                                 out through Floppydata proxies, and proxy traffic is billed per GB.
                        
                            19
                                 With no traffic on the account a session has no network to run on.
                        
                            20
                              4. Put the key in the environment as FLOPPY_API_KEY — not in code, not
                        
                            21
                                 in a chat message — then run the task again.
                        
                            22
                             
                        
                            23
                            ## Step 1 — with a key, start the session straight away
                        
                            24
                            Do not interview the user about settings. Start on these defaults and
                        
                            25
                            change them only when the task actually calls for it.
                        
                            26
                             
                        
                            27
                            POST https://api.floppydata.net/v2/browser/sessions
                        
                            28
                            X-Api-Key: $FLOPPY_API_KEY
                        
                            29
                            {
                        
                            30
                              "proxy": {
                        
                            31
                                "type": "residential",            // residential | mobile | datacenter
                        
                            32
                                "location": { "countryCode": "DE" },
                        
                            33
                                "rotation": { "mode": "sticky" }  // one IP for the whole session
                        
                            34
                              },
                        
                            35
                              "browser": { "fingerprint": { "strategy": "auto", "os": "windows" } },
                        
                            36
                              "runtime": { "timeoutSeconds": 1800, "keepAlive": true }
                        
                            37
                            }
                        
                            38
                             
                        
                            39
                            Every field is optional: {} also works — residential proxy, sticky
                        
                            40
                            rotation, 600 second timeout.
                        
                            41
                             
                        
                            42
                            201 Created returns:
                        
                            43
                              id           session id
                        
                            44
                              status       running | stopped | timedOut | failed
                        
                            45
                              connectUrl   signed wss:// CDP endpoint — treat it like a password
                        
                            46
                              settings.id  reuse it to restore this identity and cookie jar
                        
                            47
                              expiresAt    when the session ends on its own
                        
                            48
                             
                        
                            49
                            A 401 means the key is wrong or revoked: back to Step 0. If the call is
                        
                            50
                            refused because the account has no traffic left, send the user to the buy
                        
                            51
                            page above rather than retrying.
                        
                            52
                             
                        
                            53
                            ## Step 2 — drive the page
                        
                            54
                            Connect over CDP and work in the tab that is already open:
                        
                            55
                             
                        
                            56
                              const browser = await chromium.connectOverCDP(connectUrl);
                        
                            57
                              const page = browser.contexts()[0].pages()[0];
                        
                            58
                              await page.goto(url, { waitUntil: "domcontentloaded" });
                        
                            59
                             
                        
                            60
                            One session keeps cookies and page state between steps, so navigate,
                        
                            61
                            fill, click and read inside it instead of starting a session per action.
                        
                            62
                             
                        
                            63
                            ## Step 3 — hand a step to a human
                        
                            64
                            Some checks only a person can clear. Request a live view for the session,
                        
                            65
                            let someone finish that step, then reconnect and carry on:
                        
                            66
                             
                        
                            67
                              POST /v2/browser/sessions/{id}/live-view  -> { liveViewUrl }
                        
                            68
                              GET  /v2/browser/sessions/{id}            -> fresh connectUrl
                        
                            69
                             
                        
                            70
                            ## Step 4 — reuse the identity on the next run
                        
                            71
                            Send back the settings id you were given:
                        
                            72
                             
                        
                            73
                              { "settings": { "id": "<settings-id>" } }
                        
                            74
                             
                        
                            75
                            ## Step 5 — stop when the task is done
                        
                            76
                            POST https://api.floppydata.net/v2/browser/sessions/{id}/stop
                        
                            77
                             
                        
                            78
                            ## Rules
                        
                            79
                            - Report values you actually read; if a selector is missing, say so.
                        
                            80
                            - Never print the API key, connectUrl or liveViewUrl in your output.
                        
                            81
                            - Keep one session per task; do not open a new one for every step.
                        
                            82
                            - Ask before spending traffic on pages the task does not need.
                        

Full prompt · 82 lines · no code required

Why AI Agents Need a Full Cloud Browser

An agent that only sees raw HTTP responses is working half-blind. Most of the useful web today – dashboards, search results, anything gated behind a login – renders itself in JavaScript, and a plain HTTP fetch never gets to see that part.

Give the same agent a real browser instead, and it stops guessing at what a page probably contains. It sees the actual rendered layout, walks the DOM the way a person's cursor would, and can click, scroll, or type the same way a human tester does during a manual pass.

That distinction is exactly what separates the better ai cloud browsers from a simple scraping wrapper: one hands the model raw markup and hopes for the best, the other gives it something closer to eyes and hands on the page itself.

Agent session
  1. Agent / LLM MCP tools
  2. Cloud Browser
  3. Target website click · fill · read
  4. Data / action markdown

Capabilities for Agentic Workflows

A cloud browser built for agents needs to cover three different jobs at once – talking to the model's tooling layer, handing back data the model can actually use, and executing the steps an agent decides to take.

Native Integration with MCP and LLM Frameworks

Floppydata ships an MCP server that gives an agent a small, job-focused toolset – fetching web data, building proxy connections, checking account balance – behind a single API key, so the model doesn't need to memorize endpoints or headers.

For the actual browsing part – clicking, filling in a field, running a multi-step flow – an agent connects to a cloud browser session the same way any Playwright or Puppeteer script would, over a signed WebSocket URL. Any framework already capable of driving a local Playwright browser can generally point that same logic at a remote one without much rework.

Extracting Clean Data (Markdown / JSON for Prompts)

Raw HTML burns through a context window fast – script tags, inline styles, nav menus, none of which answer the actual question an agent is trying to solve. Stripping a page down to markdown, or to a structured JSON block, keeps that data usable without wasting tokens on decoration nobody asked for.

Exactly which output formats are available depends on which endpoint is doing the fetching, so it's worth checking current API docs for the specific markdown or JSON options on offer before building a pipeline around one format.

Running Multi-Step Scenarios (Clicks, Forms, Search)

Once connected, an agent isn't limited to reading a single page. It can navigate, fill out a form, submit a search, wait for results, and read the next page – all inside one continuous session, with cookies and page state carried forward between steps automatically.

Resilience: Long Sessions and Context Preservation

Agent tasks rarely finish in one request. A research task might open a dozen tabs worth of pages in sequence; a checkout flow might need several minutes of waiting between steps. Sessions can run for hours rather than seconds, and reconnecting after a dropped connection picks the same browser back up instead of starting over from a blank tab.

On top of that, saved browser settings let an agent reuse the same identity and cookie state across separate runs, which matters for anything that depends on staying logged in or keeping a consistent fingerprint between one task and the next.

Quick Integration with LangChain, LlamaIndex, Claude

None of this requires a dedicated plugin for every framework. Because the connection point is a standard CDP WebSocket – the same thing Playwright and Puppeteer already speak – any LangChain browsing tool, LlamaIndex web reader, or Claude computer-use-style setup that can already drive one of those libraries can generally be pointed at a Floppydata session instead of a local one, usually by swapping a single connection URL.

For teams comparing top browser cloud solutions for ai agents, that compatibility tends to matter more than a long feature list – an agent stack rebuilt every time the browser layer changes underneath it is worse than one that keeps working with a smaller number of moving parts.

  • LangChain
  • Claude
  • Playwright
  • Puppeteer
  • MCP
agent.js
import { chromium } from 'playwright';const browser = await chromium.connectOverCDP(connectUrl);const page = browser.contexts()[0].pages()[0];await page.goto('https://example.com');

A few things worth checking before picking a provider for this kind of workload

Among the best cloud browsers for ai workloads, those three answers tend to matter more in practice than any single benchmark number.

Explore Other Cloud Browser Solutions