API Reference — Overview
REST API with 137 endpoints. Sanctum auth, JSON, async jobs via 202, credit-based actions.
Rankion ships a full REST API with 137 endpoints under version v1. Anything you can click in the web UI you can also automate over HTTP — generate articles, track AI visibility, pull backlinks, expand keywords, build reports.
- Base URL:
https://rankion.ai/api/v1 - Auth: Bearer token via Sanctum (see Authentication)
- Format: JSON for all requests and responses
- Team scoping: every endpoint is team-scoped — cross-team access returns
403
Quick start
TOKEN="<your-sanctum-token>"
BASE="https://rankion.ai/api/v1"
curl -H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
"$BASE/projects"
Response (truncated):
{
"data": [
{ "id": 1, "name": "My Project", "domain": "example.com" }
],
"meta": { "total": 1, "per_page": 25, "current_page": 1, "last_page": 1 }
}
Topics
- Authentication & Tokens — create, rotate, and revoke Sanctum bearer tokens
- Credits & Rate Limits — what costs how much, when 402 hits, where the limits are
- Projects — CRUD plus tracking projects (AI visibility wizard)
- Articles — generate, score, optimize, repurpose, publish
Response conventions
| Code | Meaning |
|---|---|
200 |
Success, JSON response |
201 |
Resource created |
202 |
Async job dispatched — response includes ID for polling |
400 / 422 |
Validation error: {message, errors:{field:[reason]}} |
402 |
Insufficient credits — team balance is too low for the action |
403 |
IDOR / team mismatch — token does not belong to the affected team |
404 |
Resource not found (or cross-team hidden — no existence leak) |
409 |
Conflict (for example, the article is already publishing) |
429 |
Rate limit exceeded |
Async jobs
Any action longer than ~10 seconds (article generation, keyword expansion, backlink pull, reality-check reports, page audits, …) runs as a queue job. Pattern:
- You send
POST /v1/articles/{id}/generate→ server replies202 Acceptedwith, for example,{article_id, status: "pending"}. - You poll
GET /v1/articles/{id}(or the matching status endpoint) every 5 seconds. - As soon as
processing_status == "ready"(orstatus == "completed") the action is finished.
Concrete polling patterns (curl loops) are in the module pages and the article workflow.
Tool families and their endpoints
| Family | Count | Top endpoint |
|---|---|---|
| AI Visibility Tracking (projects, keywords, prompts, cited sources, insights, reality check) | ~30 | POST /v1/tracking-projects/analyze |
| Articles (CRUD, generate, score, optimize, repurpose, publish, versions, freshness) | ~17 | POST /v1/articles/{id}/generate |
| SEO suite (rank tracker, explorer, gap, site audit, backlinks) | ~30 | POST /v1/explorer |
| Keywords (research and expansion) | 6 | POST /v1/keywords/research |
| Content Intelligence (storylines, style profiles, knowledge base, orphan scans) | ~14 | POST /v1/projects/{p}/orphan-scans/discover |
| Image Gallery (CRUD, edit, share, bulk) | ~15 | POST /v1/images/{id}/edit |
| AI Tools (agentic chat, AI scanner, humanizer, content optimizer) | ~10 | POST /v1/agentic/chat |
| Competitor / Audit / Community / Site Monitor | ~15 | POST /v1/content-audits |
| Automation (bulk, autopilot, pipelines) | ~10 | POST /v1/bulk-generations |
| Page Deep Audit (Vision + AI render) | 3 | POST /v1/page-audit |
| Reports & Cross-Module Correlation | 4 | POST /v1/tracking-projects/{id}/generate-report |
| Wiki, Chat Shares, Plans, Account, Google Integrations | ~20 | GET /v1/wiki/search |
The full table with every endpoint, body schema, and credit cost lives in the single source of truth docs/API_REFERENCE.md — also as live tables under rankion.ai/settings/api-documentation.
SDKs / Skills
- Claude skill
rankion-api— we ship a ready-to-use skill (.claude/skills/rankion-api.md) that Claude Code can use directly to call Rankion endpoints. - Companion skill
rankion-agent— delegates entire multi-step requests to the master agent instead of orchestrating individual endpoints. See Agentic Chat. - MCP server — the master agent is exposed as an MCP server for AI agents (
POST /v1/agentic/chat). One endpoint is enough to reach more than 12 meta tools.
Continue with Authentication.