# Unbounce > Unbounce is a landing page, popup and sticky bar builder with conversion-rate > optimization features — drag-and-drop design, A/B testing, AI copywriting (Smart Copy) > and AI traffic routing (Smart Traffic). Two developer surfaces exist and they are not > equivalent: a read-mostly REST API v0.4 described in RAML 0.8, and an official hosted > MCP server with 37 tools that is the only public write path for pages, variants, > publishing and traffic. Generated by API Evangelist from this repository and Unbounce's own published surface. Not published by Unbounce (https://unbounce.com/llms.txt returns 404). ## Start here - [Developer portal](https://developer.unbounce.com/): entry point for the REST API. - [Getting started](https://developer.unbounce.com/getting_started/): authorization, rate limiting, errors, versions. - [API reference](https://developer.unbounce.com/api_reference/): every resource with example responses and JSON Schema. - [API console](https://developer.unbounce.com/console.html): RAML-driven try-it surface — real API key, production data. - [MCP server](https://unbounce.com/product/mcp-server/): build and manage pages from Claude or ChatGPT. ## Contracts - [RAML 0.8 API definition](https://developer.unbounce.com/raml/v0.4/api.raml): the contract Unbounce actually publishes (raml/unbounce-api-v0.4.raml). - OpenAPI 3.1 (openapi/): derived by API Evangelist from the RAML and the API reference — Unbounce publishes no OpenAPI. - JSON Schema (json-schema/): 18 draft-04 schemas published by Unbounce, saved verbatim. - Examples (examples/): 18 example responses published by Unbounce, saved verbatim. - MCP tool reference (mcp/unbounce-mcp-tools.json): 37 tools with params, from Unbounce's published reference. ## Authentication - REST API key: HTTP Basic, key as username and empty password. Not self-serve — request access, then create keys in Manage Account then API Access. Unscoped: acts as an account administrator. - REST OAuth 2.0: authorization code, short-lived JWT bearer tokens (expires_in 600) plus refresh tokens. Only scope `full`. Clients granted case-by-case. - MCP OAuth 2.0: https://mcp.unbounce.com — PKCE S256, dynamic client registration (RFC 7591), RFC 8414 and RFC 9728 metadata, single scope `unbounce`. ## Calling the REST API - Base URL: https://api.unbounce.com - Version: send `Accept: application/vnd.unbounce.api.v0.4+json` (optional; 0.4 is the default and the only version). - Pagination: `offset` (default 0) and `limit` (default 50, max 1000); `from`/`to` filter by creation date; `sort_order` asc or desc; `count=true` returns only a count. - Collections and entities carry a `metadata` envelope with `location`, `documentation` and named `related` links — follow those rather than constructing URLs. - Rate limit: 500 requests per minute per user account and IP address; exhaustion returns 429. No rate-limit response headers are published. - Errors: plain JSON `{"message": ..., "documentation": ...}` — not RFC 9457, no error codes. - The public REST API is read-only except POST /pages/{page_id}/leads. ## Calling the MCP server - Endpoint: https://mcp.unbounce.com/mcp (streamable HTTP). Remote and hosted — there is no stdio package. - Install in Claude Code: `/plugin marketplace add unbounce/agent-plugins` then `/plugin install unbounce-mcp@unbounce`. - Included on every Unbounce plan, starting at Starter. - 37 tools across identity, pages, variants, publishing and traffic, domains, page groups, stats, assets and workspace files. Tools are tagged read, write or destructive. - Destructive tools (delete_page, delete_variant, delete_page_group, reset_page_stats) run against live account data — there is no sandbox or dry-run. ## Repository artifacts - apis.yml — the APIs.json index for this provider. - authentication/unbounce-authentication.yml — every scheme on both surfaces. - scopes/unbounce-scopes.yml — `full` (REST) and `unbounce` (MCP); no granular scopes exist. - conventions/unbounce-conventions.yml — versioning, pagination, hypermedia, error envelope. No idempotency contract. - errors/unbounce-problem-types.yml — the documented status codes and the error body. - rate-limits/unbounce-rate-limits.yml — 500/min, 429, no headers. - lifecycle/unbounce-lifecycle.yml — media-type versioning, the 0.3 retirement, status page. No deprecation policy. - plans/unbounce-plans-pricing.yml — six tiers; API access on all of them. - mcp/unbounce-mcp.yml — the MCP server manifest and full tool list. - mcp/unbounce-tool-crosswalk.yml — which MCP tools map to which REST operations, and the 31 that map to none. - asyncapi/unbounce-webhooks.yml — the Form Submit Webhook; no AsyncAPI is published. - skills/ — three Agent Skills published by Unbounce, saved verbatim. - conformance/unbounce-conformance.yml — standards asserted and refuted, with evidence. - security/ — domain security probe, vulnerability disclosure, trust posture (PCI DSS). - data-model/unbounce-data-model.yml — the entity graph. ## Not published by Unbounce - No OpenAPI, no GraphQL, no gRPC, no AsyncAPI. - No A2A agent card (/.well-known/agent-card.json and /.well-known/agent.json return 404 on every host). - No security.txt, no api-catalog, no OpenID configuration. - No first-party SDK in any package registry, and no CLI. - No deprecation policy, no Sunset header support, no published SLA. - No sandbox or test mode; no idempotency keys. ## Support - [Documentation and help center](https://documentation.unbounce.com/) - [Community](https://community.unbounce.com/) - [Status page](https://status.unbounce.com) - [Pricing](https://unbounce.com/pricing/)