takeUforward Stats API
DSA progress analytics for takeUforward profiles, solved-problem breakdowns by difficulty, subject-wise topic analysis, and daily activity heatmaps.
Every canonical endpoint shares one response envelope across all platforms, so you can swap providers without rewriting your client. Legacy aliases stay available and are clearly marked.
Make your first request
Send a GET request to any handle. Replace striver with the username you want to inspect — no API key required.
# Fetch a takeUforward profile
curl /striver/profile
Prefer a browser? Try the live playground, open /striver/profile for raw JSON, or explore every route interactively in the OpenAPI explorer.
Response envelope
Successful responses follow one consistent shape. The data object carries the endpoint-specific payload while the outer fields stay identical everywhere.
{
"status": "success",
"platform": "tuf",
"username": "striver",
"cached": false,
"data": { ... }
}
Canonical endpoints
The canonical surface — build against these. Click any endpoint to see its path parameters and an example response.
| Name | Type | Description | |
|---|---|---|---|
username | string | required | The takeUforward username to look up. |
{
"status": "success",
"platform": "tuf",
"username": "striver",
"cached": false,
"data": {
"totalSolved": 372,
"totalActiveDays": 214,
"totalContests": 0,
"currentRating": null,
"maxRating": null,
"rank": null,
"badgesCount": 0
}
}| Name | Type | Description | |
|---|---|---|---|
username | string | required | The takeUforward username to look up. |
{
"status": "success",
"platform": "tuf",
"username": "striver",
"cached": false,
"data": {
"displayName": "Raj Vikramaditya",
"username": "striver",
"avatar": "https://...",
"country": null,
"countryFlag": null,
"institution": "takeUforward",
"company": null,
"bio": null,
"websites": [
"https://takeuforward.org"
],
"social": {
"github": null,
"twitter": null,
"linkedin": null
},
"verified": false
}
}| Name | Type | Description | |
|---|---|---|---|
username | string | required | The takeUforward username to look up. |
{
"status": "success",
"platform": "tuf",
"username": "striver",
"cached": false,
"data": {
"totalSolved": 372,
"totalQuestions": 455,
"acceptanceRate": null,
"byDifficulty": {
"easy": 131,
"medium": 178,
"hard": 63
},
"topicAnalysis": [
{
"topic": "Arrays",
"count": 53
},
{
"topic": "Dynamic Programming",
"count": 41
},
{
"topic": "Binary Trees",
"count": 39
}
]
}
}| Name | Type | Description | |
|---|---|---|---|
username | string | required | The takeUforward username to look up. |
{
"status": "success",
"platform": "tuf",
"username": "striver",
"cached": false,
"data": {
"count": 0,
"rating": null,
"maxRating": null,
"rank": null,
"globalRanking": null,
"topPercentage": null,
"history": []
}
}| Name | Type | Description | |
|---|---|---|---|
username | string | required | The takeUforward username to look up. |
{
"status": "success",
"platform": "tuf",
"username": "striver",
"cached": false,
"data": {
"current": null,
"max": null,
"history": []
}
}| Name | Type | Description | |
|---|---|---|---|
username | string | required | The takeUforward username to look up. |
{
"status": "success",
"platform": "tuf",
"username": "striver",
"cached": false,
"data": {
"totalSubmissions": 861,
"totalActiveDays": 214,
"currentStreak": 6,
"longestStreak": 47,
"maxDailySubmissions": 14,
"firstActiveDate": "2023-02-11",
"lastActiveDate": "2026-06-28",
"dailyContributions": [
{
"date": "2023-02-11",
"count": 3,
"level": 1
}
],
"yearlyContributions": [
{
"year": 2025,
"totalSubmissions": 402,
"activeDays": 118
}
]
}
}| Name | Type | Description | |
|---|---|---|---|
username | string | required | The takeUforward username to look up. |
{
"status": "success",
"platform": "tuf",
"username": "striver",
"cached": false,
"data": {
"count": 0,
"active": null,
"list": []
}
}Legacy compatibility
Kept working for existing integrations. Prefer the canonical routes above for anything new.
No legacy aliases — every path already uses the canonical route files.