Blog on your site

Show the posts you write in Lahuta on your own website, filter them by keyword, or use the RSS feed.

Use these endpoints when you write your blog in Lahuta but want the posts to appear on your own website too. You write, schedule and publish in the dashboard. Your site reads the published posts and renders them in its own design.

You want toUse
Show a list of postsGET /v1/blog/posts
Show posts with one keywordGET /v1/blog/posts?tag=...
Show one postGET /v1/blog/posts/{slug}
Offer a feed for readers or other toolshttps://api.lahuta.org/blog/<your-org>/feed.xml

Only live posts are returned: published, and past their publish time. A scheduled post appears on its own once its time comes. Drafts never appear.

List posts

GET /v1/blog/posts returns your posts, newest first, 25 at a time. See Pagination.

curl "https://api.lahuta.org/v1/blog/posts?limit=10" \
  -H "X-Api-Key: $LAHUTA_API_KEY"
{
  "items": [
    {
      "slug": "choosing-your-first-glaze",
      "title": "Choosing your first glaze",
      "excerpt": "Gloss, satin or matte? What we tell every beginner before their first firing.",
      "keywords": ["Glazing", "Beginners"],
      "cover": {
        "id": "0197b0a8-1e4c-7d93-8a2f-5c6b3e9d1a04",
        "type": "image",
        "url": "https://media.lahuta.io/images/0197a3c2-5b1e-7d40-9f2a-3c8e1b6d4f70/0197b0a8-1e4c-7d93-8a2f-5c6b3e9d1a04.jpg",
        "alt": "Test tiles in six glazes",
        "width": 1600,
        "height": 1067,
        "thumbnail": null
      },
      "authors": [{ "name": "Lena Park", "image": null }],
      "publishedAt": "2026-09-12T15:00:00.000Z"
    }
  ],
  "total": 23,
  "limit": 10,
  "offset": 0
}

Filter by keyword

Add tag to get only posts with that keyword. It matches one of the post's Keywords from the blog editor exactly, including upper and lower case:

curl "https://api.lahuta.org/v1/blog/posts?tag=Glazing" \
  -H "X-Api-Key: $LAHUTA_API_KEY"

total then counts only the matching posts.

Show one post

GET /v1/blog/posts/{slug} returns the post with its full HTML and what the page's <head> needs.

curl https://api.lahuta.org/v1/blog/posts/choosing-your-first-glaze \
  -H "X-Api-Key: $LAHUTA_API_KEY"
{
  "slug": "choosing-your-first-glaze",
  "title": "Choosing your first glaze",
  "excerpt": "Gloss, satin or matte? What we tell every beginner before their first firing.",
  "keywords": ["Glazing", "Beginners"],
  "authors": [{ "name": "Lena Park", "image": null }],
  "publishedAt": "2026-09-12T15:00:00.000Z",
  "html": "<p>Every beginner asks the same question at the glaze shelf...</p>",
  "meta": {
    "title": "Choosing your first glaze",
    "description": "Gloss, satin or matte? What we tell every beginner before their first firing.",
    "image": "https://media.lahuta.io/images/0197a3c2-5b1e-7d40-9f2a-3c8e1b6d4f70/0197b0a8-1e4c-7d93-8a2f-5c6b3e9d1a04.jpg",
    "canonical": "https://lahuta.org/northside-pottery/blog/choosing-your-first-glaze"
  }
}

The response also has cover, like the list.

  • html is the post body. Render it as HTML inside your article layout.
  • meta has what your page's <head> needs: the post title, the meta description, and the cover image to use as the share image. When a post has no meta description, you get its excerpt. Use them for your <title>, meta description and Open Graph tags.
  • meta.canonical is the post's address on Lahuta. Search engines should only index one copy of a post. If your website is the main home for your blog, point your page's canonical link at your own URL. If the Lahuta page stays the main one, use meta.canonical.

A slug that doesn't exist, or a post that isn't live yet, returns 404 with {"_tag":"NotFound"}. Show your own "post not found" page.

Use the RSS feed

Every organization with a blog has a public RSS feed. It needs no API key, so you can link it from your site or give it to a newsletter tool:

https://api.lahuta.org/blog/northside-pottery/feed.xml

The feed lists your live posts with their title, excerpt and publish date. Each item links to the post on Lahuta. There's also a sitemap of your posts at https://api.lahuta.org/blog/<your-org>/sitemap.xml.

Edge cases

  • Caching. Posts don't change often. Caching the list and each post for a few minutes keeps your site fast. Your cache decides how soon a newly published post shows up.
  • Images. cover.url points at an image Lahuta serves. You can use it as is, without copying it to your own server.
  • Keywords with spaces need URL encoding: ?tag=Kiln%20firing.

Every field is described under Blog in the API reference.

On this page