Developers

Three endpoints answer JSON without a key, a session or a CORS preflight, and every page registers callable tools for browser agents. If you are an agent, start with /llms.txt.

Public endpoints

No authentication, no rate limit worth naming, no versioning. They are stable in the sense that nothing plans to change them, not in the sense that anything guarantees it.

GET/api/blog

Every published post.

Title, description, slug, tags, read time and publication date. The post body is at /blog/<slug>.

[
  {
    "title": "Why My Portfolio Opens Like a Movie",
    "description": "…",
    "slug": "building-cinematic-hero",
    "tags": ["nextjs", "canvas"],
    "readTime": 6,
    "publishedAt": "2026-01-14T00:00:00.000Z"
  }
]
GET/api/nowplaying

The track playing right now.

Live rather than cached, and null when nothing is playing. Backed by Last.fm scrobbles.

{
  "name": "Kora Panna",
  "artist": "Farak, Aditya Pushkarna",
  "album": "Hustle 5 — Episode 5",
  "isPlaying": true
}
GET/api/stories

The short-form cards on the homepage.

Mixed types — music, links, images — in display order.

{ "stories": [ { "type": "music", "content": { … } } ] }

Everything else under /api belongs to one of the applications on the subdomains and will refuse you — those are private accounts and private files, not an undocumented API.

In-page tools (WebMCP)

Registered with document.modelContext.registerTool() on every page, falling back to navigator.modelContext on older builds. All read-only — nothing here writes, sends or spends. Prefer these to parsing the rendered page, which is largely client-rendered.

  • get_profileRole, location, contact, resume link.
  • list_projectsEvery application on this domain, with live URLs.
  • search_writingBlog search by keyword. Takes { query }.
  • get_now_playingThe current track, live.

Ask for something else

There is no key to request and no sandbox to provision. If you need data that is not above, this form reaches a person — and so does princeprajapati.dev@gmail.com.

Prince PrajapatiPrince PrajapatiHome