View as Markdown
SDK

Python SDK

pip install synter — typed client for 25 catalog tools plus an execute() escape hatch for any whitelisted PPC script.

Install

bash
pip install synter

Quickstart

python
from synter import Synter

client = Synter(api_key="syn_...")  # or set SYNTER_API_KEY

campaigns = client.campaigns.list(platform="google", status="ENABLED")
perf = client.analytics.get_performance()  # default: google, LAST_7_DAYS
spend = client.analytics.get_daily_spend()  # default: google, last 7 days

Optional analytics args

get_performance and get_daily_spend accept an optional platform (default google). Empty calls are valid. They dispatch to the platform pull scripts (pull_google_ads, pull_meta_ads, …), not to get_account_daily_spend.

Async

python
import asyncio
from synter import AsyncSynter

async def main():
    async with AsyncSynter(api_key="syn_...") as client:
        print(await client.campaigns.list(platform="google"))

asyncio.run(main())

Any script

Use execute(script_name, args) for a whitelisted PPC script. MCP tool names such as list_campaigns are not scripts — call the typed method, or GET /v1/campaigns, instead.

python
client.execute(
    "google_ads_get_campaigns",
    {"status": "ENABLED"},
    platform="google",
)

Full hosted MCP tools: /mcp/tools. Claude Code plugin: /guides/claude-plugin.

Was this page helpful?