Aautoranko

API reference

Sites

A site is a WordPress website connected to Autoranko through the Autoranko WordPress plugin. Articles, jobs and keyword research all belong to a site, and plan limits are tracked per site, so most integrations start by listing sites to get a site ID.

2 endpointsBase URL https://autoranko.com/api/public/v1Every request needs a bearer token

List sites

GEThttps://autoranko.com/api/public/v1/sites

Returns every site your account owns, newest first. A site is a WordPress install connected through the Autoranko plugin; its id is what the articles, jobs and keyword endpoints take. The list isn't paginated.

Check wp_connected before relying on publishing: it's true once the site owner has authorized Autoranko to publish to WordPress. Without it, jobs still produce drafts, but publishing them fails.

Request

No parameters. Send the request with your token, nothing else.

curl https://autoranko.com/api/public/v1/sites \
  -H "Authorization: Bearer $AUTORANKO_TOKEN"

Response

200OKAll sites the account owns, newest first.

Response bodyapplication/json
  • sitesarray of objects
    The account's sites, newest first.
    sites items(8)Site
    • idstring
      Site ID: a 64-bit integer serialized as a string. Use it as {id} in /sites/{id}/… paths.
    • site_urlstring (uri)
      The site's home URL.
    • site_namestring
      The site title from WordPress (can be empty).
    • domainstring
      The site's hostname. A domain can be registered only once across Autoranko.
    • planstring
      The plan this site's limits are enforced against. It mirrors the owner's subscription.

      One offreestarterpro

    • is_activeboolean
      false once the Autoranko plugin has been deleted from the WordPress site; true again if the plugin registers the site again.
    • wp_connectedboolean
      true when Autoranko is authorized to publish to the site's WordPress. Publishing (POST /jobs/{id}/publish or auto_publish) needs it.
    • created_atstring (date-time)
      When the site was first registered.

Example

Account with one site

GET/sites

Response · 200 OK
{
  "sites": [
    {
      "id": "1",
      "site_url": "https://demo.autoranko.com",
      "site_name": "Autoranko Demo Site",
      "domain": "demo.autoranko.com",
      "plan": "pro",
      "is_active": true,
      "wp_connected": false,
      "created_at": "2026-10-25T19:57:53.200Z"
    }
  ]
}

Errors

ErrorWhen
401missing_tokenThe Authorization: Bearer … header is missing.
401invalid_tokenThe token is malformed, unknown or revoked.
429rate_limitedThe token made more than 120 requests in the last 60 seconds.

Get a site with usage

GEThttps://autoranko.com/api/public/v1/sites/{id}

Returns one site and its usage against the plan's limits. usage.ai_calls_used counts every AI call the site made this calendar month (UTC), against usage.ai_calls_limit: each completed article job uses two (outline and draft), each keyword research request one, and the WordPress plugin's own AI features count too.

usage.articles_limit is how many article jobs the plan allows: per calendar month on paid plans, or once in total on Free (articles_period says which). The response has no articles-used counter. To compute one, count the site's jobs that didn't fail, created this month on a paid plan or ever on Free.

Request

Path parameters
curl https://autoranko.com/api/public/v1/sites/1 \
  -H "Authorization: Bearer $AUTORANKO_TOKEN"

Response

200OKThe site and its usage in the current period.

Response bodyapplication/json
  • siteobject
    The site.
    site keys(8)Site
    • idstring
      Site ID: a 64-bit integer serialized as a string. Use it as {id} in /sites/{id}/… paths.
    • site_urlstring (uri)
      The site's home URL.
    • site_namestring
      The site title from WordPress (can be empty).
    • domainstring
      The site's hostname. A domain can be registered only once across Autoranko.
    • planstring
      The plan this site's limits are enforced against. It mirrors the owner's subscription.

      One offreestarterpro

    • is_activeboolean
      false once the Autoranko plugin has been deleted from the WordPress site; true again if the plugin registers the site again.
    • wp_connectedboolean
      true when Autoranko is authorized to publish to the site's WordPress. Publishing (POST /jobs/{id}/publish or auto_publish) needs it.
    • created_atstring (date-time)
      When the site was first registered.
  • usageobject
    Usage against the site plan's limits.
    usage keys(4)SiteUsage
    • ai_calls_usedinteger
      AI calls the site has made this calendar month (UTC), from every source: each completed article job uses two (outline and draft), each keyword research request one, and the WordPress plugin's AI features count too. SEO toolkit calls (/seo/…) don't: they count against the account's own allowance.
    • ai_calls_limitinteger
      Monthly AI-call allowance of the site's plan (Free 300, Starter 1,500, Pro 6,000).
    • articles_limitinteger
      Article jobs the plan allows per articles_period (Free 3, Starter 8, Pro 30). Jobs that end in failed don't count.
    • articles_periodstring
      lifetime on Free (a one-time allowance), or month (calendar month, UTC) on paid plans.

      One oflifetimemonth

Examples

GET/sites/1

Response · 200 OK
{
  "site": {
    "id": "1",
    "site_url": "https://demo.autoranko.com",
    "site_name": "Autoranko Demo Site",
    "domain": "demo.autoranko.com",
    "plan": "pro",
    "is_active": true,
    "wp_connected": false,
    "created_at": "2026-10-25T19:57:53.200Z"
  },
  "usage": {
    "ai_calls_used": 2,
    "ai_calls_limit": 6000,
    "articles_limit": 30,
    "articles_period": "month"
  }
}

Errors

ErrorWhen
401missing_tokenThe Authorization: Bearer … header is missing.
401invalid_tokenThe token is malformed, unknown or revoked.
404not_foundNo site with this id belongs to your account (Site not found.).
429rate_limitedThe token made more than 120 requests in the last 60 seconds.

API version v1. Every path on this page is relative to https://autoranko.com/api/public/v1.