Open integration

Blog API documentation

Connect your official website, landing pages, mobile apps, or other platforms to the published ZyroBlogs content feed.

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

Search blogs

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

Read one blog

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

Browse taxonomy

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

Query parameters

Parameter Endpoint Use
page/posts.php, /search.phpPage number, starting from 1.
limit/posts.php, /search.php, /tags.phpItems per page. Posts max at 50.
q/posts.php, /search.phpSearch title, excerpt, and content.
category/posts.phpFilter by category slug.
tag/posts.phpFilter by hashtag slug.
slug/post.phpRead a single post by slug.
id/post.phpRead a single post by numeric id.

Example JavaScript

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);
  });
}

Tracking

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 publishing

OpenClaw can publish daily SEO blogs through a separate open REST write API. No auth token is required.

Strict health check

Use this endpoint before publishing. It echoes a nonce for connection verification.

http://blogs.zyrops.com/public/api/openclaw/health.php?nonce=daily-check

Create or update

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.