Generate beautiful isometric contribution graphs with themes, caching and customization
GET /api/graph
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
username |
string | Required | - | GitHub username |
year / y |
number|string | Optional | none (365 days) |
Year to fetch contributions for (e.g., 2025) or
none for 365-day rolling window ending today. Defaults
to 365-day history (supports year or y)
|
width |
number | Optional | 1000 | Image width in pixels |
height |
number | Optional | 600 | Image height in pixels |
stats |
boolean | Optional | false | Include statistics overlay (use stats=true) |
credit |
boolean | Optional | false | Show username credit (use credit=true) |
theme |
string | Optional | github |
Visual theme: github, dark,
light, neon, minimal,
ocean
|
Build your custom graph URL with live preview:
Preview different themes with the same data:
| Theme | Preview | URL |
|---|---|---|
| GitHub |
|
/api/graph?username=spectrewolf8&theme=github
|
| Dark |
|
/api/graph?username=spectrewolf8&theme=dark |
| Light |
|
/api/graph?username=spectrewolf8&theme=light |
| Neon |
|
/api/graph?username=spectrewolf8&theme=neon |
| Minimal |
|
/api/graph?username=spectrewolf8&theme=minimal
|
| Ocean |
|
/api/graph?username=spectrewolf8&theme=ocean |
|
(Default) 365-Day Rolling Window |
|
/api/graph?username=spectrewolf8&year=none |
/api/graph?username=spectrewolf8
By default, shows the last 365 days of contributions ending today
/api/graph?username=spectrewolf8&year=2025
/api/graph?username=spectrewolf8&year=none
/api/graph?username=spectrewolf8&stats=true
/api/graph?username=spectrewolf8&width=1920&height=1080
/api/graph?username=spectrewolf8&theme=dark&stats=true
/api/graph?username=spectrewolf8&year=2025&width=1200&height=700&stats=true&credit=true&theme=neon
Images are cached per username and parameters combination for 24 hours.
Multiple requests with the same parameters will be served from cache
instantly. Check the X-Cache header: HIT for
cached, MISS for newly generated.
Content-Type: image/pngCache-Control: public, max-age=86400 (24 hours)X-Cache: HIT | MISS (cache status)Errors return JSON with an error message:
{
"error": "Error message here"
}
Try different themes and configurations:
Usage statistics for the current month:
Explore the project or report issues on GitHub:
github.com/Spectrewolf8/isometric-contributions