Content API

List posts

Every published post, newest first, with cursor paging and filters by content type and time.

Response. { "blog": {…}, "nav": […], "posts": [summary, …], "cursor": "…" | null }. Each summary carries slug, title, contentType, metaDescription, canonicalPath, canonicalUrl, heroImageUrl, readingMinutes, publishedAt and updatedAt, which is everything a listing page or a sitemap needs. Keep requesting with the returned cursor until it is null to get every post.

The unfiltered list is the source of truth for what exists. A post that disappears from it was removed: drop its page and its sitemap entry. A since filter only returns changed posts, so it never tells you about removals.

Revnu counts your site as connected when it reads the first page of the unfiltered list. A site that only ever sends filtered requests is never counted: I've Connected It is refused, and its posts show as "Not on site yet" in the dashboard. See Before you click I've Connected It.

400 for an unrecognised type or a non-numeric since or limit.

get/api/content/v1/posts

Request

  • Base URL: https://revnu.com
  • URL: https://revnu.com/api/content/v1/posts
  • Auth: HTTP bearer

Query parameters

typestring

Filter by content type, e.g. how_to.

sinceinteger

Epoch milliseconds: only posts published or updated after this.

limitinteger

Default 50, up to 200.

cursorstring

The cursor from the previous page.

Response

{ "blog": {…}, "nav": […], "posts": [summary, …], "cursor": "…" | null }. Each summary carries slug, title, contentType, metaDescription, canonicalPath, canonicalUrl, heroImageUrl, readingMinutes, publishedAt and updatedAt, which is everything a listing page or a sitemap needs. Keep requesting with

cursorstring nullable required

Changes

No recorded changes to this operation across all 1 revision of this API.