API Documentation

Integrate FortiLabs Pro Blogger AI content generation into your applications with our powerful REST API.

API Version 2.0

Overview

The FortiLabs API enables you to programmatically generate AI-powered articles, manage WordPress sites, and automate your content workflow. Our API is built on REST principles with JSON responses.

Base URL

https://writer.fortilabs.dev/api/v2

Format

All requests and responses use JSON format

Security

HTTPS required, Bearer token authentication

Quick Start

cURL Example
curl -X POST "https://writer.fortilabs.dev/api/v2/articles/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Best Gardening Tips", "domain_id": 123}'

Authentication

All API requests require authentication using a Bearer token. Include your API key in the Authorization header:

Authorization Header
Authorization: Bearer your_api_key_here

Getting Your API Key

  1. Log in to your FortiLabs dashboard
  2. Navigate to Settings in the sidebar
  3. Click API Keys tab
  4. Click Generate New Key
  5. Copy and securely store your key

Security Notice

Never expose your API key in client-side code or public repositories. If compromised, regenerate it immediately.

Rate Limits

API requests are rate-limited based on your subscription plan:

Plan Requests/Minute Articles/Day Concurrent
Free1051
Starter30502
Professional602005
Enterprise120Unlimited10

Rate limit headers are included in every response:

Response Headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1703500800

Articles

Generate AI-powered articles and publish them directly to your WordPress sites.

POST /articles/generate

Generate a new article using AI and optionally publish to WordPress.

Request Parameters

ParameterTypeDescription
titleRequiredstringArticle title (10-200 characters)
domain_idRequiredintegerTarget WordPress domain ID
category_idOptionalintegerWordPress category ID
featured_imageOptionalbooleanGenerate AI featured image (default: true)
modeOptionalstringAI mode: legacy, pro, elite (default: legacy)
statusOptionalstringPost status: draft, publish (default: publish)

Response

Success Response (200)
{
  "success": true,
  "data": {
    "article_id": 12345,
    "wordpress_id": 789,
    "title": "Best Gardening Tips for Beginners",
    "word_count": 2847,
    "url": "https://yourblog.com/gardening-tips/",
    "credits_used": 0.15
  }
}
GET /articles

List all generated articles with pagination.

ParameterTypeDescription
pageintegerPage number (default: 1)
limitintegerResults per page (max: 100)
domain_idintegerFilter by domain

AI Models

FortiLabs uses multiple premium AI models to generate high-quality, human-like content optimized for ad network approval.

Google

Gemini 2.5 / GPT-5 Omni

Flagship models for Legacy and Pro Blogger modes. Generates engaging, SEO-optimized content.

Legacy & Pro Blogger
Google

Google Gemini Pro

Google's advanced AI for diverse, factual content generation with excellent knowledge coverage.

Alternative Engine
Anthropic

Claude 4.5 Sonnet

Anthropic's most capable model for Elite Pro+ mode. Produces premium, virtually undetectable content.

Elite Pro+ Mode
Nano Banana

Nano Banana Image AI

Advanced image generation for featured images and in-article visuals. High-resolution output.

Image Generation

API Pricing

API usage is billed using credits. Purchase credits from your dashboard and use them for article generation.

Legacy Mode

$0.15/article
  • Gemini 2.5 Flash
  • 2500+ words
  • Featured image
  • 80% approval rate

Elite Pro+

$0.50/article
  • Claude 4.5 Sonnet
  • 3500+ words
  • HD images
  • 99.9% approval

Title Generation

$0.01/title
  • AI-powered titles
  • SEO optimized
  • Bulk generation
  • Up to 20 at once

Error Handling

The API uses standard HTTP status codes and returns consistent error responses.

CodeMeaningResolution
200SuccessRequest completed successfully
400Bad RequestCheck request parameters
401UnauthorizedInvalid or missing API key
402Payment RequiredInsufficient credits
429Too Many RequestsRate limit exceeded, wait and retry
500Server ErrorContact support
Error Response Example
{
  "success": false,
  "error": {
    "code": "INSUFFICIENT_CREDITS",
    "message": "You need $0.15 credits. Current balance: $0.10"
  }
}

SDKs & Libraries

Official SDKs are coming soon. In the meantime, you can use our API directly with any HTTP client.

PHP SDK

Coming Q1 2025

Node.js SDK

Coming Q1 2025

Python SDK

Coming Q2 2025