BabyLoveGrowth API

Use the BabyLoveGrowth API to fetch generated articles programmatically and push them anywhere.

The BabyLoveGrowth API lets you programmatically fetch your articles and push them into any CMS or backend — using code you write. Authenticate with an API key and access your content via REST endpoints.

Note: How articles look on your site (formatting, mobile-friendliness) depends on your website's theme and CSS. We deliver semantic content; your theme controls the styling. Learn more →

How to Connect the API

Open Settings → Integrations, find API under the Developer tab, and click Connect to launch the setup wizard. The wizard walks you through 6 short steps, mirrored below. Once you generate a key, the API card moves to Active Connections with a Manage button.

Step 1: This is a developer integrationv

Our API lets you fetch your articles programmatically and push them to any CMS or backend — using code you write.

Important: This requires writing code (Node.js, Python, curl, etc.). If you want a no-code connection, use one of the other integrations instead.

Step 2: Generate your API keyv

In the wizard, click Generate API Key, then Copy it and store it securely.

Important: Never expose your API key in client-side code or public repos. Rotate it immediately if it gets leaked.

Step 3: Authenticate your requestsv

Every API request needs these two headers. Add them to all your calls:

  • X-API-Key: <your-api-key>
  • Content-Type: application/json

Base URL:https://api.babylovegrowth.ai/api/integrations

Step 4: Fetch your articlesv

Use a GET request to list your articles. The list endpoint returns summaries only (no content_html or content_markdown):

curl -X GET "https://api.babylovegrowth.ai/api/integrations/v1/articles" \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json"

Example Response:

[
{
  "id": 151241,
  "title": "Article Title",
  "slug": "article-slug",
  "hero_image_url": "https://...",
  "languageCode": "en",
  "meta_description": "Meta description for SEO...",
  "excerpt": "Short excerpt from the article...",
  "orgWebsite": "https://your-site.com",
  "created_at": "2026-01-20T09:59:49.132Z",
  "seedKeyword": "main keyword",
  "keywords": ["keyword1", "keyword2"]
}
]

Get one article (full content): use the article id from the list response to get full content_html and content_markdown.

curl -X GET "https://api.babylovegrowth.ai/api/integrations/v1/articles/12345" \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json"
{
"id": 12345,
"title": "Sample Article Title",
"slug": "sample-article-title",
"content_markdown": "# Sample...",
"content_html": "<h1>Sample...</h1>",
"jsonLd": { "@context": "https://schema.org", "@type": "Article" },
"faqJsonLd": { "@context": "https://schema.org", "@type": "FAQPage" },
"meta_description": "Example meta description",
"hero_image_url": "https://path-to-image.jpg",
"orgWebsite": "https://your-website.com",
"created_at": "2025-01-15T10:30:00.000Z",
"seedKeyword": "example",
"keywords": ["keyword1", "keyword2"]
}

Replace 12345 with the article id from the list response.

Step 5: Paginate large resultsv

Control how many articles you fetch at once using query parameters:

  • limit — number of articles to return (max: 50)

  • offset — number of articles to skip for pagination (default: 0)

Example: get first 5 articles

curl -X GET "https://api.babylovegrowth.ai/api/integrations/v1/articles?limit=5&offset=0" \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json"

Node.js: fetch every article

async function fetchAllArticles() {
const allArticles = [];
let offset = 0;
const limit = 50;

while (true) {
const res = await fetch(
`https://api.babylovegrowth.ai/api/integrations/v1/articles?limit=${limit}&offset=${offset}`,
{ headers: { 'X-API-Key': process.env.BABYLOVE_API_KEY } }
);
if (!res.ok) throw new Error(`API error: ${res.status}`);

  const articles = await res.json();
  if (articles.length === 0) break;

  allArticles.push(...articles);
  if (articles.length < limit) break;
  offset += limit;

}

return allArticles;
}

Tips:

  • Articles are sorted newest first
  • If a response returns fewer articles than your limit, you've reached the end

  • Use offset = (page - 1) * limit for page-based navigation

Step 6: Map fields to your CMSv

Each article returns these fields. Map them to what your CMS expects:

  • title — post title

  • content_html — full HTML; use for most CMS platforms

  • content_markdown — Markdown version; use if your CMS prefers it

  • slug — URL-friendly post identifier

  • meta_description — SEO meta description

  • hero_image_url — featured image URL

  • jsonLd / faqJsonLd — article schema markup for SEO

Node.js: sync one article into your CMS

import fetch from 'node-fetch';

async function syncArticle(id) {
const res = await fetch(`https://api.babylovegrowth.ai/api/integrations/v1/articles/${id}`, {
headers: { 'X-API-Key': process.env.BABYLOVE_API_KEY },
});
const article = await res.json();

// Upsert into your CMS
await fetch('https://your-cms.example.com/posts', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
slug: article.slug || article.id,
title: article.title,
html: article.content_html,
description: article.meta_description,
language: article.languageCode,
}),
});
}

For real-time pushes instead of polling, use the

Webhooks

integration.

Troubleshooting & FAQv

Getting 401 Unauthorized?

Check your API key and header spelling. Ensure you're using X-API-Key: <key> format.

Getting 404 errors?

The article ID may not exist in your account. Verify the ID by listing all articles first.

Hitting rate limits?

Add exponential backoff and cache responses where possible. Avoid polling too frequently.

What format should I use — HTML or Markdown?

Use content_html for most modern CMS platforms. Use content_markdown if your CMS prefers Markdown.

Can I use this with any CMS?

Yes. The API returns standard JSON. You can integrate with any platform that accepts programmatic content creation.

How do I get notified when new articles are published?

Use the

Webhooks

integration for real-time push notifications instead of polling the API.

Need more help?

Contact support via the chat icon in the bottom-right corner.