List blogs
Returns published posts with title, excerpt, author, category, tags, media URLs, reading time, and links.
http://blogs.zyrops.com/public/api/posts.php?page=1&limit=10
Open integration
Connect your official website, landing pages, mobile apps, or other platforms to the published ZyroBlogs content feed.
Returns published posts with title, excerpt, author, category, tags, media URLs, reading time, and links.
http://blogs.zyrops.com/public/api/posts.php?page=1&limit=10
Searches across title, excerpt, and article content. You can combine search with category or tag filters.
http://blogs.zyrops.com/public/api/search.php?q=seo&limit=6
Returns full article HTML, SEO metadata, media URLs, author, category, tags, and canonical links.
http://blogs.zyrops.com/public/api/post.php?slug=your-blog-slug
Use categories and tags to build filters on another website.
http://blogs.zyrops.com/public/api/categories.php
http://blogs.zyrops.com/public/api/tags.php?limit=50
| Parameter | Endpoint | Use |
|---|---|---|
page | /posts.php, /search.php | Page number, starting from 1. |
limit | /posts.php, /search.php, /tags.php | Items per page. Posts max at 50. |
q | /posts.php, /search.php | Search title, excerpt, and content. |
category | /posts.php | Filter by category slug. |
tag | /posts.php | Filter by hashtag slug. |
slug | /post.php | Read a single post by slug. |
id | /post.php | Read a single post by numeric id. |
const response = await fetch('http://blogs.zyrops.com/public/api/posts.php?limit=3');
const payload = await response.json();
if (payload.ok) {
payload.data.forEach((post) => {
console.log(post.title, post.url, post.media.thumbnail_url);
});
}
Every successful API list, search, taxonomy, documentation, and post-read request is recorded in the existing page-view analytics table. Post reads include the post id, so API readership appears alongside normal article analytics.
OpenClaw can publish daily SEO blogs through a separate open REST write API. No auth token is required.
Use this endpoint before publishing. It echoes a nonce for connection verification.
http://blogs.zyrops.com/public/api/openclaw/health.php?nonce=daily-check
Send one complete SEO article. Use external_id or the Idempotency-Key header so the same daily run updates instead of duplicating.
POST http://blogs.zyrops.com/public/api/openclaw/posts.php
const response = await fetch('http://blogs.zyrops.com/public/api/openclaw/posts.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Idempotency-Key': 'zyroblogs-2026-04-30'
},
body: JSON.stringify({
external_id: 'zyroblogs-2026-04-30',
title: 'How Daily Service Blogs Build Search Trust',
excerpt: 'A practical guide to publishing useful service content every day without lowering editorial quality.',
content_html: '<h2>Why daily publishing works</h2><p>Write at least 300 characters of useful content...</p>',
category: 'SEO',
tags: ['seo', 'content marketing', 'automation'],
meta_title: 'Daily SEO Blog Publishing Guide',
meta_description: 'Learn how daily automated blog publishing can support search visibility while keeping quality checks, structure, tags, and metadata consistent.',
thumbnail_image: 'public/uploads/images/openclaw-writing-workspace-unsplash.jpg',
banner_image: 'public/uploads/images/openclaw-writing-workspace-unsplash.jpg',
status: 'published'
})
});
For images, use public/uploads/images/file.jpg in thumbnail_image and banner_image. Inside content_html, use inline image paths such as /public/uploads/images/file.jpg with useful alt text and optional captions.
The write API rejects weak posts before saving: title, content length, meta description, and at least two focused tags are required. Headings, excerpt, and media improve the returned quality score.