Sites

Manage your Webflow sites, retrieve detailed site information, and publish sites to specific domains using the Sites tools.


List sites

List all sites accessible to the authenticated user. Returns basic site information including site ID, name, and last published date.

Tool: sites_list

GET
/v2/sites
1from webflow import Webflow
2
3client = Webflow(
4 access_token="YOUR_ACCESS_TOKEN",
5)
6client.sites.list()

Returns

Response
1{
2 "sites": [
3 {
4 "id": "42e63e98c9a982ac9b8b741",
5 "workspaceId": "42e63fc8c9a982ac9b8b744",
6 "createdOn": "1979-10-12T12:00:00.000Z",
7 "displayName": "Heart of Gold Spaceship",
8 "shortName": "heart-of-gold",
9 "lastPublished": "2023-04-02T12:42:00.000Z",
10 "previewUrl": "https://dev-assets.website-files.com/42e63e98c9a982ac9b8b741/197910121200.png",
11 "timeZone": "DeepSpace/InfiniteImprobability",
12 "parentFolderId": "1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6",
13 "customDomains": [
14 {
15 "id": "589a331aa51e760df7ccb89e",
16 "url": "heartofgold.galaxy",
17 "lastPublished": "2022-12-07T16:51:37.571Z"
18 }
19 ],
20 "locales": {
21 "primary": {
22 "id": "653fd9af6a07fc9cfd7a5e57",
23 "cmsLocaleId": "653ad57de882f528b32e810e",
24 "enabled": true,
25 "displayName": "English - Heart of Gold Standard",
26 "redirect": false,
27 "subdirectory": "/en",
28 "tag": "The Ultimate Answer"
29 },
30 "secondary": [
31 {
32 "id": "653fd9af6a07fc9cfd7a5e58",
33 "cmsLocaleId": "653ad57de882f528b32e810g",
34 "enabled": true,
35 "displayName": "Betelgeusian - Vogon Liaison",
36 "redirect": true,
37 "subdirectory": "/bet",
38 "tag": "Vogon"
39 },
40 {
41 "id": "653fd9af6a07fc9cfd7a5e59",
42 "cmsLocaleId": "653ad57de882f528b32e810h",
43 "enabled": false,
44 "displayName": "Magrathean - Custom Planet Designs",
45 "redirect": true,
46 "subdirectory": "/mg",
47 "tag": "Magrathean"
48 }
49 ]
50 },
51 "dataCollectionEnabled": true,
52 "dataCollectionType": "always"
53 },
54 {
55 "id": "42e63e98c9a982ac9b8b742",
56 "workspaceId": "42e63fc8c9a982ac9b8b745",
57 "createdOn": "1981-10-12T12:00:00.000Z",
58 "displayName": "Marvin's Personal Blog",
59 "shortName": "paranoid-android",
60 "lastPublished": "2023-04-02T12:45:00.000Z",
61 "previewUrl": "https://dev-assets.website-files.com/42e63e98c9a982ac9b8b742/198110121200.png",
62 "timeZone": "DeepSpace/Depression",
63 "parentFolderId": "1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6",
64 "customDomains": [
65 {
66 "id": "589a331aa51e760df7ccb89f",
67 "url": "marvin.blog",
68 "lastPublished": "2022-12-07T16:51:37.571Z"
69 }
70 ],
71 "locales": {
72 "primary": {
73 "id": "653fd9af6a07fc9cfd7a5e57",
74 "cmsLocaleId": "653ad57de882f528b32e810e",
75 "enabled": true,
76 "displayName": "English - Marvin's Musings",
77 "redirect": false,
78 "subdirectory": "/en",
79 "tag": "English"
80 },
81 "secondary": [
82 {
83 "id": "653fd9af6a07fc9cfd7a5e56",
84 "cmsLocaleId": "653ad57de882f528b32e810f",
85 "enabled": true,
86 "displayName": "Squornshellous - Mattress Speak",
87 "redirect": true,
88 "subdirectory": "/sr",
89 "tag": "Squornshellous"
90 }
91 ]
92 },
93 "dataCollectionEnabled": true,
94 "dataCollectionType": "always"
95 },
96 {
97 "id": "42e63e98c9a982ac9b8b743",
98 "workspaceId": "42e63fc8c9a982ac9b8b746",
99 "createdOn": "1982-10-12T12:00:00.000Z",
100 "displayName": "Vogon Poetry Archive",
101 "shortName": "vogon-poetry",
102 "lastPublished": "2023-04-02T12:50:00.000Z",
103 "previewUrl": "https://dev-assets.website-files.com/42e63e98c9a982ac9b8b743/198210121200.png",
104 "timeZone": "Vogsphere/PoetryHall",
105 "parentFolderId": "1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6",
106 "customDomains": [
107 {
108 "id": "589a331aa51e760df7ccb8a0",
109 "url": "vogonpoetry.galaxy",
110 "lastPublished": "2022-12-07T16:51:37.571Z"
111 }
112 ],
113 "locales": {
114 "primary": {
115 "id": "653fd9af6a07fc9cfd7a5e55",
116 "cmsLocaleId": "653ad57de882f528b32e810d",
117 "enabled": true,
118 "displayName": "English - Vogon Verse",
119 "redirect": false,
120 "subdirectory": "/en",
121 "tag": "Third Worst Poetry"
122 },
123 "secondary": [
124 {
125 "id": "653fd9af6a07fc9cfd7a5e54",
126 "cmsLocaleId": "653ad57de882f528b32e810c",
127 "enabled": true,
128 "displayName": "Galactic - Universal Language",
129 "redirect": true,
130 "subdirectory": "/gl",
131 "tag": "Pan-Galactic Gargle Blaster"
132 }
133 ]
134 },
135 "dataCollectionEnabled": true,
136 "dataCollectionType": "always"
137 }
138 ]
139}

Get site details

Get detailed information about a specific site including its settings, domains, and publishing status.

Tool: sites_get

site_id
stringRequired

Unique identifier for the site

GET
/v2/sites/:site_id
1from webflow import Webflow
2
3client = Webflow(
4 access_token="YOUR_ACCESS_TOKEN",
5)
6client.sites.get(
7 site_id="580e63e98c9a982ac9b8b741",
8)

Returns

Response
1{
2 "id": "42e98c9a982ac9b8b742",
3 "workspaceId": "42e63e98c9a982ac9b8b742",
4 "createdOn": "1979-10-12T12:00:00.000Z",
5 "displayName": "The Hitchhiker's Guide to the Galaxy",
6 "shortName": "hitchhikers-guide",
7 "lastPublished": "2023-04-02T12:42:00.000Z",
8 "lastUpdated": "2023-04-02T12:42:00.000Z",
9 "previewUrl": "https://screenshots.webflow.com/sites/6258612d1ee792848f805dcf/20231219211811_d5990556c743f33b7071300a03bf67e6.png",
10 "timeZone": "Magrathea/FactoryFloor",
11 "parentFolderId": "1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6",
12 "customDomains": [
13 {
14 "id": "589a331aa51e760df7ccb89d",
15 "url": "hitchhikersguide.galaxy"
16 },
17 {
18 "id": "589a331aa51e760df7ccb89e",
19 "url": "heartofgold.spaceship"
20 }
21 ],
22 "locales": {
23 "primary": {
24 "id": "653fd9af6a07fc9cfd7a5e57",
25 "cmsLocaleId": "653ad57de882f528b32e810e",
26 "enabled": false,
27 "displayName": "English (United States)",
28 "displayImageId": "string",
29 "redirect": true,
30 "subdirectory": "",
31 "tag": "en-US"
32 },
33 "secondary": [
34 {
35 "id": "653fd9af6a07fc9cfd7a5e56",
36 "cmsLocaleId": "653fd9af6a07fc9cfd7a5e5d",
37 "enabled": true,
38 "displayName": "French (France)",
39 "displayImageId": "string",
40 "subdirectory": "fr-fr",
41 "tag": "fr-FR"
42 },
43 {
44 "id": "654112a3a525b2739d97664c",
45 "cmsLocaleId": "654112a3a525b2739d97664f",
46 "enabled": true,
47 "displayName": "Spanish (Mexico)",
48 "displayImageId": "string",
49 "subdirectory": "es-mx",
50 "tag": "es-MX"
51 }
52 ]
53 },
54 "dataCollectionEnabled": true,
55 "dataCollectionType": "always"
56}

Publish site

Publish a site to specified domains. This makes the latest changes live on the specified domains.

Tool: sites_publish

site_id
stringRequired

Unique identifier for the site

customDomains
array

Array of custom domain IDs to publish the site to

publishToWebflowSubdomain
booleanDefaults to false

Whether to publish to the Webflow subdomain

POST
/v2/sites/:site_id/publish
1from webflow import Webflow
2
3client = Webflow(
4 access_token="YOUR_ACCESS_TOKEN",
5)
6client.sites.publish(
7 site_id="580e63e98c9a982ac9b8b741",
8 custom_domains=["660c6449dd97ebc7346ac629", "660c6449dd97ebc7346ac62f"],
9 publish_to_webflow_subdomain=False,
10)

Returns: Publishing status and confirmation

Response
1{
2 "customDomains": [
3 {
4 "id": "589a331aa51e760df7ccb89d",
5 "url": "test-api-domain.com",
6 "lastPublished": "2022-12-07T16:51:37.571Z"
7 }
8 ],
9 "publishToWebflowSubdomain": false
10}