Back to stories

REST API

A public, read-only JSON API for the Madeira Friends Blog. No authentication or API key required.

Base URL

https://blog.madeirafriends.org/api/v1

List all blogs

Returns every blog post with its unique ID, title, date and summary.

GET/api/v1/blogs

Example

curl https://blog.madeirafriends.org/api/v1/blogs

Response

{
  "count": 69,
  "blogs": [
    {
      "id": "madeira-friends-tech-lab",
      "title": "Madeira Friends Tech Lab",
      "date": "2025-05-23",
      "summary": "Madeira Friends is launching the Tech Lab this September 2025...",
      "image": "https://blog.madeirafriends.org/images/posts/madeira-friends-tech-lab/1.jpg"
    }
  ]
}
FieldDescription
idUnique blog identifier (use it to fetch a single blog)
titleBlog title
datePublication date (YYYY-MM-DD)
summaryShort blog summary
imageAbsolute URL of the blog's first image (logo fallback if none)

Get a single blog

Returns the full text of one blog plus links to its images.

GET/api/v1/blogs/{id}

Example

curl https://blog.madeirafriends.org/api/v1/blogs/madeira-friends-tech-lab

Response

{
  "id": "madeira-friends-tech-lab",
  "title": "Madeira Friends Tech Lab",
  "date": "2025-05-23",
  "text": "## Mentorship & AI-Powered Software Incubation...",
  "image": "https://blog.madeirafriends.org/images/posts/madeira-friends-tech-lab/1.jpg",
  "images": [
    "https://blog.madeirafriends.org/images/posts/madeira-friends-tech-lab/1.jpg",
    "https://blog.madeirafriends.org/images/posts/madeira-friends-tech-lab/2.jpg"
  ]
}
FieldDescription
idUnique blog identifier
titleBlog title
datePublication date (YYYY-MM-DD)
textFull blog body (Markdown)
imageAbsolute URL of the first image (or null)
imagesArray of absolute URLs for all images in the blog

Returns 404 { "error": "Blog not found" } for an unknown ID.