REST API
Read your sites, articles and keywords over HTTP with a bearer API key. Five endpoints, JSON in and out, with the full article including its sources and claims.
The REST API reads what the autopilot has planned and written, and lets you add keywords. It is small on purpose. To make the autopilot do things (plan, publish, refresh), use the MCP server, which has an action for each.
Authentication
Create a key under Account, API keys in the app. Keys start with ca_live_ and are shown once; we store only a hash. Send the key on every request:
Authorization: Bearer ca_live_…
A key can see every site its owner can see.
Base address
https://apexmention.com/api/v1
Endpoints
| Method and path | Returns |
|---|---|
| GET /sites | The sites on the account |
| GET /sites/{siteId}/articles | Up to 200 articles, newest scheduled date first |
| GET /sites/{siteId}/articles/{articleId} | One article in full |
| GET /sites/{siteId}/keywords | Up to 500 keywords, best opportunity first |
| POST /sites/{siteId}/keywords | Adds a keyword to the site |
List sites
curl https://apexmention.com/api/v1/sites -H "Authorization: Bearer $KEY"
{ "data": [ { "id": "…", "url": "https://example.com", "name": "Example", "niche": "…",
"language": "en", "country": "us", "status": "…", "autopilot": true, "created_at": "…" } ] }
List articles
Each item has id, keyword, title, slug, status, scheduled_for, published_at, published_url, word_count and score.
The status is one of planned, generating, review, scheduled, published or failed. An article in review is waiting for a person to approve it.
Get one article
Returns id, keyword, title, slug, status, meta_description, content_markdown, content_html, sources, claims, score, scheduled_for and published_url.
sources is the list of pages research read. claims is the fact-check ledger: each claim in the article with the source it was tied to, and whether one was found. If you publish from the API yourself, these two fields are how you show a reviewer where a statement came from.
Keywords
GET returns id, keyword, intent, cluster, volume, difficulty, metrics_source, opportunity and status for each. volume and difficulty are null when they have not been measured, and metrics_source says where a number came from.
To add one:
curl -X POST https://apexmention.com/api/v1/sites/$SITE/keywords \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"keyword": "standing desk for tall people"}'
It answers 201 with { "ok": true }.
Errors
Errors are JSON with a code and a message:
{ "error": { "code": "not_found", "message": "Site not found" } }
| Status | Code | When |
|---|---|---|
| 401 | unauthorized | The key is missing or wrong |
| 404 | not_found | The site or article does not exist, or the key cannot see it |
| 400 | bad_request | The body is not what the endpoint expects |
What it does not do
There is no endpoint to create a site, edit an article or trigger publishing, and no pagination beyond the limits above. Those actions exist as MCP tools. If you need one of them over plain HTTP, tell us which.