Home Blog Projects Papers Vibe About Other blogs CV

Docs

Public API and integration docs for anuran.dev by Anuran Roy.

anuran.dev is a personal site by Anuran Roy. Its API is intentionally tiny, public, and read-only. Base URL: https://anuran.dev. Spec: /openapi.json (OpenAPI 3.1). Catalog: /.well-known/api-catalog. Portal: /developers.

Authentication

No authentication. No API keys, no OAuth, no login. All endpoints are GET and public. Send no secrets. Rate limiting is CDN fair-use only.

Endpoints

GET /api/v1/health

OperationId: getHealth. Liveness check.

curl -s https://anuran.dev/api/v1/health
# {"status":"ok","site":"https://anuran.dev","version":"1.0.0"}

GET /api/v1/posts

OperationId: listPosts. List published blog posts by Anuran Roy, newest first. Query: limit (1–50, default 10), tag (optional filter).

curl -s "https://anuran.dev/api/v1/posts?limit=3"
curl -s "https://anuran.dev/api/v1/posts?tag=python&limit=5"

GET /api/v1/projects

OperationId: listProjects. List open-source projects.

curl -s https://anuran.dev/api/v1/projects

GET /api/v1/papers

OperationId: listPapers. List research papers.

curl -s https://anuran.dev/api/v1/papers

GET /api/v1/meta

OperationId: getMeta. Site identity, links, and resource index.

curl -s https://anuran.dev/api/v1/meta

Example requests

# JavaScript (fetch)
const res = await fetch("https://anuran.dev/api/v1/posts?limit=5");
const { data } = await res.json();

# Python (urllib, no deps)
import json, urllib.request
with urllib.request.urlopen("https://anuran.dev/api/v1/projects") as r:
    print(json.load(r)["data"][0]["title"])

Errors (JSON, not HTML)

All /api/* errors return application/problem+json with code, message, hint, and status. Unknown /api/* paths return 404 JSON, never HTML.

{
  "type": "about:blank",
  "title": "Invalid limit",
  "status": 400,
  "code": "invalid_limit",
  "message": "limit must be an integer between 1 and 50.",
  "hint": "Try /api/v1/posts?limit=5. See /docs and /openapi.json."
}

Markdown, sitemap, and llms.txt

CLI

Prefer a CLI? npx -y anuran-dev posts --limit 5. Install: npm install -g anuran-dev. Details in /developers and on npm.