
Hey all!
Shipped a small drop-in for public Cursor profiles (cursor.com/@handle). GitHub-style year heatmap, plus optional dashboard / tokens / agents / models views.
Cursor doesn’t publish a JSON API for this, so I parse the public profile page and expose it as a CORS API. Profiles have to be public.
Live: https://cursor-profile.stredan.sk
npm: npm i react-cursor-calendar
Source: GitHub - dadoedo/react-cursor-calendar: Activity calendar for public Cursor profiles · GitHub
import { CursorCalendar } from "react-cursor-calendar";
import "react-cursor-calendar/tooltips.css";
<CursorCalendar handle="dadoeodo" />
Or skip the client fetch:
GET https://cursor-profile.stredan.sk/v1/:handle
Cached for an hour. If Cursor changes the public profile payload, the parser breaks. Unofficial, MIT.
Short writeup: