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
- Markdown:
Accept: text/markdownreturnstext/markdownwithVary: Accept. - Sitemap: /sitemap-index.xml
- Site guide: /llms.txt (includes when-to-use for agents)
- RSS: /rss.xml
CLI
Prefer a CLI? npx -y anuran-dev posts --limit 5. Install:
npm install -g anuran-dev. Details in
/developers and on
npm.