Skip to content
Growiom
API · v1

Growiom API

Everything Growiom does in the app, from your own tools: strategies, measured AI visibility, site audits, on-brand articles and your brand voice. Available on every plan, using the same monthly quotas.

Authentication

Create a key under Profile → API Access (up to 5 per account) and send it as a Bearer token. Keys are shown once; we only store a hash. Treat them like passwords and never put them in client-side code.

Authorization: Bearer gp_live_…
Base URL: https://www.growiom.com/api/v1

Quotas and errors

API calls use the same monthly quotas as the app. A call that fails on our side is refunded. Check your remaining allowance with GET /usage.

StatusMeaning
400Missing or invalid input — the error field says what.
401Missing or invalid API key.
403Monthly quota reached, or the account is deactivated.
404Not found (or not visible to your account).
405Wrong HTTP method — see the Allow header.
422A URL you passed couldn't be fetched.
502An AI provider didn't return a usable answer. Safe to retry.

Every error body looks like { "error": "…" }.

Endpoints

POST/generateUses 1 generation

Generate a complete marketing strategy: ads, persona, content calendar, SEO, landing page, AI visibility and score. Uses your Brand Brain (including its competitors) and connected Google data.

Request body

{
  "product": "AI study planner",
  "audience": "University students",
  "tone": "Playful",
  "days": 7,
  "website": "studyapp.com",
  "competitor_urls": ["competitor.com"],
  "variant_count": 3,
  "ad_platforms": ["facebook", "instagram", "linkedin"]
}

Example

curl -X POST https://www.growiom.com/api/v1/generate \
  -H "Authorization: Bearer $GROWIOM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product":"AI study planner","audience":"University students","tone":"Playful","days":7}'

Returns: The full strategy object. _meta.data_sources lists the real data it used (Google Analytics, Search Console, brand voice, published posts, competitor pages).

GET/strategies

List strategies visible to your account (yours and your team's), newest first.

Example

curl https://www.growiom.com/api/v1/strategies -H "Authorization: Bearer $GROWIOM_API_KEY"

Returns: { strategies: [{ id, createdAt, product, audience, tone, marketingScore }] }

GET/strategies/{id}

Fetch one full strategy, including the original request.

Example

curl https://www.growiom.com/api/v1/strategies/STRATEGY_ID -H "Authorization: Bearer $GROWIOM_API_KEY"

Returns: { strategy: { id, createdAt, request, response } }. 404 if it isn't yours or your team's.

POST/geo-visibilityUses 1 website analysis

Measure whether AI assistants recommend your brand. Asks ChatGPT (web search) and Gemini (Google Search) real buyer questions and records mentions and citations. Perplexity is included when configured.

Request body

{
  "brand": "Growiom",
  "domain": "growiom.com",
  "category": "AI marketing strategy generator for startups",
  "audience": "Startup founders",
  "questions": ["What's the best AI tool to plan startup marketing?"]
}

Example

curl -X POST https://www.growiom.com/api/v1/geo-visibility \
  -H "Authorization: Bearer $GROWIOM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"brand":"Growiom","domain":"growiom.com","category":"AI marketing strategy generator"}'

Returns: { report } with visibilityScore (% of answers that mention you), per-engine mentions/citations, competitorShare (how often each competitor was named), the questions, answer excerpts and the most-cited sources. Omit questions to have realistic buyer questions written for you; omitted domain, category, audience and competitors come from your Brand Brain. GET /geo-visibility?brand=… returns past checks.

POST/site-auditUses 1 website analysis

Run a real on-page audit: SEO basics, Open Graph, headings, page weight, render-blocking resources, content relevance and platform signals.

Request body

{ "url": "https://yourproduct.com" }

Example

curl -X POST https://www.growiom.com/api/v1/site-audit \
  -H "Authorization: Bearer $GROWIOM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://yourproduct.com"}'

Returns: The audit object with an issues list. Only public http(s) URLs are allowed.

POST/blog-articleUses 1 generation

Write an SEO blog outline and a full article (700–1,000 words) in your brand voice.

Request body

{
  "blogTitle": "How to plan revision for finals",
  "targetKeyword": "exam revision schedule",
  "product": "AI study planner",
  "audience": "University students",
  "relatedKeywords": ["study planner app", "revision timetable"]
}

Example

curl -X POST https://www.growiom.com/api/v1/blog-article \
  -H "Authorization: Bearer $GROWIOM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"blogTitle":"How to plan revision for finals","targetKeyword":"exam revision schedule","product":"AI study planner"}'

Returns: { outline: [{ heading, points }], article } (article is Markdown).

GET · PUT/brand-voice

Read (GET) or save (PUT) your Brand Brain: your business, audiences, differentiators, competitors, claims and voice. Every generation uses it, AI-visibility checks track its competitors, and it's shared with your team.

Request body

{
  "brandVoice": {
    "brandName": "Growiom",
    "oneLiner": "AI marketing strategies for startups and small teams.",
    "website": "https://www.growiom.com",
    "audiences": [{ "name": "Founders", "description": "Early-stage, no marketing hire yet" }],
    "differentiators": ["A full strategy from one description"],
    "competitors": [{ "name": "Jasper", "url": "https://www.jasper.ai", "howWeDiffer": "Strategy-first, not just copy" }],
    "productFacts": ["Free plan includes 5 strategies a month"],
    "forbiddenClaims": ["Guaranteed results"],
    "summary": "Friendly and plain-spoken.",
    "toneTraits": ["warm", "direct"],
    "doList": ["Lead with the outcome"],
    "dontList": ["Use jargon"],
    "preferredTerms": ["plan", "launch"],
    "avoidTerms": ["synergy"],
    "sampleCopy": ["Your marketing plan, done in minutes."]
  }
}

Example

curl https://www.growiom.com/api/v1/brand-voice -H "Authorization: Bearer $GROWIOM_API_KEY"

Returns: { brandVoice }, or { brandVoice: null } when none is saved. Every field is optional; save at least one.

GET/usage

This month's usage and limits for your plan.

Example

curl https://www.growiom.com/api/v1/usage -H "Authorization: Bearer $GROWIOM_API_KEY"

Returns: { plan, generations: { used, limit }, images: {…}, site_analyses: {…} }