---
ref: tool:webflow/publish-site
name: Publish a site
company: company:webflow
workflows: []
access: [mcp, cli, api]
tags: [capability:publish-content, category:cms, has:api, has:cli, has:mcp]
docs: https://developers.webflow.com/data/reference/sites/publish
updated: 2026-09-27
---

# Publish a site

Publishes a site's latest changes, or one page, to its Webflow subdomain or chosen custom domains.

Note: Puts every pending change live, so confirm with the user first. The API needs `customDomains` (custom domain IDs) or `publishToWebflowSubdomain: true`.

## Set up

Use the first option your agent supports.

### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "webflow": { "url": "https://mcp.webflow.com/mcp" } } }
```

Call the MCP tool `data_sites_tool`.

Server URL: https://mcp.webflow.com/mcp

### CLI (official)

Install the command and sign in with it, then confirm it runs.

```sh
npm install -g @webflow/webflow-cli
webflow --version
```

Run `webflow sites publish`.

### API (official)

- Base URL: https://api.webflow.com/v2
- Endpoint: `POST /sites/{site_id}/publish`
- Auth: send the header `Authorization: Bearer $WEBFLOW_API_TOKEN`
- Docs: https://developers.webflow.com/data/reference/rest-introduction

Before anything else, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
