---
title: Optimizely
url: "https://flags-sdk.dev/docs/providers/optimizely"
docs_index: /llms.txt
lastUpdated: 2026-09-25
---

> For an index of all documentation, see [/llms.txt](/llms.txt).

The `@flags-sdk/optimizely` package provides

- An adapter for loading feature flags from this provider (coming soon)
- A `getProviderData` function for use with the Flags Explorer (available today)

[Learn more about Adapters](/providers)

### getProviderData

A provider function to load flag metadata from Optimizely for use with the Flags Explorer. Accepts an `options` object with the following keys.

| Options key | Type     | Description           |
| ----------- | -------- | --------------------- |
| `apiKey`    | `string` | Optimizely API key    |
| `projectId` | `string` | Optimizely project ID |

```ts title="app/.well-known/vercel/flags/route.ts#next"
import { getProviderData, createFlagsDiscoveryEndpoint } from 'flags/next';
import { getProviderData as getOptimizelyProviderData } from '@flags-sdk/optimizely';
import { mergeProviderData } from 'flags';
import * as flags from '../../../../flags';

export const GET = createFlagsDiscoveryEndpoint(async (request) => {
  return mergeProviderData([
    getProviderData(flags),
    getOptimizelyProviderData({
      projectId: process.env.OPTIMIZELY_PROJECT_ID,
      apiKey: process.env.OPTIMIZELY_API_KEY,
    }),
  ]);
});
```

[Learn more about the Flags Explorer](https://vercel.com/docs/flags/flags-explorer)

---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)

For agent-facing discovery, including API and MCP surfaces, see [/agents.md](/agents.md)