API Documentation

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

Authentication

Include your API key in the request header:

X-API-Key: your_api_key_here

Base request template

curl -X GET "https://api.babylovegrowth.ai/api/public/<endpoint>" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json"

Manage your key in Dashboard → Settings → Integrations.

Articles

GET/api/integrations/v1/articles

Retrieve articles for your organization. Supports pagination with limit and offset query parameters. Default limit is 100, maximum is 500. Articles are ordered by creation date (newest first).

Query Parameters

limit (optional): Number of articles to return. Default: 100, Maximum: 500

offset (optional): Number of articles to skip. Default: 0. Use for pagination.

Note: Articles are ordered by creation date (newest first). To fetch all articles, make multiple requests with increasing offset values.

Example

# Get first 100 articles (default)
curl -X GET "https://api.babylovegrowth.ai/api/integrations/v1/articles" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json"

# Get up to 500 articles (maximum)
curl -X GET "https://api.babylovegrowth.ai/api/integrations/v1/articles?limit=500" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json"

# Paginate: Get next 100 articles (offset 100)
curl -X GET "https://api.babylovegrowth.ai/api/integrations/v1/articles?limit=100&offset=100" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json"

Response

[
  {
    "id": 12345,
    "title": "Sample Article Title",
    "slug": "sample-article-title",
    "hero_image_url": "https://example.com/image.jpg",
    "languageCode": "en",
    "meta_description": "Article meta description",
    "excerpt": "Article excerpt...",
    "orgWebsite": "https://your-website.com",
    "created_at": "2025-01-15T10:30:00.000Z",
    "seedKeyword": "example",
    "keywords": ["keyword1", "keyword2"]
  }
]
GET/api/integrations/v1/articles/{id}

Retrieve a specific article by its ID

Example

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"

Response

{
  "id": 12345,
  "title": "Sample Article Title",
  "slug": "sample-article-title",
  "content_markdown": "# Sample...",
  "content_html": "<h1>Sample...</h1>",
  "meta_description": "...",
  "hero_image_url": "https://.../image.jpg",
  "orgWebsite": "https://your-website.com",
  "created_at": "2025-01-15T10:30:00.000Z",
  "seedKeyword": "example",
  "keywords": ["keyword1", "keyword2"]
}

Backlinks

GET/api/integrations/v1/backlinks

Retrieve given and received backlinks

Example

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

Response

{
  "given": [
    {
      "url": "https://partner.com/post",
      "isBacklinkPresent": true,
      "article": { "publishedUrl": "https://your.com/a", "publishedAt": "2025-01-09T12:00:00.000Z" },
      "targetOrgWebsite": { "url": "https://partner.com" }
    }
  ],
  "received": [
    {
      "url": "https://other.com/mention",
      "isBacklinkPresent": true,
      "article": { "publishedUrl": "https://your.com/b", "publishedAt": "2025-01-10T12:00:00.000Z" },
      "sourceOrgWebsite": { "url": "https://other.com" }
    }
  ]
}

GEO Audit

GET/api/integrations/v1/geo-audit/issues

Retrieve the latest GEO audit issues

Example

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

Response

{
  "auditDate": "2025-01-15T10:30:00.000Z",
  "issues": [
    {
      "id": 101,
      "issueType": "META_TITLE",
      "description": "Missing meta title",
      "severity": "HIGH",
      "action": "Add a descriptive meta title",
      "page": { "id": 1, "url": "https://your.com" },
      "createdAt": "2025-01-15T10:30:00.000Z",
      "markedAsResolvedAt": null
    }
  ]
}

RSS Feed

GET/api/integrations/v1/rss

Retrieve RSS feed for your organization

Example

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

Response

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Your Organization Blog</title>
    <description>Latest articles from your organization</description>
    <link>https://your-website.com</link>
    <item>
      <title>Sample Article Title</title>
      <description>Article description...</description>
      <link>https://your-website.com/sample-article</link>
      <pubDate>Wed, 15 Jan 2025 10:30:00 GMT</pubDate>
    </item>
  </channel>
</rss>

Webhook Integration

POST{https://your-webhook-endpoint}

Receive real-time notifications when new content is generated. We send a POST request to your endpoint with Bearer token authentication.

Request Details

Method: POST

Authentication: Bearer token in header

Authorization: Bearer your-webhook-secret

Payload Format

{
  "id": 10,
  "title": "Test Article for Webhook Integration",
  "metaDescription": "Test article to verify webhook integration is working correctly",
  "content_html": "<h1>Test Article for Webhook Integration</h1>",
  "content_markdown": "# Test Article for Webhook Integration",
  "languageCode": "en",
  "publicUrl": "https://example.com/test-article-webhook",
  "createdAt": "2025-03-20T03:41:18.570Z"
}

Example Request

# Your webhook endpoint will receive this request:
curl -X POST "https://your-webhook-endpoint.com/webhook" \
  -H "Authorization: Bearer your-webhook-secret" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 10,
    "title": "Test Article for Webhook Integration",
    "metaDescription": "Test article to verify webhook integration is working correctly",
    "content_html": "<h1>Test Article for Webhook Integration</h1>",
    "content_markdown": "# Test Article for Webhook Integration",
    "languageCode": "en",
    "publicUrl": "https://example.com/test-article-webhook",
    "createdAt": "2025-03-20T03:41:18.570Z"
  }'

# Your endpoint should respond with:
HTTP/1.1 200 OK
Content-Type: application/json

{"status": "received"}

Note: Your webhook endpoint should respond with a 200 status code to acknowledge receipt of the notification. The Bearer token is the webhook secret you configure when setting up webhook integration.

Important Notes

  • All requests must include the X-API-Key header
  • API responses are returned in JSON format
  • Replace {id} with the actual article ID
  • Keep your API key secure and do not expose it in client-side code
  • We are commited to maintaining all previous endpoints for backwards compatibility, but we recommend using the new endpoints for new features and improvements.