A/B testing and experimentation platform with a REST API for managing projects, experiments, campaigns, and results.
| 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 |
- 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
GET https://api.optimizely.com/v2/projectsGET https://api.optimizely.com/v2/projects/{project_id}GET https://api.optimizely.com/v2/experiments?project_id={project_id}GET https://api.optimizely.com/v2/experiments/{experiment_id}GET https://api.optimizely.com/v2/experiments/{experiment_id}/resultsPOST 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"
}PATCH https://api.optimizely.com/v2/experiments/{experiment_id}
{
"status": "running"
}GET https://api.optimizely.com/v2/campaigns?project_id={project_id}GET https://api.optimizely.com/v2/campaigns/{campaign_id}/resultsGET https://api.optimizely.com/v2/audiences?project_id={project_id}GET https://api.optimizely.com/v2/events?project_id={project_id}GET https://api.optimizely.com/v2/pages?project_id={project_id}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
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
project_id(required) - Project to list experiments forpage- Page numberper_page- Results per page (default: 25)status- Filter by status
start_time- Results start time (ISO 8601)end_time- Results end time (ISO 8601)
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)
- 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
- 50 requests/second per personal token
- Pagination via
pageandper_pageparameters - OpenAPI spec available at https://api.optimizely.com/v2/swagger.json
- ab-testing
- cro
- landing-page
- personalization
- analytics