Bulk Updating SEO Titles and Descriptions in Webflow Using the API and Postman
Step 1: Fetch Your Webflow Page Data
To start, you’ll need to gather the details of all the pages you want to update. Thankfully, Webflow’s API simplifies this process. Use the List Pages endpoint to retrieve all the pages on your site.
- Visit the endpoint page, and on the right-hand side, click the small "play" button to open the API Explorer.
- Log in to authorize yourself in the API Explorer.
- Add your site ID (found under Site Settings → General → Overview) and click Send Request.

Example: Fetching the Site ID
You can locate your site ID in the Site Settings, as shown below.

Once you send the request, you’ll receive a JSON response like this:
{
"pages": [
{
"id": "unique_page_id",
"siteId": "unique_site_id",
"parentId": null,
"collectionId": null,
"title": "Page Title",
"slug": "page-slug",
"createdOn": "timestamp",
"lastUpdated": "timestamp",
"archived": false,
"draft": false,
"canBranch": true,
"isBranch": false,
"seo": {
"title": "SEO Title",
"description": "SEO Description"
},
"openGraph": {
"title": null,
"titleCopied": true,
"description": null,
"descriptionCopied": true
},
"publishedPath": "/page-path",
"localeId": null
}
],
"pagination": {
"limit": 100,
"offset": 0,
"total": 13
}
}
Step 2: Convert the JSON Response to CSV
Copy the JSON response and use an online JSON-to-CSV converter to generate a CSV file with all your pages and their properties. After converting, simplify the table by keeping only the following columns (rename the headers as shown below):
id
title
slug
seo_title
seo_description
og_title
og_description
og_image
Now, edit the SEO titles and descriptions directly in the CSV file. Once your updates are ready, proceed to the next step.
Step 3: Use Postman to Bulk Update Pages

Importing the Template into Postman
After importing the template:
- Open the PUT request.
- In the Authorization tab, add your Webflow API token with pages: read and write permissions. You can generate the API token in Webflow.
- Save your settings.

Running the Collection in Postman
Click on the three dots next to your collection and select Run Collection.

In the Runner tab:
- Upload your edited CSV file.
- Set a delay of 1000–2000ms between requests (to avoid hitting rate limits).
- Confirm the number of iterations (which should match your total number of pages).

Now, click Run Webflow Bulk Page SEO Update to start the process. Postman will send requests for each page, updating their SEO titles and descriptions.

Troubleshooting Errors
If any requests fail, Postman will highlight them for you. This usually happens due to empty or invalid values in your CSV file. Review and fix any errors before retrying.
🔥Try it out, and let me know how it works for you! 🔥