Developers
The Autoranko API
Everything the dashboard does, as an API: create articles from a topic, read every result, run keyword research, switch AI models, and get signed webhooks when content ships. Base URL https://autoranko.com/api/public/v1 · OpenAPI spec.
Authentication
Create a token in Dashboard → API and send it as a bearer header. Tokens are shown once and can be revoked anytime. Rate limit: 120 requests/minute per token (see the X-RateLimit-* response headers).
curl https://autoranko.com/api/public/v1/me \ -H "Authorization: Bearer ar_live_..."
Quickstart: topic → published article
# 1. Find your site id
curl https://autoranko.com/api/public/v1/sites -H "Authorization: Bearer $TOKEN"
# 2. Create a generation job (starts immediately; add "scheduled_for" to queue it)
curl -X POST https://autoranko.com/api/public/v1/sites/1/jobs \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"topic": "How to winterize a sprinkler system", "target_keyword": "winterize sprinkler system"}'
# 3. Poll until status is "review" (or receive the job.review webhook)
curl https://autoranko.com/api/public/v1/jobs/42 -H "Authorization: Bearer $TOKEN"
# 4. Approve → publishes to your connected WordPress site
curl -X POST https://autoranko.com/api/public/v1/jobs/42/publish -H "Authorization: Bearer $TOKEN"Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /me | Account, plan and site count (whoami) |
| GET | /sites | All sites owned by the account |
| GET | /sites/:id | Site detail + AI-call and article usage |
| GET | /sites/:id/articles | Synced articles, latest version per post (limit/offset/q) |
| GET | /sites/:id/articles/:postId | One article with full HTML |
| GET | /sites/:id/jobs | Generation jobs (filter by status) |
| POST | /sites/:id/jobs | Create a job: topic in → article generated (optionally auto-published or scheduled) |
| GET | /jobs/:id | Job detail incl. outline and article HTML |
| POST | /jobs/:id/publish | Approve a job in review and publish to WordPress |
| POST | /sites/:id/keywords | Keyword research — AI-estimated volume, competition, difficulty, CPC |
| GET | /ai/models | Model catalog + the model configured per pipeline task |
| PUT | /ai/models | Set the model for a task (admin tokens only) |
Webhooks
Add endpoints in Dashboard → API. Events: job.review (article generated, awaiting approval), job.published, job.failed. Each delivery is signed — verify it like this:
// X-Autoranko-Signature: sha256=<hex>
import { createHmac, timingSafeEqual } from "node:crypto";
function verify(rawBody, header, secret) {
const expected = "sha256=" + createHmac("sha256", secret).update(rawBody).digest("hex");
return timingSafeEqual(Buffer.from(expected), Buffer.from(header));
}Errors
Non-2xx responses return {"error": {"code", "message"}}. Codes: missing_token, invalid_token, rate_limited (with Retry-After), not_found, invalid_body, plan_limit, invalid_state, forbidden, upstream_error.
Ship something with it
The free plan includes API access — 3 articles to build against.
Get your API key →