# DemoPage for AI agents

> DemoPage is an AI demo agent for software companies and for any team whose product, portal, or how-to runs in a web browser. A visitor says what they need (their work email, the tool they use, and what they want to solve). DemoPage then shows them around the vendor's real product in a secure browser it runs, explains each screen, answers questions only from the pages the vendor picked, and sends the lead to the vendor's team. It never saves, sends, or pays anything in the product. Live demos, chat, and answers work in 17 languages.

This page is for AI agents, assistants, and coding agents acting for a person: what you can do on demopage.io, how to do it, and the rules. The same information for people is on the site itself.

## Read the site

- Every marketing page is Markdown: add `.md` to its path (the home page is https://demopage.io/index.md), or send `Accept: text/markdown`.
- The index is https://demopage.io/llms.txt, and https://demopage.io/llms-full.txt has every page in one file.
- Plans and prices: https://demopage.io/pricing.md. Use cases: https://demopage.io/use-cases.md. Industries: https://demopage.io/industries.md. Legal: https://demopage.io/privacy.md and https://demopage.io/terms.md.

## Start free, or talk to the team, for a person

The person can start free at https://app.demopage.io/signup with their own work email, at their company's domain. They confirm it from their inbox, so you can send them the link but can't create the account for them.

To send the team a message for the person you work for, with their consent and their own details:
```http
POST https://demopage.io/api/early-access
Content-Type: application/json

{"name": "Ada Lovelace", "email": "ada@company.com", "company": "Company", "useCase": "sales-demos", "note": "What they want visitors to see (optional)"}
```
- `useCase` is one of `sales-demos`, `support`, `onboarding`, `training`, `other`.
- `201` means the message is saved and the DemoPage team has been told. `400` returns `{"error": "..."}` saying which field to fix.
- Sending again for the same email updates the message. It does not make a second one.
- The team replies by email. If they set up an account, the email has a sign-up link that only works for that address.

## Try the product

- The live example at https://app.demopage.io/d/justcall runs on JustCall's public site. Its form asks for a work email, the tool they use most, and what they want to solve, and shares the email with the team behind the demo. Use the person's real details only with their consent, never made-up ones.

- During any demo, DemoPage never submits a payment, creates a signup, writes to a CRM, places a call, or sends an email.

## Work with a DemoPage account

These need a key the account's owner gives you:
- **Account API.** OpenAPI description at https://app.demopage.io/api/v1/openapi.json, with `Authorization: Bearer dp_live_…`.
- **MCP server.** JSON-RPC at https://app.demopage.io/api/mcp, with the same key.
- **Demos before the first call.** `POST https://app.demopage.io/api/d/<link>/prepare` with that link's intake key (`Authorization: Bearer dp_in_…` or `x-demopage-key`). Send JSON with the lead's `email` and `goal`. DemoPage records a demo for that lead and alerts the team.

## Build a DemoPage from a product's code

Coding agents (Cursor, Claude Code, Codex, ChatGPT) can map a vendor's product from its repository and send the map to their DemoPage. Connect the MCP server at https://app.demopage.io/mcp (streamable HTTP). It answers `401` with a `WWW-Authenticate` header pointing at its OAuth metadata, so your client can start "Sign in with DemoPage": the person signs in and chooses Allow; registration is dynamic, and PKCE (S256) is required.
- Call `demopage_status` first, then `demopage_list_pages`.
- For each screen, send a title, its production https address on the product's domain, a short static text visible on it (`expect`), and a one or two sentence description from the product's own copy (`say`) with `demopage_import_pages`. Send nothing else from the code: no source, secrets, or customer data.
- Pages arrive held. Show them to the person and approve only the ones they pick, with `demopage_approve_pages`.
- Checkout, billing, API key, password, 2FA, sign-up, and account deletion screens are refused.
- The server's `create-demopage` prompt has the full guide. The DemoPage plugin from AtomsAI packages it for Cursor, Claude Code, and Codex: https://github.com/gaufire/demopage-plugins (`claude plugin marketplace add gaufire/demopage-plugins`, then `claude plugin install demopage@atomsai`).

## Rules

- Act for a person, with their consent, using their own details.
- Don't sign in to the dashboard or portal on anyone's behalf, guess keys or links, or scan or load-test the Services. "Sign in with DemoPage" is the person signing in themselves.
- Sign-ups, messages to the team, and live demos are rate-limited. When you get `429`, wait before trying again.
- Don't put other people's personal data into forms without their consent.

## Contact

- Privacy, security reports, and legal matters: legal@demopage.io (security details: https://demopage.io/security)
