Webflow Redirects: How to Set Up 301 Redirects (Step-by-Step Guide)
Learn how to redirect pages in Webflow to maintain SEO, fix broken links, and ensure a smooth user experience during URL or site structure changes.

Actionable insights to improve SEO, speed, and conversions
The Webflow API lets developers read and write CMS content, manage Collections, handle ecommerce orders, and trigger site publishes programmatically. Authentication is done via site API tokens generated in Site Settings → Apps & Integrations. For non-technical users, Webflow's native integrations (HubSpot, Intercom, Calendly, Zapier, Make) handle most use cases without writing code.
The Webflow API is a powerful RESTful interface that allows you to programmatically interact with your Webflow sites and manage content at scale. Whether you're a developer looking to build custom solutions or a business owner seeking to streamline operations, understanding the Webflow API opens up endless possibilities for website functionality and automation.
Webflow connects to external tools in two ways: through the Webflow API (for developers building custom workflows or syncs) and through native integrations (for marketers and operators using tools like HubSpot, Intercom, Calendly, or Zapier).
This guide covers both paths when to use which, the authentication basics, the most-used API endpoints, and step-by-step setup for the most popular integrations
The Webflow API is a RESTful Application Programming Interface that provides programmatic access to your Webflow site's data and functionality. It enables you to create, read, update, and delete (CRUD) content in your Webflow CMS, manage e-commerce products, handle form submissions, and integrate with external systems, all through HTTP requests.
REST API Architecture: Webflow's API follows REST (Representational State Transfer) principles, making it predictable and easy to work with. REST APIs use standard HTTP methods and return data in JSON format, ensuring compatibility with virtually any programming language or platform.
The Webflow ecosystem includes two main API types:
To generate a token
Most-used endpoints:
The API enforces a rate limit of 60 requests per minute per token. For larger imports or bulk operations, batch your requests and add exponential backoff for 429 responses.
Before diving into Webflow API implementation, ensure you have the necessary foundation. You'll need an active Webflow account with a published site that includes CMS collections for testing API operations.
While you don't need extensive programming experience, basic familiarity with APIs, HTTP requests, and JSON data structures will be helpful.
Essential Tools: Install Postman or a similar API testing tool for experimenting with API endpoints. You'll also need a code editor like Visual Studio Code for writing integration scripts and a basic understanding of JavaScript, Python, or your preferred programming language for implementation.
Development Environment: Set up a local development environment where you can safely test API integrations without affecting your live website. Consider using version control (Git) to track your integration code and maintain backup copies of your work.
Setting up API access requires generating an authentication token that grants your applications permission to interact with your Webflow site. This process is straightforward but requires careful attention to security practices.
Step-by-Step Token Generation:
Critical Security Note: Webflow displays your API token only once during generation. If you lose the token, you'll need to generate a new one, which will invalidate the previous token and require updating any existing integrations.
API Token Management: Each Webflow site can have one API token at a time. If you need to revoke access or suspect your token has been compromised, generate a new token to automatically invalidate the old one. Store tokens in secure environment variables rather than hardcoding them in your application code.
Understanding Webflow's data hierarchy is crucial for effective API usage. At the top level, Sites represent individual Webflow projects, each with a unique site ID that you'll use in API requests. This ID identifies which website you're working with and ensures your API calls affect the correct project.
Webflow supports various field types that determine how data is stored and validated.
Webflow implements rate limiting to ensure API performance and prevent abuse. Currently, the API allows 60 requests per minute per site, with some endpoints having additional restrictions. Exceeding these limits results in HTTP 429 responses, temporarily blocking further requests.
Getting data from Webflow collections forms the foundation of most API integrations. The process involves making GET requests to collection endpoints and handling the returned JSON data appropriately for your use case.
Basic Collection Retrieval:
const apiToken = 'your-api-token';
const siteId = 'your-site-id';
const collectionId = 'your-collection-id';
fetch(`https://api.webflow.com/v2/sites/${siteId}/collections/${collectionId}/items`, {
method: 'GET',
headers: {
'Authorization': `Bearer ${apiToken}`,
'accept': 'application/json'
}
})
.then(response => response.json())
.then(data => {
console.log('Collection items:', data.items);
data.items.forEach(item => {
console.log(`Item: ${item.fieldData.name}`);
});
})
.catch(error => console.error('Error:', error));
Filtering and Pagination: The API supports query parameters for filtering results and managing large datasets. Use limit and offset parameters for pagination, and filter parameters to retrieve specific items based on field values.
Response Handling: API responses include metadata about pagination, total counts, and next/previous page URLs. Parse this information to build complete dataset retrieval logic that handles collections with hundreds or thousands of items efficiently.
Adding new content and updating existing items enables dynamic content management through the API. This functionality is essential for synchronizing external data sources with your Webflow site and automating content workflows.
Creating New Items:
const newItem = {
fieldData: {
'name': 'New Blog Post Title',
'slug': 'new-blog-post',
'post-body': '<p>Blog post content goes here...</p>',
'author': 'author-item-id',
'_archived': false,
'_draft': false
}
};
fetch(`https://api.webflow.com/v2/sites/${siteId}/collections/${collectionId}/items`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiToken}`,
'accept': 'application/json',
'content-type': 'application/json'
},
body: JSON.stringify(newItem)
})
.then(response => response.json())
.then(data => console.log('Created item:', data))
.catch(error => console.error('Error creating item:', error));
Field Validation: Ensure your data matches the collection's field requirements. Required fields must be included, and data types must align with field definitions. The API returns detailed validation errors to help identify and resolve data issues.
Bulk Operations: For large-scale content management, consider implementing batch operations that group multiple API calls efficiently. While the API doesn't support true bulk operations, you can optimize performance by managing request timing and implementing proper error handling for partial failures.
E-commerce collections require special handling due to their complex data structures and relationships with SKU collections. Product management through the API enables sophisticated inventory management and catalog synchronization with external systems.
Product Creation Example:
const productData = {
fieldData: {
'name': 'New Product',
'slug': 'new-product',
'price': 29.99,
'compare-at-price': 39.99,
'description': '<p>Product description here</p>',
'main-image': 'image-asset-id',
'category': 'category-item-id',
'_archived': false,
'_draft': false
}
};
// Create product item
fetch(`https://api.webflow.com/v2/sites/${siteId}/collections/${productCollectionId}/items`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiToken}`,
'accept': 'application/json',
'content-type': 'application/json'
},
body: JSON.stringify(productData)
})
.then(response => response.json())
.then(product => {
console.log('Created product:', product);
// Handle SKU creation if needed
})
.catch(error => console.error('Product creation error:', error));
Inventory Management: Keep product availability synchronized with external inventory systems by updating stock levels and availability status through the API. This integration ensures your Webflow e-commerce site always reflects accurate inventory information.
Variant Handling: Complex products with multiple variants require careful coordination between product and SKU collections. Plan your integration to handle variant creation, pricing updates, and inventory management across all product variations.
Webhooks provide real-time notifications when specific events occur on your Webflow site, eliminating the need for constant polling and enabling immediate responses to user actions or content changes.
Setting Up Form Submission Webhooks:
Webhook Payload Handling:
// Express.js webhook endpoint example
app.post('/webflow-webhook', express.json(), (req, res) => {
const webhookData = req.body;
if (webhookData.triggerType === 'form_submission') {
const formData = webhookData.data;
// Process form submission
console.log('Form submitted:', formData);
// Send to CRM, email system, etc.
handleFormSubmission(formData);
}
res.status(200).send('Webhook received');
});
Security Verification: Implement webhook signature verification to ensure requests actually come from Webflow. Use the webhook secret provided during setup to validate incoming requests and prevent unauthorized access to your webhook endpoints.
Most marketing integrations don't require the API. Webflow's native integrations cover the top tools
Use the native HubSpot Forms integration: in Webflow's Form element, set the action to your HubSpot Forms endpoint. For tracking and visitor identification, paste your HubSpot tracking script in Project Settings → Custom Code → Footer Code. For deep CRM-to-CMS sync, use the Webflow API + HubSpot API together (typically built via Zapier or Make).
Paste your Intercom workspace script in Project Settings → Custom Code → Footer Code. For logged-in user identification, pass user attributes via the Intercom('boot', { ... }) call. The Webflow Memberships feature integrates with Intercom for member-only support flows.
Use the Calendly Embed element from the Webflow Add Panel drag in, paste your Calendly URL, choose inline or popup display. For more customization, embed Calendly's JS widget via Custom Code. Calendly does not require API integration for standard scheduling.
ConvertKit doesn't have a native Webflow integration, but the form integration works two ways: (1) embed ConvertKit's form code directly via an Embed element, or (2) set your Webflow Form's action attribute to ConvertKit's form endpoint and map fields manually.
Adding custom JavaScript to Webflow sites enables client-side API interactions and dynamic content loading that enhances user experience without requiring external hosting for your integration logic.
Dynamic Content Loading:
// Load and display external API data
async function loadExternalData() {
try {
const response = await fetch('https://api.external-service.com/data');
const data = await response.json();
// Update Webflow page with external data
const container = document.getElementById('external-content');
container.innerHTML = data.items.map(item =>
`<div class="item">${item.title}</div>`
).join('');
} catch (error) {
console.error('Failed to load external data:', error);
}
}
// Load data when page loads
document.addEventListener('DOMContentLoaded', loadExternalData);
User Interaction Handling: Implement custom form handling, interactive elements, or real-time features that enhance your Webflow site's functionality while maintaining the visual design created in the Webflow Designer.
Importing content from external systems into Webflow CMS is a common integration pattern that enables content migration, multi-platform publishing, or automated content syndication.
Content Migration Strategy:
async function importBlogPosts(externalPosts) {
const importResults = [];
for (const post of externalPosts) {
const webflowItem = {
fieldData: {
'name': post.title,
'slug': generateSlug(post.title),
'post-body': convertToWebflowFormat(post.content),
'post-summary': post.excerpt,
'author': await findOrCreateAuthor(post.author),
'publication-date': post.publishDate,
'_archived': false,
'_draft': post.status !== 'published'
}
};
try {
const result = await createWebflowItem(webflowItem);
importResults.push({ success: true, id: result.id });
} catch (error) {
importResults.push({ success: false, error: error.message });
}
}
return importResults;
}
Field Mapping Considerations: Plan how external content fields map to Webflow collection fields. Handle data transformations for rich text content, image uploads, and reference field relationships during the import process.
Real-time inventory synchronization ensures your Webflow e-commerce site always reflects accurate product availability and pricing from your master inventory system.
Inventory Update Implementation:
async function syncInventory(inventoryUpdates) {
for (const update of inventoryUpdates) {
const productItem = await findProductBySKU(update.sku);
if (productItem) {
const updatedFields = {
'price': update.price,
'compare-at-price': update.comparePrice,
'inventory-quantity': update.quantity,
'_archived': update.quantity === 0 && update.discontinue
};
await updateWebflowItem(productItem.id, updatedFields);
console.log(`Updated product ${update.sku}`);
}
}
}
// Set up periodic sync
setInterval(async () => {
const updates = await fetchInventoryUpdates();
await syncInventory(updates);
}, 300000); // Sync every 5 minutes
Multi-Channel Considerations: Design your inventory sync to handle updates from multiple sources while preventing conflicts and ensuring data consistency across all sales channels.
Automating the flow from Webflow contact forms to CRM systems eliminates manual data entry and ensures immediate lead follow-up, improving conversion rates and sales team efficiency.
CRM Integration Workflow: (JavaScript)
async function handleFormSubmission(formData) {
// Transform Webflow form data to CRM format
const crmContact = {
firstName: formData.name.split(' ')[0],
lastName: formData.name.split(' ').slice(1).join(' '),
email: formData.email,
company: formData.company,
message: formData.message,
source: 'Webflow Contact Form',
leadScore: calculateLeadScore(formData)
};
// Send to CRM
try {
const crmResponse = await fetch('https://api.crm-system.com/contacts', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + CRM_API_TOKEN,
'Content-Type': 'application/json'
},
body: JSON.stringify(crmContact)
});
if (crmResponse.ok) {
// Trigger follow-up actions
await scheduleFollowUp(crmContact);
console.log('Contact successfully added to CRM');
}
} catch (error) {
// Handle CRM integration errors
await logFailedIntegration(formData, error);
}
}
Lead Qualification: Implement logic to qualify and score leads based on form submission data, routing high-priority leads to sales teams immediately while nurturing lower-priority contacts through automated sequences.
For most marketing teams, no-code automation platforms (Zapier, Make, n8n) handle 90% of integration needs without touching the API directly. Choose based on:
The Webflow API opens up unlimited possibilities for creating automated websites that integrate seamlessly with your business systems. From simple contact form integrations to complex e-commerce synchronization, mastering these API fundamentals enables you to transform static Webflow sites into dynamic, data-driven platforms.
Start with small, manageable integrations to build your confidence and understanding. As you become more comfortable with the API concepts and patterns covered in this guide, you'll be able to tackle increasingly complex integration challenges and unlock the full potential of your Webflow websites.
Ready to implement advanced Webflow API integrations? theCSS Agency specializes in complex Webflow development projects, custom API integrations, and automation solutions that streamline business operations. Our team of Webflow experts can help you design and implement sophisticated integrations that transform your website into a powerful business tool. Contact us today to discuss how we can elevate your Webflow project with custom API development and integration services.
Yes — the Webflow API is included on all paid Webflow plans. Free Starter plans don't include API access. There are rate limits (60 requests per minute), but no per-call cost regardless of volume.
Yes. The Webflow API supports both read (fetching data such as CMS items or orders) and write (creating or updating CMS items, products, or inventory).
Authentication is handled via OAuth 2.0 or API tokens.
Absolutely. Many developers use the API to connect Webflow with third-party platforms like Zapier, Airtable, HubSpot, Slack, or even custom dashboards. This makes it possible to extend Webflow’s capabilities far beyond the Designer.
Yes. Webflow supports Webhooks, which notify your application in real-time whenever events happen—such as CMS item creation, form submissions, or eCommerce order updates. This is particularly useful for automations.
No. The Webflow API requires a paid plan. The minimum tier with API access is the Basic Site plan or the Starter Workspace plan. Free plans can build and design, but API tokens cannot be generated.

Learn how to redirect pages in Webflow to maintain SEO, fix broken links, and ensure a smooth user experience during URL or site structure changes.

I lost a client 38% of their organic traffic in one week because of a missed 301 redirect step. Here's the free sitemap-driven tool we built so it never happens again.

Find key differences between SaaS SEO and traditional SEO. Learn specialized strategies, keyword approaches, and content tactics for B2B SaaS success.
Quick Turnaround. No Contracts. Cancel Anytime. Book a 30 minutes consulting call with our expert.