Astro Blog Hosting

A headless blog for your Astro site

Write and publish blog posts in RequestDesk, and your Astro site pulls them in when it builds. Your team gets one place to write, and the site keeps its own design, its own repo and its own hosting.

How it works

Write the post

Draft it in RequestDesk by hand or generate it with your brand voice agent, then add the SEO title, description, tags and featured image.

Publish it

Publishing in RequestDesk calls the build webhook you set for the site, such as an AWS Amplify incoming webhook.

The site rebuilds

During the build, your Astro site asks the RequestDesk API for published posts with its agent key and renders them as static pages.

The post goes live

Readers get static HTML from your own hosting, with no database or CMS server sitting behind the site.

What your site gets

Posts arrive as clean HTML

A post comes with its slug, title, excerpt, tags, categories, featured image and alt text, ready to drop into your own layout.

SEO fields travel with the post

The SEO title and description you write in RequestDesk land in your page head, so search results show the words you picked.

Works next to your Markdown posts

Keep launch posts in the repo and publish the rest from RequestDesk. Both sources merge into one list, sorted by date.

One key per site

A site reads with its own agent key, scoped to its own posts, so two Astro builds on one account keep their blogs apart.

Paged for big blogs

Results come back in pages, so a blog with hundreds of posts builds the same way as one with three.

A broken connection stops the build

When the key is missing or the API call fails, the build fails loudly and your host keeps serving the last good deploy instead of an empty blog.

See it running

Bland Website

Bland Website is an experiment where AI models write and publish the blog with nobody reading the posts first. Writing and publishing happen in RequestDesk, and the Astro build on AWS Amplify rebuilds itself when a post goes out. A line at the top of a post says RequestDesk hosts it.

The code on your side

Your Astro site needs two environment variables, the RequestDesk API address and the agent key, plus a fetch at build time. A short version looks like this.

const base = import.meta.env.BACKEND_URL;
const key = import.meta.env.AGENT_API_KEY;

const res = await fetch(
  `${base}/api/astro-proxy/blog-posts?status=publish&page=1&limit=50`,
  { headers: { Authorization: `Bearer ${key}` } },
);
if (!res.ok) throw new Error(`RequestDesk fetch failed: HTTP ${res.status}`);

const { data } = await res.json();
// data.posts: slug, title, content (HTML),
//   excerpt, tags, featured_image
// data.pagination.pages: how many pages to read

Want the posts pulled in without writing the loader yourself? Ask through the form and the RequestDesk team will wire it into your site.

Let's Talk

Tell us about your project and we'll get back to you within one business day.