Public Content API
A small, open, read-only API over the content this site already publishes. Built for AI agents, crawlers and integrations.
Overview
Base URL: https://nexoluna.com/api/public
No authentication, no API key, no rate-limit registration. All endpoints are GET only and return JSON with Access-Control-Allow-Origin: *, so they can be called from any origin.
The API exposes exactly what the website already shows publicly: published blog posts and the page index. It contains no customer data, no personal data and no administrative records.
Discovery
This API is advertised per RFC 9727. The catalog lists the OpenAPI description, these docs, and the status endpoint:
curl -sS https://nexoluna.com/.well-known/api-catalogThe homepage also carries a Link response header (RFC 8288) pointing to the catalog, the OpenAPI description, this page and /llms.txt.
Endpoints
| Method | Path | Description | Parameters |
|---|---|---|---|
| GET | /api/public/posts | Published blog posts, newest first. | limit (1-100, default 50) |
| GET | /api/public/posts/{slug} | One published post, including its HTML body. 404 if not found. | slug (path) |
| GET | /api/public/pages | Machine-readable index of public site pages with titles and descriptions. | none |
| GET | /api/public/health | Service status. | none |
| GET | /api/public/openapi | OpenAPI 3.1 description of this API. | none |
Examples
# Latest 10 posts
curl -sS "https://nexoluna.com/api/public/posts?limit=10"
# One post with its HTML body
curl -sS "https://nexoluna.com/api/public/posts/yeni-ozellik-whatsapp-business-entegrasyonu"
# Site page index
curl -sS "https://nexoluna.com/api/public/pages"
# OpenAPI 3.1 description
curl -sS -H "Accept: application/vnd.oai.openapi+json;version=3.1" "https://nexoluna.com/api/public/openapi"Usage and limits
Responses are cached for one hour (Cache-Control: public, max-age=3600). Please respect that when polling. There is no hard rate limit today, but abusive traffic may be blocked at the edge.
Content remains copyright NEXOLUNA. Our content-usage preferences are declared in /robots.txt via Content-Signal: search and AI answers are welcome with attribution, model training is not.
Questions or a use case that needs more: [email protected].