# Use cases

What teams automate with Kaabist.

- [Scrape a website that requires login](/use-cases/scrape-behind-login): Portals, dashboards, supplier sites: the data you need sits behind a sign-in form. Kaabist runs the login as part of a program, keeps the session between jobs, and reads the pages as typed, validated fields.
- [Automate logins with 2FA](/use-cases/login-with-2fa): One-time codes by e-mail or SMS, authenticator prompts, approval screens: a second factor is a step only the account owner can finish. Kaabist pauses the job there, emails a link to you (or the teammate or customer who owns the account), and resumes the program the moment the code is typed.
- [Forms that must submit exactly once](/use-cases/submit-exactly-once): Some forms change the world when they are sent: an order is placed, money moves, an application is filed. Kaabist records those steps just before and just after they run (a fence), so a crash, a retry or a redeploy can never send them twice.
- [Turn a website into an API](/use-cases/website-to-api): Describe the flow once as a program with inputs. From then on it is one HTTP call: inputs in, typed JSON out, with versions, aliases and webhooks, as if the site had shipped the API itself.
- [Browser automation for coding agents](/use-cases/coding-agents): Coding agents are good at exploring a site and bad at doing it the same way twice. With Kaabist over MCP, the agent explores in a real browser, and what it learns becomes a fixed program that runs the same way every time, without the agent.
- [Monitor pages behind a login](/use-cases/monitor-behind-login): Watch values that live behind a sign-in: a supplier's price list, a claim's status, an account's limits. Kaabist runs the program on a schedule, compares each result with the last, and calls your webhook only when something changed.
