Airbyte source connector that enables data extraction from Mailchimp's API for email marketing analytics and audience management
npx @tessl/cli install tessl/pypi-airbyte-source-mailchimp@2.0.0Airbyte source connector that enables data extraction from Mailchimp's API for email marketing analytics and audience management. This declarative low-code connector provides access to campaigns, lists, segments, email activity, and detailed reports from Mailchimp's marketing platform.
pip install airbyte-source-mailchimpsource-mailchimpfrom source_mailchimp import SourceMailchimpEntry point function:
from source_mailchimp.run import runConfiguration migration utilities:
from source_mailchimp.config_migrations import MigrateDataCenter# Get connector specification
source-mailchimp spec
# Test connection with config
source-mailchimp check --config config.json
# Discover available streams
source-mailchimp discover --config config.json
# Extract data
source-mailchimp read --config config.json --catalog catalog.jsonfrom source_mailchimp import SourceMailchimp
from source_mailchimp.run import run
# Create connector instance
source = SourceMailchimp()
# Run connector (typically used by Airbyte framework)
run()API Key authentication:
{
"credentials": {
"auth_type": "apikey",
"apikey": "your-api-key-us10"
},
"start_date": "2023-01-01T00:00:00.000Z"
}OAuth authentication:
{
"credentials": {
"auth_type": "oauth2.0",
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"access_token": "your-access-token"
},
"start_date": "2023-01-01T00:00:00.000Z"
}The connector is built using Airbyte's declarative framework with these key components:
The connector uses Mailchimp's REST API v3.0 with automatic data center routing, rate limiting, and comprehensive error handling.
Main connector functionality for initializing and running the Mailchimp source connector within the Airbyte framework.
class SourceMailchimp(YamlDeclarativeSource):
def __init__(self): ...
def run(): ...Runtime configuration migration and data center detection for both API key and OAuth authentication methods.
class MigrateDataCenter:
@classmethod
def get_data_center_location(cls, config: Mapping[str, Any]) -> Mapping[str, Any]: ...
@staticmethod
def get_oauth_data_center(access_token: str) -> str: ...
@classmethod
def migrate(cls, args: List[str], source: Source) -> None: ...Access to 12 Mailchimp data streams including campaigns, lists, segments, email activity, and detailed analytics reports.
Available Streams:
Specialized record extraction and transformation for complex Mailchimp API responses, particularly email activity data.
class MailChimpRecordExtractorEmailActivity(DpathExtractor):
def extract_records(self, response: requests.Response) -> Iterable[Mapping[str, Any]]: ...