Growomat plugs into the tools you already use. Chat with Claude to draft and run campaigns — no code — or build on the REST API and SDKs. Everything the app can do, from wherever you ask for it.
No code
connect Claude · draft, report & stage changes by asking
Builders
REST API · SDKs in 5 languages · OpenAPI 3.1
Platforms
Google · Microsoft · Reddit · Meta Ads · one account
Safety
drafts stay paused · nothing goes live until you push it
one account, three ways in — same data, same guardrails
growomat — same result, three ways
you › Draft a search campaign for my bakery — £20 a day, Manchester only.create_campaignBakery · SEARCH✓create_keyword ×6“fresh bread manchester”, …✓claude › Draft’s ready and paused — say the word and I’ll preview the push.
Ask for it through Claude, script it over REST, or build on typed clients. Same live data, same guardrails — and every page stands on its own.
Connect once, then run your campaigns by asking — from the Claude apps, Claude Code, VS Code, or Cursor.
See how easy it is →
/developers/rest-apiA plain, cursor-paginated JSON API with a stable envelope and typed errors.
api.growomat.com/api/v1Explore the API →
/developers/sdksTyped clients in five languages, generated from the same spec that powers the app.
npm install @growomat/client — GApip install growomat — alphaBrowse the SDKs →
These are the clients the connector has been run in and verified. It is a standard remote MCP server, so any client that supports remote servers over OAuth should connect the same way.
Campaigns are created locally and staged — nothing touches a live ad platform until a token holding the sync scope triggers a sync.
Settings → Developer
Generate a token with a name, an expiry of up to one year, and the minimum scopes it needs. The plaintext shows once — only its SHA-256 is stored.
# shown once — store it in a secret manager grow_live_A1B2C3D4E5F6G7H8_veryLongSecret… export GROWOMAT_TOKEN=grow_live_…
Confirm auth with /me
GET /me echoes the token’s identity, plan, and granted scopes — the fastest way to confirm your wiring.
curl -s -H "Authorization: Bearer $GROWOMAT_TOKEN" \
https://api.growomat.com/api/v1/me
# → { "data": { "uid": "user_abc", "email": "[email protected]",
# "plan": { "id": "pro", "name": "Pro" },
# "scopes": ["campaigns:read","campaigns:write"] } }POST your first campaign
Writes need their resource’s write scope. Every response uses the same envelope: { data, meta }
curl -s -X POST https://api.growomat.com/api/v1/campaigns \
-H "Authorization: Bearer $GROWOMAT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Black Friday 2026","type":"SEARCH","budget":50}'grow_live_A1B2C3D4E5F6G7H8_veryLongUrlSafeBase64SecretScoped access — 13 grants
sync:write is deliberately separate from the resource scopes — triggering a sync mutates external ad platforms and can spend real budget. A reporting token never needs it.
Connect Claude and ask for your first draft — or mint a token in Settings → Developer and point curl at /me.