Intelligence API
Premium endpoints that use the full blogAIzer intelligence engine — trend scanning, analytics, competitor analysis. These cost extra credits because they generate strategic value.
POST /v1/ideas
Import externally-sourced ideas into the Ideas Bank. Use this to send topics from Grok, n8n, Make, or any external tool directly into blogAIzer without going through the dashboard.
Credits: free (no generation happens — you provide the ideas)
Request
{
"product_id": "prod_abc123",
"ideas": [
{
"title": "How AI reduces bed waiting times in 2026",
"brief": "Why this is trending now and why it matters to your audience.",
"keywords": ["bed management", "AI hospital", "patient flow"],
"is_trending": true,
"trend_score": 9,
"source": "grok"
}
]
}
| Field | Type | Required | Description |
|---|---|---|---|
product_id |
string | Yes | Product UUID (from GET /v1/config) |
ideas |
array | Yes | Array of ideas to import (max 50 per call) |
ideas[].title |
string | Yes | Idea title — duplicates are skipped automatically |
ideas[].brief |
string | Yes | Rationale or angle for the idea |
ideas[].keywords |
string[] | No | Suggested SEO keywords |
ideas[].is_trending |
boolean | No | Mark as a trending topic (shown in the Trending panel) |
ideas[].trend_score |
number | No | Trend intensity 1–10. Also implies is_trending: true. Maps to priority: ≥8 → high, ≥5 → medium, <5 → low |
ideas[].source |
string | No | Origin label (e.g. "grok", "make", "n8n") |
Response 200 OK
{
"created": 4,
"skipped": 1,
"ideas": [
{ "id": "idea_abc123", "title": "How AI reduces bed waiting times in 2026", "status": "new", "action": "created" },
{ "id": "idea_def456", "title": "Duplicate title already in Ideas Bank", "status": "new", "action": "skipped" }
]
}
Make / n8n scenario
To automate Grok → blogAIzer:
- Trigger: Schedule module (e.g. weekly Monday 8am)
- HTTP GET
https://blogaizer.com/api/generate-grok-prompt?productId=PROD_ID&companyId=COMPANY_ID
— Auth: Authorization: Bearer sk_live_...
— Returns the plain-text prompt to paste into Grok
- Grok API (or manual step): send the prompt, receive JSON output
- HTTP POST
https://blogaizer.com/api/v1/ideas
— Auth: Authorization: Bearer sk_live_...
— Body: { "product_id": "PROD_ID", "ideas": [...] }
> Tip: Use GET /api/v1/config to look up your product_id and companyId values.
POST /v1/intelligence/ideas
Generate 10 curated content ideas based on trends, competitors, and analytics.
Credits: 2 per call (returns 10 ideas)
Request
{
"brand_id": "brd_xyz",
"product_id": "prod_abc",
"count": 10,
"consider": {
"trends": true,
"competitors": true,
"linkedin": true,
"existing_posts": true
}
}
| Field | Type | Required | Description |
|---|---|---|---|
brand_id |
string | Yes | Brand to generate ideas for |
product_id |
string | No | Specific product (all products if empty) |
count |
integer | No | Number of ideas (max 10, default 10) |
consider.trends |
boolean | No | Scan Google Trends + industry RSS |
consider.competitors |
boolean | No | Analyze competitor blogs |
consider.linkedin |
boolean | No | Check LinkedIn trending topics |
consider.existing_posts |
boolean | No | Avoid duplicating published content |
Response 200 OK
{
"ideas": [
{
"title": "Real-Time Bed Dashboards: ROI Calculator for Hospital Directors",
"brief": "Step-by-step ROI calculation framework...",
"type": "content_gap",
"source": "Competitor HospitalFlowPro published about dashboards but missed ROI angle",
"suggested_keywords": ["bed dashboard ROI", "hospital bed analytics"],
"estimated_search_volume": "medium",
"theme": "bed optimization",
"relevance_score": 9
}
],
"credits_used": 2,
"intelligence_summary": "3 ideas from competitor gaps, 2 from trending topics, 3 from content gaps in your theme coverage, 2 seasonal opportunities"
}
| Idea Type | Description |
|---|---|
trend |
Based on trending topics |
competitor_gap |
Gap found in competitor content |
content_gap |
Missing coverage in your themes |
seasonal |
Seasonal or timely opportunity |
follow_up |
Follow-up to performing content |
POST /v1/intelligence/analytics
Get AI-powered analysis of published content performance. Requires GA4 connected.
Credits: 1 per call
Request
{
"brand_id": "brd_xyz",
"date_range": "30d"
}
| Field | Type | Required | Description |
|---|---|---|---|
brand_id |
string | Yes | Brand to analyze |
date_range |
string | No | 7d, 30d, or 90d (default: 30d) |
Response 200 OK
{
"top_performing": [
{ "title": "...", "url": "...", "pageviews": 847, "avg_read_time": "4:32", "trend": "up" }
],
"declining": [
{ "title": "...", "url": "...", "pageviews": 123, "drop_percent": 34, "suggested_action": "refresh" }
],
"best_publish_time": { "day": "tuesday", "hour": 9, "confidence": 0.78 },
"best_performing_theme": "bed optimization",
"worst_performing_theme": "data management",
"keyword_wins": [
{ "keyword": "AI bed management", "position": 4, "trend": "improving" }
],
"keyword_losses": [
{ "keyword": "hospital efficiency", "position": 23, "previous": 12, "action": "refresh post" }
],
"recommendations": [
"Your bed optimization content gets 3x more engagement than other themes. Increase frequency.",
"Tuesday 9am posts get 47% more views than other times. Prioritize this slot.",
"3 posts are >3 months old and declining. Schedule refreshes."
],
"credits_used": 1
}
POST /v1/intelligence/follow-ups
Generate follow-up ideas for top-performing posts.
Credits: 2 per call
Request
{
"brand_id": "brd_xyz",
"post_url": "https://acmehealthcare.com/blog/ai-er-wait-times"
}
Or let blogAIzer auto-select top posts:
{
"brand_id": "brd_xyz",
"auto_select": true
}
Response 200 OK
{
"original_post": { "title": "...", "pageviews": 847, "avg_read_time": "4:32" },
"follow_ups": [
{ "type": "sequel", "title": "...", "reason": "High read time suggests readers want more depth" },
{ "type": "simplify", "title": "...", "reason": "42% bounce suggests content too technical for some" },
{ "type": "advanced", "title": "...", "reason": "Top search query not fully covered" },
{ "type": "adjacent", "title": "...", "reason": "Exit page data shows readers go to competitor for X" },
{ "type": "refresh", "title": "...", "reason": "Post is 4 months old, data needs updating" }
],
"credits_used": 2
}
| Follow-up Type | Description |
|---|---|
sequel |
Deeper dive into the same topic |
simplify |
Simplified version for broader audience |
advanced |
Technical deep-dive for experts |
adjacent |
Related topic readers are interested in |
refresh |
Updated version of aging content |
