Content API reference

The public-article-api endpoint: list published articles with limit and offset, fetch one by id, response fields and errors.

The content API is read-only. It returns the published articles of the project that owns your API key, as JSON, so your site can show them on its own pages.

Endpoint

GET https://odbowhcyfpzsifyibsdu.supabase.co/functions/v1/public-article-api

One address for both calls. Send your key in the X-Rankfender-Key header (see Your API key). Only articles with the status "published" are returned.

List your articles

Without an id, the API returns a page of articles, newest first.

ParameterDefaultWhat it does
limit10How many articles to return, from 1 to 100.
offset0How many articles to skip. Use it with has_more to page through.
curl "https://odbowhcyfpzsifyibsdu.supabase.co/functions/v1/public-article-api?limit=10&offset=0" \
  -H "X-Rankfender-Key: rfk_your_key"
{
  "success": true,
  "articles": [
    {
      "id": "8c1f…",
      "title": "…",
      "description": "…",
      "language": "en",
      "published_at": "2026-10-14T09:12:00Z",
      "updated_at": "2026-10-14T09:30:00Z"
    }
  ],
  "pagination": { "limit": 10, "offset": 0, "count": 1, "total": 1, "has_more": false }
}

The list gives each article's id, title, description, language and dates, without the content. Take the id from here to fetch one article.

Get one article

With id, the API returns that article with its full content as HTML.

curl "https://odbowhcyfpzsifyibsdu.supabase.co/functions/v1/public-article-api?id=ARTICLE_ID" \
  -H "X-Rankfender-Key: rfk_your_key"
{
  "success": true,
  "article": {
    "id": "8c1f…",
    "title": "…",
    "content": "<h2>…</h2><p>…</p>",
    "description": "…",
    "language": "en",
    "published_at": "2026-10-14T09:12:00Z",
    "updated_at": "2026-10-14T09:30:00Z"
  }
}

Fields

FieldMeaning
idThe article's identifier.
titleThe article title.
contentThe article body as HTML (single article only).
descriptionThe meta description.
languageThe project's language code, for example en or fr.
published_atThe publication date, or the creation date if none was set.
updated_atThe last change.
pagination.total / has_moreHow many published articles exist, and whether another page follows.

Errors

StatusMessageWhat to do
401"API key required. Pass via X-Rankfender-Key header."Add the header.
401"Invalid API key"Check the key; generate a new one if it was replaced.
404"Article not found or not published"The id is wrong, belongs to another project, or the article is not published.
500"Internal server error"Try again; contact support if it persists.

Example in JavaScript

Call the API from server-side code so the key never reaches visitors' browsers.

// Server-side code (Node 18+, Next.js server component, etc.)
const res = await fetch(
  "https://odbowhcyfpzsifyibsdu.supabase.co/functions/v1/public-article-api?limit=10",
  { headers: { "X-Rankfender-Key": process.env.RANKFENDER_KEY } }
);
const { articles, pagination } = await res.json();

Note

The card's "Direct API" example is the one to copy. Its Next.js, React, Vue and iframe examples load a script that is not available, so use plain HTTP calls like the ones on this page.