When a legacy system has no API
a browser agent does the clicking, carefully
Some systems, an old supplier portal, a government site, a cloud tool a provider locked you out of, simply have no API to integrate with. We build a browser agent that uses the interface itself, the way a person would, with the same guardrails we apply to any agent touching a real system.
What it is
Browser automation for a legacy system means controlling an actual web interface the way a person would, clicking buttons, filling forms, reading rendered pages, because the system offers no API to integrate with properly. This is the fallback option, not the default: a well-built automation respects the same system a human user would interact with, running on a schedule or a trigger, with logging and safeguards around every action it takes.
When you need it (and when you do not)
You need this when a system genuinely has no API and no reliable export, an old supplier’s order portal, a government service that only offers a web form, a SaaS tool a provider locked an account out of with data still trapped inside its interface. It is also the right approach for recovering access to a system after losing administrative control of an account, reading what is there through the interface because there is no other way in anymore.
You do not need browser automation if an API exists, even an undocumented or awkward one, a direct API integration is almost always more reliable and cheaper to maintain than driving a browser. The tell that browser automation is actually the right tool is having already looked for an API and confirmed there genuinely is not one.
How we build it
We build selectors to be resilient to minor layout shifts, matching on stable attributes rather than brittle positional coordinates that break the first time a page’s CSS changes. Every action the agent takes gets logged, and a failure captures a screenshot automatically, so debugging a broken run does not require reproducing it blind. The agent is built to detect when a page does not match what it expects, a missing element, unexpected text, and stop rather than guess its way forward and risk taking the wrong action on a real system. A kill switch stops the agent immediately if anything looks off, and for actions that are costly or irreversible, submitting a form that commits to something, we add an explicit human confirmation step before the agent proceeds, the same approval discipline we build into any AI agent runtime. Credentials are handled through secure storage, never hardcoded into the automation script. We used exactly this approach to recover a factory’s ERP access after a lost cloud account, reading data out through the only interface still available, and in the OCR and browser-driven slot monitoring work we have built for visa services.
What to watch
Browser automation is inherently more fragile than an API integration, it depends on a page’s structure staying roughly consistent, and a legacy system’s owner can change that structure with no notice and no changelog, unlike a documented API. We account for this by building explicit failure detection rather than letting the agent silently misbehave on a changed page, but some maintenance after a real redesign is expected, not a sign of a bad build. The other real consideration is whether automating this interface is actually permitted, some platforms’ terms explicitly prohibit automated access, which we check before building rather than after. Cost of ownership includes occasional maintenance when the target system changes meaningfully, budgeted as an expected, infrequent cost rather than a one-time build that runs forever unattended.
Where the legacy system has a maintenance window or a known slow period, we schedule the agent’s runs around it deliberately: running an automation at the same time administrators are doing manual maintenance is a common and avoidable source of conflicting changes.
Price and timeline
| Scope | Price | Timeline |
|---|---|---|
| Single recurring task | from $1,500 | 2 to 3 weeks |
| Multiple related tasks, same system | from $4,000 | 4 to 5 weeks |
Related
Built as part of AI agents and automation of everything digital. Often paired with document OCR pipeline when the legacy system’s output is a scanned document, and follows the same approval discipline as an AI agent runtime. See it recovering a factory ERP from a lost cloud account and running inside visa slot monitoring with OCR. Tell us which system has no API left to work with: get in touch.
FAQ
How much does browser automation for a legacy system cost?
A single recurring task, a form submission or a data pull from one portal, starts at $1,500. A fuller automation covering several related tasks on the same system runs $3,000 to $7,000.
How long does it take?
2 to 5 weeks. Building the automation itself is often the faster part; making it resilient to the small layout changes a legacy interface inevitably has takes real testing against the live system.
What happens when the legacy system's interface changes?
The agent is built to detect when a page does not match what it expects and stop rather than guess, and alert a person. We design selectors to be resilient to minor changes, but a significant redesign still needs a maintenance pass.
Is this the same as RPA?
The goal is similar, automating a manual interface task, but we build it as a controlled, logged agent with explicit error handling and a kill switch, rather than a brittle macro recording that breaks the first time anything on the page shifts.
Is this safe to run on a critical system?
We design it to be: full action logging, a kill switch, and explicit stopping rather than guessing when something looks wrong. For anything touching money or irreversible actions, we add a human confirmation step before the agent proceeds.