A data store built for configuration

Configuration data has different performance requirements than application data. Feature flags, A/B test assignments, and redirect rules need to be read constantly, but they change infrequently. Reading them from a traditional database adds latency; embedding them in code requires a redeploy for every change.

Edge Config is a globally distributed data store designed for that middle ground. It replicates configuration data to Vercel's Edge Network before it is requested, so reads come from a nearby edge node rather than a distant origin server. The service is now generally available for use with Edge Middleware, Edge Functions, and Serverless Functions.

The architecture is closer to a push-based CDN than a pull-based one. Data propagates to all regions ahead of time and stays cached until a new version is published. That means writes can take a few seconds to propagate globally, but reads return quickly: most lookups complete in 5 ms or less, and 99% of reads come back under 15 ms.

Edge Config stores JSON, but it is not a general-purpose key/value store. It is optimized for fast, inexpensive reads and infrequent writes. Typical use cases include:

  • A/B testing and feature flag configuration
  • Complex and dynamic redirects
  • Request blocking rules that need updating without a redeploy

Speedway Motors, which runs frequent A/B tests, saw immediate Core Web Vitals improvements after moving a banner promotion experiment's configuration to Edge Config. The change eliminated network requests for that data and reduced Cumulative Layout Shift by 50%.

Reading configuration with the Edge Config API

The Edge Config API exposes two primary operations. Use get to fetch a single key's value, or getAll to retrieve multiple values in one query. The SDK also supports checking whether a key exists.

Calling get or getAll reads from your default Edge Config. To use a different one, create it in your account and connect via a connection string.

Edge Config is available today through the official SDK, integration partners including Statsig and HappyKit, and deployable templates. Moving experiment logic out of client-side scripts and into edge middleware reduces layout shift and reliance on third-party JavaScript, so configuration reads no longer compete with the critical rendering path.