For developers

Build on top of NexoFlow

The NexoFlow Content API lets you use NexoFlow as a headless CMS backend. Fetch published content, handle webhooks for instant revalidation, and integrate into any frontend framework.

Content API

Fetch content in seconds

A single authenticated GET request returns your published content as typed JSON. Works with any language or framework that can make an HTTP request.

  • JWT-based authentication
  • Paginated, filterable responses
  • Full post body, metadata, and SEO fields
  • Consistent JSON schema across all content types
fetch-posts.ts
import { NexoFlow } from "nexoflow-sdk"

const nf = new NexoFlow({
  apiKey: process.env.NEXOFLOW_API_KEY!,
  revalidate: 60,
})

const { data } = await nf.posts.list({ limit: 10 })
// data.posts       → PostListItem[]
// data.pagination  → { page, limit, total, hasMore }

REST API

Clean, predictable endpoints

Every endpoint follows REST conventions. Responses are typed JSON with consistent error codes and pagination metadata.

API endpointsBase: api.nexoflow.ai/v1
GET/v1/postsList posts (paginated)
GET/v1/posts/:slugGet a single post by slug
GET/v1/posts/slugsGet all slugs for static generation

Pagination

Paginate or iterate - your choice

Use posts.list() for page-by-page control, posts.all() to fetch everything at once, or the async iterator to stream through thousands of posts without manual pagination.

  • posts.list() - paginated, with full pagination metadata
  • posts.all() - auto-paginated, returns every post
  • posts.iter() - async iterator, memory-efficient for large sets
  • posts.slugs() - all slugs for generateStaticParams
  • Filter by category, tag, or sort order on any method
pagination.ts
// Paginated list
const { data } = await nf.posts.list({
  limit: 12, page: 2, sort: "newest",
})

// Fetch all at once
const { data: all } = await nf.posts.all()

// Async iterator (memory-efficient)
for await (const post of nf.posts.iter()) {
  console.log(post.title)
}

// All slugs for generateStaticParams
const slugs = await nf.posts.slugs()

Ready to integrate?

Sign up for free to get your API key and start pulling content into your frontend in minutes.