This is an overview of the changes to the Webflow APIs and related tools. To filter the list, select one or more tags.
MCP v2.1: Interactions with GSAP, Webflow Cloud, and Campaigns
MCP v2.1 widens what agents can do on the Webflow platform. Three products open to agents for the first time, branch management becomes a complete loop, CMS collections gain field groups, and agents can now generate the instructions that guide their own work. No tool or action names changed, so anything built against v2.0.1 keeps working.
New tools
v2.8.0: `webflow apps`, the canonical namespace for Webflow Cloud
v2.8.0 introduces webflow apps, the new canonical command namespace for managing Webflow Cloud apps. It replaces the piecemeal webflow cloud commands with one consistent surface across the whole app lifecycle, designed so a CI job or an AI agent can drive it end-to-end without scraping human-oriented output: structured --json on read commands, --dry-run previews on every write, and predictable exit codes throughout. Reads also retry transient rate limits (429) automatically with bounded backoff, so a busy CI runner doesn’t need its own retry loop.
New: AEO Recommendations API (beta)
The AEO Recommendations API (beta) is now documented for workspaces with the AEO recommendations entitlement.
AEO recommendations
- Get Recommendation Settings — per-rule toggles and recurring audit state
- Update Recommendation Settings — partial update of settings
- List Recommendations — filterable, cursor-paginated list
- Get Recommendations Summary — counts by status and priority
- Get Recommendation — fetch one recommendation by id
Webflow Cloud supports no-framework static apps
Deploy no-framework static apps with the Webflow CLI.
New: Branch API (beta)
The Branch API (beta) is now documented for Enterprise sites with page branching enabled.
Branches
- Overview — lifecycle, async tasks, conflicts, and entitlement requirements
- List Branches — paginated branch list with computed status and
nextActions - Create Branch — enqueue branch creation from a page
- Get Branch — single branch with status
- Delete Branch — enqueue branch deletion (202 + task poll)
- Get Branch Conflicts — unresolved style and component conflicts
- Update Branch — pull main changes into a branch
- Merge Branch — merge a branch into main
- Publish Branch — publish a branch preview to its staging domain
- Get Branch Task Status — poll async branch tasks
`?translatable` on Get Page Content now filters component property overrides
Get page content’s translatable parameter previously only checked whether a page’s entire canvas was excluded from translation. A component instance’s overridden property values were always returned as-is, even when the specific property was excluded — inconsistent with get component properties, which already filtered properties individually.
translatable now filters component property overrides the same way: an overridden value is omitted from a component instance’s propertyOverrides if that property is excluded from translation for the requested locale. If a component instance’s overrides are all excluded, the instance is omitted from the response entirely. A component instance with no overrides at all is unaffected.
v2.5.0: Global telemetry configuration and a code component crash fix
v2.5.0 changes where telemetry preferences are stored and fixes a crash affecting sites that combine code components from different sources.
Global telemetry configuration
webflow auth telemetry --enable/--disable now writes to a global config file (~/.config/webflow/telemetry.json on macOS/Linux, %APPDATA%\webflow\telemetry.json on Windows) instead of the current project’s webflow.json. Bare CLI invocations in a project without a manifest no longer create one just to record a telemetry preference.
Marketplace app review: a clearer review scope, updated guidelines, and pre-submission checks
What changed in app review and what's coming
`?translatable` now supported on Get Page Metadata
Get page metadata now accepts translatable, alongside the endpoints that already supported it:
- Get page content
- Get component content and get component properties
- List and get collection items, including their live counterparts
Pass the id of the secondary locale you’re translating into to omit page-level fields (title, slug, SEO title/description, Open Graph title/description) excluded from translation for that locale — they’re left out of the response entirely rather than returned as null. Behavior matches the other endpoints: the value must be a secondary locale id (400 otherwise), and the request returns a 403 if translation exclusions aren’t enabled for the site.
`?translatable` now takes the target locale id
The translatable parameter introduced on July 27 couldn’t express the workflow it was built for, so its shape has changed.
Why it changed
A translation integration reads the primary locale to get the source text, translates it, then writes the result to a secondary locale. As originally shipped, translatable=true resolved exclusion rules against the same localeId used to select the content, which left no way to do that first step correctly:
Filter out translation-excluded content with `?translatable`
Site owners can exclude specific fields, properties, or canvas content from AI translation using the Localization panel in the Designer.
These endpoints now expose those exclusion rules through a new translatable query parameter.
Translation pipeline integrations can fetch exactly the content that should be translated, without tracking exclusion rules themselves.
MCP v2.0.1: Focused tools for element settings and component props/variants
A minor (maintenance) release to improve how the Webflow MCP works with Claude. Three groups of actions moved out of two large tools into focused tools of their own. The actions themselves are unchanged (same inputs, same behavior).
-
Element settings.
data_element_settings_tooltakes over element settings and data bindings fromdata_element_tool: reading and writing settings, discovering bindable sources, and setting an element’s tag, visibility, and DOM id (static or bound). -
Component props.
data_component_props_tooltakes over prop work fromdata_component_tool: creating, updating, and removing prop definitions, reading an instance’s props, setting prop values, and resetting all props to their defaults. -
Component variants.
data_component_variants_tooltakes over variant work fromdata_component_tool: creating, duplicating, deleting, reordering, and renaming variants, and reading or setting per-variant styles.
MCP v2.0: Agentically build, manage, and analyze Webflow sites
MCP 2.0 changes what agents can do in Webflow and how. Most element, component, style, and variable operations no longer require a Designer session. This release also adds five new areas of functionality, expands several existing tools, and enforces your workspace’s permissions and audit logging across every agent action. Some tools and actions were renamed or relocated; see Migrating from an earlier version below.
New `camelCaseVariantNames` option in DevLink Export
DevLink Export supports a new opt-in camelCaseVariantNames setting in webflow.json that converts Style Variant names into camelCase values for the exported variant prop.
What changed
- New
camelCaseVariantNamesoption underdevlink-exportinwebflow.json. It’s off by default, so existing exports are unaffected. - When turned on, a Style Variant named
Papaya With Whipexports aspapayaWithWhipinstead of the raw display name. Names that would collide, or that would otherwise produce an invalid value (a number-only name, or a JavaScript reserved word), fall back to safe, deduplicated values.
Rename the base variable mode
The base variable mode — the default set of values that variables fall back to — is now first-class in the Designer API. It has the reserved ID "base" and, by default, the name "Base mode".
You can now work with the base mode like any other mode:
- Rename it with
mode.setName(). Its ID stays"base"even after it’s renamed. - Retrieve it by ID with
collection.getVariableModeById("base"), or by its (default or renamed) name withcollection.getVariableModeByName().
New: Analyze API
The Analyze API lets you read a site’s analytics. Five reports are available now:
Analyze
- Traffic: a daily time series of sessions, users, or page views over a chosen window.
- Top pages: the most-visited pages, ranked by sessions, users, or page views, with an optional per-page time series.
- Top dimensions: the top values for a dimension you choose, such as country, device, traffic source, or audience.
- Top events: the most-fired events, ranked by how often they fire, with an optional daily time series per event.
- Time on page: the average time spent on a page, as a single value or bucketed by day or week.
New: Analyze API (beta)
The Analyze API (beta) lets you read a site’s analytics. Five reports are available now:
Analyze
- Traffic — a daily time series of sessions, users, or pageviews over a chosen window.
- Top pages — the most-visited pages, ranked by sessions, users, or pageviews, with an optional per-page timeseries.
- Top dimensions — the top values for a dimension you choose, such as country, device, traffic source, or audience.
- Top events — the most-fired events, ranked by how often they fire, with an optional daily timeseries per event.
- Time on page — the average time spent on a page, as a single value or bucketed by day or week.
CLI: app-named flags for `webflow cloud` and renamed manifest field
The Webflow CLI now uses app-named flags and an app-named manifest field for webflow cloud to match the “Apps” product naming. The legacy spellings keep working as deprecated aliases — you don’t need to migrate immediately.
New flags on webflow cloud
Streamlined deployment for Webflow Cloud applications
Simplifying the process of application deployment
CLI v2.0.0: Renamed commands and Node.js 22 minimum version
CLI 2.0 consolidates the webflow library command group into webflow devlink and raises the Node.js minimum version to 22.13.0.
The commands from the previous version still work but emit deprecation warnings because they will be removed in a future version.
Breaking changes
Node.js minimum version raised to 22.13.0.
Verify your Node.js version with node --version before upgrading.