Optimizely
A/B testing and experimentation platform with a REST API for managing projects, experiments, campaigns, and results.
Capabilities
| Integration | Available | Notes |
|---|---|---|
| API | ✓ | Projects, Experiments, Campaigns, Audiences, Results |
| MCP | - | Not available |
| CLI | ✓ | optimizely.js |
| SDK | ✓ | JavaScript, Python, Ruby, Java, Go, C#, PHP, React, Swift, Android |
Authentication
- Type: Bearer Token (Personal Access Token or OAuth 2.0)
- Header:
Authorization: Bearer {personal_token} - Get token: https://app.optimizely.com/v2/profile/api > Generate New Token
Common Agent Operations
List Projects
bash
GET https://api.optimizely.com/v2/projectsGet Project
bash
GET https://api.optimizely.com/v2/projects/{project_id}List Experiments
bash
GET https://api.optimizely.com/v2/experiments?project_id={project_id}Get Experiment
bash
GET https://api.optimizely.com/v2/experiments/{experiment_id}Get Experiment Results
bash
GET https://api.optimizely.com/v2/experiments/{experiment_id}/resultsCreate Experiment
bash
POST https://api.optimizely.com/v2/experiments
{
"project_id": 12345,
"name": "Homepage CTA Test",
"type": "a/b",
"variations": [
{ "name": "Control", "weight": 5000 },
{ "name": "Variation 1", "weight": 5000 }
],
"metrics": [{ "event_id": 67890 }],
"status": "not_started"
}Update Experiment
bash
PATCH https://api.optimizely.com/v2/experiments/{experiment_id}
{
"status": "running"
}List Campaigns
bash
GET https://api.optimizely.com/v2/campaigns?project_id={project_id}Get Campaign Results
bash
GET https://api.optimizely.com/v2/campaigns/{campaign_id}/resultsList Audiences
bash
GET https://api.optimizely.com/v2/audiences?project_id={project_id}List Events
bash
GET https://api.optimizely.com/v2/events?project_id={project_id}List Pages
bash
GET https://api.optimizely.com/v2/pages?project_id={project_id}Key Metrics
Experiment Results
variation_id- Variation identifiervariation_name- Variation display namevisitors- Unique visitors per variationconversions- Conversion countconversion_rate- Rate as decimalimprovement- Percentage improvement vs. controlstatistical_significance- Confidence levelis_baseline- Whether this is the control
Experiment Properties
name- Experiment namestatus- not_started, running, paused, archivedtype- a/b, multivariate, personalizationtraffic_allocation- Percentage of traffic (0-10000 = 0-100%)variations- Array of variations with weights
Parameters
List Experiments
project_id(required) - Project to list experiments forpage- Page numberper_page- Results per page (default: 25)status- Filter by status
Get Results
start_time- Results start time (ISO 8601)end_time- Results end time (ISO 8601)
Create Experiment
project_id(required) - Parent projectname(required) - Experiment nametype- Experiment type (default: a/b)variations(required) - Array of variations with name and weightmetrics- Array of metric/event configurationsaudience_conditions- Targeting conditionstraffic_allocation- Traffic percentage (0-10000)
When to Use
- Running A/B tests on web pages and features
- Managing experimentation programs at scale
- Pulling experiment results for analysis
- Automating experiment creation and monitoring
- Feature flag management
- Personalization campaigns
Rate Limits
- 50 requests/second per personal token
- Pagination via
pageandper_pageparameters - OpenAPI spec available at https://api.optimizely.com/v2/swagger.json
Relevant Skills
- ab-test-setup
- page-cro
- landing-page
- personalization
- analytics-tracking