Documentation Index
Fetch the complete documentation index at: https://docs.landerlab.io/llms.txt
Use this file to discover all available pages before exploring further.
The LanderLab API gives you programmatic access to your entire account. You can create and publish landers, pull lead data, read analytics, manage A/B test variants, configure integrations, and more, all over HTTP.
If you prefer working in plain English instead of writing raw API calls, the MCP server connects your AI assistant directly to LanderLab using the same underlying API.
Base URL
All API requests go to:
https://api.landerlab.dev
The current API version is v2. Every endpoint is prefixed with /api/v2/.
Authentication
The API uses API key authentication. Include your key in the X-API-Key header on every request.
X-API-Key: ll_live_YOUR_KEY_HERE
Your key starts with ll_live_ and is tied to your organization. All requests are scoped to the organization the key belongs to, so you do not need to pass an organization ID separately in most calls.
API keys are shown only once at creation. If you lose yours, you need to generate a new one. See Generate an API Key for steps.
Error responses
All endpoints return standard HTTP status codes.
| Code | Meaning |
|---|
200 | Success |
400 | Bad request (invalid parameters or plan limit reached) |
401 | Unauthorized (missing or invalid API key) |
403 | Forbidden (key does not have access to this resource) |
404 | Not found |
Error responses include an error string in the response body with a description of the problem.
Resource Groups
The API is organized around the following resource groups. Each group maps to a section in the API reference.
Workspaces
List, create, and rename workspaces within your organization. Workspaces are the top-level container for landers, leads, and domains.
| Endpoint | Description |
|---|
GET /api/v2/organizations/{organizationId}/workspaces/get | List all workspaces |
POST /api/v2/organizations/{organizationId}/workspaces/create | Create a workspace |
POST /api/v2/workspaces/{workspaceId}/rename | Rename a workspace |
Landers
Manage landing pages: list, create, rename, publish, unpublish, and delete. Publishing requires a domain and path and will return a 400 if plan limits are exceeded or the path is already taken.
| Endpoint | Description |
|---|
GET /api/v2/workspaces/{workspaceId}/landers/get | List landers in a workspace |
POST /api/v2/workspaces/{workspaceId}/landers/create | Create a lander |
POST /api/v2/landers/{landerId}/publish | Publish a lander |
POST /api/v2/landers/{landerId}/unpublish | Unpublish a lander |
DELETE /api/v2/landers/{landerId} | Delete a lander and all its variants |
Deleting a lander removes all associated variants, files, and integrations permanently.
A/B Testing (Variants)
Each lander has one or more variants. The master variant is the one that receives traffic when A/B testing is off. When A/B testing is enabled, traffic is split across variants according to the weights you set.
| Endpoint | Description |
|---|
GET /api/v2/landers/{landerId}/variants | List all variants |
POST /api/v2/variants/{variantId}/clone | Clone a variant |
POST /api/v2/landers/{landerId}/ab-testing/enable | Enable A/B testing |
POST /api/v2/landers/{landerId}/ab-testing/disable | Disable A/B testing |
POST /api/v2/landers/{landerId}/ab-testing/weights | Set traffic split weights |
POST /api/v2/variants/{variantId}/set-master | Promote a variant to master |
DELETE /api/v2/variants/{variantId} | Delete a variant |
You cannot delete the master variant. Promote a different variant to master first.
Editor
Load and save the HTML content and settings for a specific variant. Saving HTML handles base64 image extraction and versioning automatically.
| Endpoint | Description |
|---|
GET /api/v2/variants/{variantId}/editor/load | Load HTML, settings, forms, and metadata |
POST /api/v2/variants/{variantId}/editor/save | Save HTML content |
POST /api/v2/variants/{variantId}/editor/settings | Save variant settings (integrations, SEO, tracking) |
Leads
Pull leads at workspace or organization level. Leads are paginated and can be filtered by date range, status (complete or partial), lander, and search query. The maximum page size is 1000 per request.
| Endpoint | Description |
|---|
GET /api/v2/workspaces/{workspaceId}/leads/get | List leads for a workspace |
GET /api/v2/organizations/{organizationId}/leads/get | List leads across the organization |
GET /api/v2/landers/{landerId}/lead-schema | Get the JSON Schema for a lander’s leads |
POST /api/v2/landers/lead-schema | Get the JSON Schema for multiple landers |
The lead schema endpoints return a Draft-07 JSON Schema describing all possible fields a lead from that lander can contain, including form fields, quiz answers, system fields, and integration fields.
Analytics
A single flexible endpoint covers all analytics needs. Filter by workspace, lander, or variant. The most specific filter wins: if you pass variantIds, workspace and lander filters are ignored.
| Endpoint | Description |
|---|
POST /api/v2/organizations/{organizationId}/analytics/get | Get analytics with date range, timezone, and optional group-by |
Required parameters: startDate, endDate, timezone (IANA format, e.g. America/New_York).
Optional filters: workspaceIds, landerIds, variantIds.
Group by: date, lander, variant, or workspace. Defaults to date.
Domains
List domains at workspace or organization level.
| Endpoint | Description |
|---|
GET /api/v2/workspaces/{workspaceId}/domains/get | List domains in a workspace |
GET /api/v2/organizations/{organizationId}/domains/get | List all domains across the organization |
Folders
Organize landers into folders within a workspace.
| Endpoint | Description |
|---|
GET /api/v2/workspaces/{workspaceId}/folders | List all folders |
POST /api/v2/workspaces/{workspaceId}/folders/create | Create a folder |
POST /api/v2/folders/{folderId}/rename | Rename a folder |
Integrations
Create and list org-level integrations, then enable or disable them per lander. OAuth-based integrations (Mailchimp, HubSpot, Google Sheets, AWeber) require an interactive OAuth flow and cannot be created via the API directly.
| Endpoint | Description |
|---|
GET /api/v2/organizations/{organizationId}/integrations | List all integrations |
POST /api/v2/organizations/{organizationId}/integrations/create | Create an integration |
POST /api/v2/lander-integrations/{id}/enable | Enable a lander integration |
POST /api/v2/lander-integrations/{id}/disable | Disable a lander integration |
DELETE /api/v2/lander-integrations/{id} | Remove an integration from a lander |
OpenAPI Spec and Interactive Docs
The full OpenAPI 3.1 spec is available at:
https://backend-v2.landerlab.workers.dev/api/v2/openapi.json
Interactive API documentation (with a built-in request tester) is at:
https://api.landerlab.dev/api/v2/docs
Using the API with an AI Assistant (MCP)
If you want to manage your LanderLab account using plain English instead of writing API calls, the LanderLab MCP server is built on the same API and exposes 30+ tools to any MCP-compatible AI assistant, including Claude, ChatGPT, Cursor, and Windsurf.
The MCP server URL is:
https://api.landerlab.dev/api/v2/mcp
It uses the same X-API-Key header for authentication. See Connect AI Assistants via MCP for setup instructions.