Skip to content

Product · Delivery API

One request from your frontend

The delivery API is read-only REST. A site API key decides which site you read, published content comes back as clean JSON, and drafts never leave through it.

Part of our guide Connect a headless CMS to any frontend.

GET /delivery/v1/entries/recipe?limit=10&sort=-publishedAt&depth=1
Authorization: Bearer cms_live_…

{
  "data": [
    {
      "id": "9f8cfa9c-…",
      "slug": "overnight-bagels",
      "type": "recipe",
      "publishedAt": "2026-10-29T19:10:08Z",
      "data": {
        "title": "Overnight bagels",
        "cover": { "url": "…", "width": 1600, "height": 1067, "alt": "…" }
      }
    }
  ],
  "nextCursor": null
}

01Any framework

Next.js, Astro, Nuxt, SvelteKit, a mobile app or a static site generator: it is one GET with a bearer key. Allowed browser origins are set per site.

02Content that's ready to render

Media fields resolve to URL, size and alt text, relationships resolve up to the depth you ask for, and blocks come back inline in order.

Questions

Is there a GraphQL API?

Not today. The delivery API is REST; GraphQL is on the longer-term list.

Can a leaked key read drafts?

A live key can't: asking for drafts with a live key is refused. Keep preview keys on the server.

Back to the guide: Connect a headless CMS to any frontend

Keep exploring

Put your agent at the helm

Create a free account in a minute and connect your AI agent.

Get started