Python

Connect Python with Webflow through the Webflow Data API to automate CMS publishing and route form submissions or external data.

Install app
View website
View lesson
A record settings
CNAME record settings
Python

The platform runs client-side with no server-side code execution. You cannot run scripts inside a Webflow site to transform data or process records in bulk against external services. When content lives in a spreadsheet, a database, or another CMS, someone has to move it into the Webflow CMS by hand. That handoff becomes the bottleneck as sites scale past a few dozen records.

Python closes that gap by running on external infrastructure and talking to Webflow over its Data API. A single Python script can batch-create up to 100 CMS items per request. It can also capture form submissions through webhooks and reconcile records against outside data sources on a schedule. The official webflow SDK provides typed synchronous and asynchronous clients built on httpx. You write less boilerplate and get predictable JSON back.

This integration is for backend developers, automation engineers, technical marketers, and agency teams. Marketing agencies use it to bulk-publish articles. E-commerce teams sync product catalogs. SaaS companies route form data into a CRM. Media and publishing teams move large content archives between platforms without manual entry.

How to integrate Python with Webflow

What is Python? Python is an interpreted, object-oriented, high-level programming language that resolves many operations at runtime. It supports procedural and functional programming and runs cross-platform without a compilation step. Because it resolves types at runtime and has a large third-party ecosystem, it is a common glue language for connecting existing components and services.

Teams reach for Python and Webflow together when the work exceeds what the Webflow interface handles comfortably. Publishing 300 articles by hand is slow and error-prone. Syncing a product feed every night is not something a person should do manually. Python runs on your own server and communicates with Webflow through documented REST endpoints, so you script these jobs once and let them run.

Match the connection method to the job and to where the Python code runs:

  • Code Embed and iframe embeds let you display output from an externally hosted Python app inside a Webflow page.
  • The official Python SDK gives you typed clients for the Webflow Data API without writing raw HTTP requests, which helps when your script needs to create, update, or list CMS data repeatedly.
  • The Webflow Data API and webhooks give you full control over CMS content and event-driven form workflows, but require server-side Python running on external infrastructure.

Most implementations combine two or more of these methods depending on the complexity of the setup.

Display Python output with Code Embed elements

Built-in code sections accept only HTML, CSS, and JavaScript, not server-side languages like Perl, PHP, Python, or Ruby. Python always runs on an external host, and you surface its output in Webflow through an embed. Use this method when you want to show a rendered widget or a full Python web app inside a Webflow page without a full API build.

You can surface externally hosted Python output two ways: embed the running app in an iframe, or call its API from client-side JavaScript and render the response.

Embed a hosted Python app in an iframe

Host your Python web application on a service like AWS Lambda, Heroku, Replit, or PythonAnywhere, then embed its URL. This works well for full applications or dashboards, including interactive tools you want to render inside a page section.

Embed the hosted app this way:

  1. Deploy your Python app to an external host and confirm it serves over HTTPS.
  2. Add a Code Embed element to your page.
  3. Paste an <iframe> tag pointing to your app's URL.

Custom code in a Code Embed element cannot exceed 50,000 characters, which is ample for an iframe or widget snippet.

Call a Python API from client-side JavaScript

Place a JavaScript fetch snippet in a Code Embed element to call your Python backend and render the response in the page. This suits smaller widgets where you want the page to request live data on load.

Wire up the page request this way:

  1. Add your fetch script to a Code Embed element, or add it to the site's head and body tags in site settings for site-wide behavior.
  2. Point the request at your Python API endpoint.
  3. Configure CORS on the Python server when the API lives on a different domain.

You can also bind Collection List fields into Code Embed elements through the Collection fields in custom code embeds feature. CMS data then flows into your embedded output.

Build with the Webflow Data API and Python

The Webflow Data API v2 gives you full CRUD control over CMS content, form submission retrieval, asset uploads, and site publishing. This path requires server-side Python running on external infrastructure such as Vercel Functions, AWS Lambda, or any host you control. It suits developers building content pipelines and webhook-driven sync jobs.

Server-side builds rely on different Webflow API tools for client code, CMS access, and event delivery:

  • The official Python SDK (pip install webflow) provides typed synchronous and asynchronous clients built on httpx, with OAuth support and configurable timeouts.
  • Webflow's Data API handles CMS collections and items and form submissions, so Python jobs can write structured content and read submitted form data through documented endpoints.
  • Webflow webhooks trigger real-time events between systems.

All Data API v2 endpoints require an Authorization: Bearer <token> header. Generate a site token under Apps and Integrations > API Access in site settings, or use OAuth 2.0 for public multi-site apps.

Create and list CMS items

Push Python-generated data into a collection to automate content at scale. The Create Items endpoint accepts up to 100 items per request, and the fieldData object must match your collection schema.

With the requests library, create items against the collection endpoint and read a page back to confirm the batch:

  1. Set your headers with headers = {"Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json"}.
  2. POST to https://api.webflow.com/v2/collections/{collection_id}/items with a JSON body containing fieldData, matching each key to the target collection schema.
  3. List items back with GET on the same path, passing params={"limit": 100, "offset": 0}.

The official SDK equivalent reads client.collections.items.create(collection_id=COLLECTION_ID, field_data={"name": "My New Post", "slug": "my-new-post"}). It returns typed objects instead of raw JSON.

Receive form submissions through webhooks

Register a webhook to push form data to a Python endpoint in real time. The Forms API is read-only, so webhooks are how you capture submissions as they happen. Register with POST /v2/sites/{site_id}/webhooks using the form_submission trigger type, which supports a filter to target a specific form by name.

In a Flask endpoint, verify the webhook signature before returning a response:

  1. Read x-webflow-timestamp and x-webflow-signature from the request headers.
  2. Concatenate timestamp + ":" + body, then generate an HMAC SHA-256 digest using the webhook's signing key before the handler processes the payload.
  3. Compare against the signature header with hmac.compare_digest and return 200.

Your endpoint must return 200. Without it, delivery retries up to three more times at 10-minute intervals. Webhooks created through the dashboard omit the headers needed to validate signatures. Create webhooks through the API or OAuth when you need verification.

What can you build with the Python Webflow integration?

Integrating Python with Webflow lets you automate content and data operations at scale without manual entry through the Webflow interface.

  • Bulk CMS publishing: Push hundreds of articles or products into a collection from a single script.
  • Content migration: Move a Strapi or WordPress blog archive into Webflow.
  • Form-to-CRM routing: Catch form_submission webhooks in a Flask endpoint, verify the HMAC signature, and forward the data to HubSpot or another CRM.
  • Scheduled catalog sync: Run a nightly Python job that reads a product feed and updates CMS items. The catalog stays current without hand edits.

If you need more control over webhook processing and error handling, including multi-locale syncing, the API path covers those cases. To go deeper on authentication and endpoints, see the Webflow CMS API guide.

Frequently asked questions

  • No. The platform runs client-side, and you cannot integrate server-side languages in any code section. Webflow's custom code documentation confirms that Perl, PHP, Python, and Ruby cannot run in Webflow. Python must run on an external host such as AWS Lambda or PythonAnywhere and communicate with Webflow over the API or through an embedded URL.

  • Add an Authorization: Bearer <token> header to every request against https://api.webflow.com/v2/. For single-site internal tools, generate a site token under Apps and Integrations > API Access in site settings. For public or multi-site apps, use the OAuth 2.0 flow.

  • Yes. Install it with pip install webflow from PyPI. The SDK reference documents synchronous and asynchronous clients powered by httpx, type definitions, and built-in OAuth support. You can manage sites and collections or create and update CMS items with typed methods instead of raw HTTP calls.

  • No. The Forms API is read-only, so you can retrieve and update existing submissions but cannot create new ones programmatically. All submissions must originate from Webflow's client-side form. To process submissions in Python, register a form_submission webhook and receive the data as a POST to your endpoint.

  • The May 2026 pricing update says CMS and Premium plans support 20,000 CMS items, while staged sites on Workspace Starter support 50 CMS items. When creating items, the Create Items endpoint accepts a maximum of 100 items per request, so large uploads run in batches. Bulk authoring, editing, and deleting of up to 100 items per request has been supported since October 2024.

Python
Python
Joined in

Description

Run Python on external infrastructure to push Webflow CMS content and sync webhook-driven data at scale using the official Python SDK or REST API.

Install app

This integration page is provided for informational and convenience purposes only.


Other App integration and task automation integrations

Other App integration and task automation integrations

Integrately

Integrately

Connect Integrately with Webflow to automate form submissions, CMS updates, and e-commerce orders across 1,500+ apps without writing code.

App integration and task automation
Learn more
ScheduleFlow

ScheduleFlow

Connect ScheduleFlow to Webflow to schedule site and CMS publishes at specific dates and times.

App integration and task automation
Learn more
Auth0

Auth0

Connect Auth0, an identity and access management platform, with Webflow to add login, signup, and content gating to static sites through the SPA SDK, Lock widget, automation platforms, or direct API integration.

App integration and task automation
Learn more
Neon

Neon

Connect Neon, a serverless Postgres database, with Webflow to store, query, and sync relational data that exceeds what the Webflow CMS supports natively.

App integration and task automation
Learn more
Relay.app

Relay.app

Connect Relay.app with Webflow to automate form routing, CMS publishing, and order fulfillment with human-in-the-loop approval steps.

App integration and task automation
Learn more
Sass

Sass

Write and compile Sass directly in Webflow with live preview, code autocompletion, and minified CSS output using the free Sass app.

App integration and task automation
Learn more
Publish Pilot

Publish Pilot

Connect Publish Pilot with Webflow to automate [CMS item publishing](https://help.webflow.com/hc/en-us/articles/33961307099027-Intro-to-the-Webflow-CMS), draft or archive actions, timed element changes, and full-site publishes.

App integration and task automation
Learn more
Pipedream

Pipedream

Connect Pipedream, a developer-facing workflow automation platform, with Webflow to automate CMS updates and route e-commerce orders through event-driven workflows, with Node.js or Python available in any step when the pre-built actions run out.

App integration and task automation
Learn more
MeldAPI

MeldAPI

Connect MeldAPI with Webflow to sync data from external apps into CMS collections automatically, without writing code.

App integration and task automation
Learn more

Related integrations

No items found.

Get started for free

Try Webflow for as long as you like with our free Starter plan. Purchase a paid Site plan to publish, host, and unlock additional features.

Get started — it’s free