Extraction
Python connects to the Mailchimp API to extract campaign and email activity records, unpacks nested JSON, and writes new files to S3 only when new data arrives.
Project • Data pipeline
A secure, automated pipeline to extract Mailchimp campaign and email activity data, stage it in AWS S3, and load it into Snowflake for analytics using Python, Airbyte, dbt, and Kestra.
Key tools: Mailchimp API, Python, AWS S3, Snowflake, dbt, Airbyte, Kestra, Docker.
Outcome: robust data ingestion, automated orchestration, and composable analytics.
Build a robust, secure data pipeline to extract campaign data from Mailchimp, store it in AWS S3, and process it into Snowflake. Orchestrate the pipeline using Kestra.
Python connects to the Mailchimp API to extract campaign and email activity records, unpacks nested JSON, and writes new files to S3 only when new data arrives.
Files are staged in AWS S3 with encryption and structured folders, validating delivery and ensuring secure storage before Snowflake ingest.
Snowflake is connected to S3 through storage integration and Snowpipe. dbt builds the raw, silver, and final models required for analytics and joining Mailchimp data with other sources.
Kestra manages the full pipeline on Docker with a midnight cron schedule, ensuring reliable daily refreshes.
The full implementation is available in the repository at github.com/MorganRennie/des2_mailchimp.
Back to projects