API Reference
This page is the developer reference for the REST API v1: 400+ endpoints, bearer-token authentication and programmatic access to every feature.
Integrate AI content generation, SEO analysis, keyword research, and content management into your applications. Authenticate with bearer tokens via Laravel Sanctum.
Connect in 60 seconds
One Sanctum token, three ways in. Everything is included in every plan — even the free plan with 50 credits.
Every endpoint becomes a typed tool for Claude & AI agents.
https://rankion.ai/mcp
A single markdown file that Claude Code loads natively.
https://rankion.ai/claude-skillMachine-readable for n8n, Zapier, the ChatGPT connector, and your own agents.
/api/v1/openapi.yaml ↓Authentication
All API requests require a bearer token. Create your token under Settings → API Tokens in the dashboard.
Accept: application/json with every request, and additionally Content-Type: application/json for POST/PUT requests.
Errors & status codes
| Code | Meaning |
|---|---|
200 | Success |
201 | Resource created |
202 | Accepted – background processing started |
204 | Deleted (no content) |
401 | Not authenticated – invalid token |
402 | Insufficient credits |
403 | No permission for this resource |
404 | Resource not found |
422 | Validation error – check the parameters |
429 | Rate limit reached |
500 | Server error |
Credit system
Some endpoints consume credits. Usage is checked before execution. If your balance is insufficient, you'll receive a 402 error.
| Endpoint | Credits |
|---|---|
| AI Scanner – Detection | 2 Credits |
| AI Scanner – Humanization | 4+ Credits |
| Keyword research | 5 Credits |
| Image generation | 5 Credits |
| Content Audit | 10 Credits |
| Article generation | 10+ Credits |
| Bulk Generation | 4 / article |
| Competitor analysis | 20 Credits |
Team
Retrieve information about your current team.
Returns team info with plan, credits, and statistics.
Projects
Manage projects. Each project has its own domain, language, and brand voice.
List all of the team's projects with brand voice.
Single project with brand voice and the last 10 articles.
Create a new project.
| Parameter | Type | Info |
|---|---|---|
name | string | Required Project name |
domain | string | Optional Website URL |
language | string | Optional de, en, es, fr (default: de) |
description | string | Optional Project description |
Update a project. Same parameters as POST (all optional).
Delete the project and all associated data. Not reversible.
Articles
Manage, score, optimize, and check the freshness of articles.
Paginated list of a project's articles (20 per page).
Retrieve a single article with all details (content, scores, metadata).
Create a new article manually (not generated).
| Parameter | Type | Info |
|---|---|---|
title | string | Required |
content | string | Required HTML content |
target_keyword | string | Optional |
language | string | Optional de, en, es, fr |
status | string | Optional draft, published |
Update an article (title, content, status, meta_title, meta_description, target_keyword).
Delete an article.
Start SEO scoring as a background process. Returns 202 Accepted.
Start content optimization based on a URL.
| Parameter | Type | Info |
|---|---|---|
url | string | Required URL of the existing article |
Check content freshness: age, score, status (fresh/aging/stale/critical).
Retrieve internal linking suggestions for an article.
Keywords
Manage keywords and run AI-based keyword research.
Paginated list of a project's keywords.
Add a keyword.
| Parameter | Type | Info |
|---|---|---|
keyword | string | Required min. 2 characters |
search_volume | integer | Optional |
difficulty | integer | Optional 0-100 |
language | string | Optional de, en, es, fr |
Delete a keyword.
AI-based keyword research with search volume and difficulty.
| Parameter | Type | Info |
|---|---|---|
keyword | string | Required min. 2 characters |
language | string | Optional de, en, es, fr |
country | string | Optional Country code (default: de) |
Images
Manage generated images.
List all images of a project.
Retrieve a single image with metadata.
Delete an image.
Style Profiles
Create and manage writing style profiles for consistent content.
All style profiles of a project.
Create a style profile.
| Parameter | Type | Info |
|---|---|---|
name | string | Required |
tone | string | Optional e.g. professional, casual, academic |
writing_style | string | Optional |
vocabulary_level | string | Optional |
sentence_structure | string | Optional |
rules | object | Optional Custom rules |
Update a style profile.
Delete a style profile.
Knowledge Base
Upload knowledge documents that are used as context during content generation.
List all documents in the knowledge base.
Create a new knowledge document.
| Parameter | Type | Info |
|---|---|---|
title | string | Required |
content | string | Required Text content |
type | string | Optional text, url, pdf |
Delete a knowledge document.
Link Lists
Link lists for internal and external linking in generated articles.
All link lists of a project.
Create a link list.
| Parameter | Type | Info |
|---|---|---|
name | string | Required |
links | array | Required Array of {url, anchor_text, description} |
Delete a link list.
Goals
Define content goals that are taken into account during generation.
List all goals (system + custom).
Create a custom goal.
| Parameter | Type | Info |
|---|---|---|
name | string | Required |
description | string | Optional |
prompt_instructions | string | Optional AI instructions |
metrics | object | Optional Metrics |
Delete a custom goal (system goals are protected).
Editorial calendar
Manage the editorial calendar for content planning.
List calendar entries. Optionally filter with ?from=2026-01-01&to=2026-03-31.
Create a calendar entry.
| Parameter | Type | Info |
|---|---|---|
title | string | Required |
planned_date | date | Required YYYY-MM-DD |
status | string | Optional planned, in_progress, published |
notes | string | Optional |
Update a calendar entry.
Delete a calendar entry.
AI Scanner
Detect and humanize AI-generated text.
Analyze text for AI generation.
| Parameter | Type | Info |
|---|---|---|
text | string | Required min. 50 characters |
scan_type | string | Optional quick, deep (default: quick) |
Humanize an article (background process, 202 Accepted).
| Parameter | Type | Info |
|---|---|---|
article_id | integer | Required |
level | string | Optional light, medium, aggressive |
Content Audit
Automatically analyze and score website content.
List all content audits of the team.
Start a new content audit (background process).
| Parameter | Type | Info |
|---|---|---|
source_url | string | Required URL of the website to analyze |
type | string | Optional full, quick |
Retrieve a single audit with all analyzed pages.
Competitor analysis
Analyze competitors and identify content gaps.
List all competitor analyses.
Start a new competitor analysis.
| Parameter | Type | Info |
|---|---|---|
project_id | integer | Required |
domain | string | Required Domain without protocol |
language | string | Optional de, en, es, fr |
competitor_limit | integer | Optional max. number of competitors |
Retrieve the analysis result with competitors and content gaps.
AI Visibility Tracking
Monitor your domain's visibility in AI search engines (ChatGPT, Perplexity, Gemini).
List all tracking projects with scores.
Single tracking project with visibility history and keyword details.
Start a manual tracking run (background process).
Content generation
Generate articles and images with AI.
Generate an AI article (background process, 202 Accepted).
| Parameter | Type | Info |
|---|---|---|
project_id | integer | Required |
keyword | string | Required Main keyword |
type | string | Optional blog-post, guide, listicle, review, comparison, pillar |
length | integer | Optional 300-5000 words (default: 1500) |
tone | string | Optional e.g. professional, casual |
language | string | Optional de, en, es, fr |
Generate an AI image (background process, 202 Accepted).
| Parameter | Type | Info |
|---|---|---|
project_id | integer | Required |
prompt | string | Required Image description |
style | string | Optional photo, illustration, 3d, watercolor |
Bulk Generation
Generate multiple articles at once.
List all bulk generations with status.
Start a bulk generation.
| Parameter | Type | Info |
|---|---|---|
project_id | integer | Required |
keywords | array | Required Array of keywords |
settings | object | Optional {type, length, tone, language} |
Retrieve the status of a bulk generation with individual items.
Autopilot
Configure automatic content generation on a schedule.
List all autopilot schedules.
Create an autopilot schedule.
| Parameter | Type | Info |
|---|---|---|
project_id | integer | Required |
name | string | Required |
frequency | string | Required daily, weekly, biweekly, monthly |
keyword_source | string | Optional manual, keyword_list, ai_suggest |
keywords | array | Optional If manual: keyword array |
settings | object | Optional {type, length, tone} |
Update the schedule. Additionally: is_active (boolean) to activate/deactivate.
Delete the schedule.
Credits
Query credit balance and history.
Retrieve the current balance and plan.
Paginated credit history (20 entries per page).
Blog (Admin)
Manage blog categories and posts.
Categories
List all blog categories.
Create a category.
| Parameter | Type | Info |
|---|---|---|
name | string | Required |
slug | string | Optional (auto-generated) |
description | string | Optional |
Update a category.
Delete a category.
Posts
List all blog posts (paginated).
Retrieve a single blog post.
Create a blog post.
| Parameter | Type | Info |
|---|---|---|
title | string | Required |
content | string | Required |
category_id | integer | Optional |
status | string | Optional draft, published |
locale | string | Optional de, en, es, fr |
Update a blog post.
Delete a blog post.
Health Check
Public endpoint (no token required) for monitoring.
Returns the server status. No authentication required.
Ready to use the API?
Create a free account, grab your token under Settings → API and get going. 50 free credits, no credit card.